Skip to main content

ginter

Software Requirements Specification (SRS)


1. Introduction

1.1 Purpose

본 문서는 ginter 모듈의 소프트웨어 요구사항을 정의한다.

ginter는 Grap 엔진 아키텍처에서 이벤트 브릿지 레이어(Event Bridge Layer) 역할을 수행한다.

이 모듈은 ghost 시스템에서 생성되는 Native Event
gcore 이벤트 시스템에서 사용하는 Engine Event로 변환하고 전달한다.

ginter는 플랫폼 이벤트 시스템과 엔진 이벤트 시스템 사이의 인터페이스 계층이다.


1.2 Scope

ginter 모듈은 다음 기능을 제공한다.

  • Native Event → Engine Event 변환
  • 키코드 매핑
  • 마우스 이벤트 변환
  • 윈도우 이벤트 변환
  • gcore Event 생성
  • Event Pump를 통한 이벤트 전달

다음 기능은 본 모듈의 범위에 포함되지 않는다.

  • OS API 처리
  • Window 생성
  • Rendering
  • UI 처리
  • Application 로직

1.3 Definitions

TermDescription
Native Eventghost 시스템에서 제공하는 플랫폼 이벤트
Engine Eventgcore 이벤트 시스템에서 사용하는 이벤트
Event PumpNative Event를 읽어 Engine Event로 전달하는 구성 요소
Keycode Map플랫폼 키코드를 엔진 키코드로 변환하는 매핑

1.4 System Context

ginter는 Grap 엔진 입력 시스템에서 다음 위치에 존재한다.

Input Layer ↓ ghost
(Platform Event Collection)

↓ ginter
(Event Conversion + Event Pump)

↓ gcore
(Engine Event System / EventBus)


1.5 Internal Module Structure

ginter 모듈은 다음 두 하위 모듈로 구성된다.

ginter ├─ convert │ Native Event → Engine Event 변환 │ └─ pump Native Event 수집 및 EventBus 전달

각 모듈의 역할은 다음과 같다.

ModuleResponsibility
convertNative Event를 gcore Event로 변환
pumpWindow에서 Native Event를 읽어 EventBus로 전달

1.6 Event Flow

엔진의 입력 이벤트 처리 흐름은 다음과 같다.

ghost::Window

ghost::NativeEvent

ginter::EventPump

ginter::native_to_gcore_event

gcore::Event

gcore EventBus