Skip to main content

ged

1. Overview

ged 모듈은 에디터 기능을 제공하는 라이브러리이다.

이 모듈은 에디터 상태 관리, 사용자 입력 처리, 작업 실행 및 Undo / Redo 기능을 제공한다.

ged 모듈은 다음 구성요소로 이루어진다.

Editor EditorState Tool System Command System UndoStack UI System


2. Module Structure

ged/ ├─ editor/ │ ├─ editor.hpp │ ├─ editor.cpp │ └─ editor_state.hpp │ ├─ tools/ │ ├─ tool.hpp │ ├─ select_tool.hpp │ ├─ select_tool.cpp │ ├─ transform_tool.hpp │ └─ transform_tool.cpp │ ├─ command/ │ ├─ command.hpp │ ├─ undo_stack.hpp │ ├─ undo_stack.cpp │ ├─ select_command.hpp │ └─ transform_command.hpp │ ├─ ui/ │ ├─ ui_root.hpp │ ├─ dockspace.hpp │ └─ panels/ │ ├─ viewport_panel.hpp │ ├─ outliner_panel.hpp │ └─ properties_panel.hpp │ └─ tests/ └─ smoke.cpp


3. Core Components

Editor

에디터 시스템의 중심 객체이다.

관리 객체

EditorState UndoStack UiRoot Tool

또한 이벤트를 Tool로 전달한다.


EditorState

에디터 상태 데이터를 저장한다.

저장되는 데이터

selection active_object tool_mode


Tool System

사용자 입력을 처리한다.

구조

Tool │ ├─ SelectTool └─ TransformTool


Command System

작업 실행 및 Undo / Redo 기능을 제공한다.

구조

Command │ ├─ SelectCommand └─ TransformCommand

Command 실행 히스토리는 UndoStack이 관리한다.


UndoStack

Command 실행 히스토리를 관리한다.

주요 기능

push undo redo clear


UI System

에디터 UI 구조를 정의한다.

구성 요소

UiRoot Dockspace

패널

ViewportPanel OutlinerPanel PropertiesPanel


4. Module Dependency

모듈 의존 관계

editor_state │ ▼ command │ ▼ tools │ ▼ ui │ ▼ editor


5. Event Flow

이벤트 처리 흐름

gcore::Event │ ▼ Editor │ ▼ Active Tool │ ▼ Command │ ▼ UndoStack


6. Documentation Structure

ged 모듈 문서는 다음 구조로 구성된다.

Architecture SRS SDS API

각 문서는 다음 내용을 포함한다.

Architecture 시스템 구조 설명

SRS 기능 요구사항

SDS 설계 구조

API 공개 인터페이스