Skip to content

Add standalone runtime builds and separate editor modules - #395

Merged
edisonlee0212 merged 1 commit into
devfrom
codex/runtime-build-manager
Sep 15, 2026
Merged

edisonlee0212 merged 1 commit into
devfrom
codex/runtime-build-manager

Conversation

@edisonlee0212

@edisonlee0212 edisonlee0212 commented Sep 14, 2026 •

Copy link
Copy Markdown
Owner

Adds a project Build Manager that exports a portable Windows x64 application from matching prebuilt binaries. The exported application starts the selected scene without the editor, and the complete output directory can be moved for distribution.

Changes

  • Add project-scoped build settings, an independent startup-scene selection, a native output-folder picker, configurable startup window modes and console visibility, and automatic settings saves. Validate stopped playback, saved content, a main camera, package compatibility, and an empty destination before export.
  • Export all project assets and the loaded runtime packages with their dependencies. Preserve PDBs for RelWithDebInfo and keep runtime logs, caches, and user data relative to the distribution. Support camera resizing, Alt+Enter, primary-monitor startup, windowed fallback, and fatal-error dialogs.
  • Separate SDK and package editor code/resources into Editor/include and Editor/src, with a dedicated editor SDK and eight companion package DLLs. Runtime classes retain runtime behavior and serialized data; inspectors, previews, gizmos, and editor state move into editor modules.
  • Coordinate companion registration, identity validation, reload, rollback, and unloading with runtime package lifetime. Enforce runtime/editor include and link boundaries through evaluated CMake graphs, source checks, and negative test fixtures, including shared headers resolved through different runtime include paths.
  • Fix EcoSysLab visualization allocation for loaded skeletons and a concurrent resolved-asset-reference cache write that caused growth crashes.

Removing the old runtime GUI hooks is an intentional source API change. Existing project and asset formats are preserved. The extension workflow and validation record are documented in docs/editor-extension-workflow.md and docs/editor-runtime-separation.md. Android remains a future target; this version exports Windows x64 only.

Validation

  • RelWithDebInfo: 335 selected editor/native tests, 15 EcoSysLab tests, 21 player tests, and 42 Python/native-exporter tests passed.
  • Both compositions compiled representative runtime headers without PCH. Debug and RelWithDebInfo dependency graphs passed for both compositions.
  • All ten demos passed authoring, export, Unicode relocation, and 60-frame runtime checks; captures were reviewed. EcoSysLab completed its eight-year growth animation and mesh generation. Standalone exporter/runtime-host integration also passed.
  • Installed all applications and the matching runtime template. Verified 448 payload hashes, matching runtime identities, runtime DLL imports, eight editor companions and PDBs, and absence of editor resources and diagnostic runtime dependencies from the player payload.
  • Formatting passed for all 987 C++ source/header files. The squash preserved the validated source tree exactly.

Windows and Linux Debug/Release CI passed before the final cleanup. The updated single-commit head requires a fresh CI result.

Remaining validation limits

Manual Build Manager/folder-picker and interactive editor checks remain outstanding. Local native Debug compilation, PhysX, and the full repository test suite were not run; the existing SSR raw-YAML fixture exclusion is documented. Demo runs used graphics validation disabled. DigitalAgriculture and LSystem cover their existing starter scenes, not generated crops or trees; stochastic captures are functional smoke evidence rather than image-quality or performance benchmarks.

@edisonlee0212
edisonlee0212 marked this pull request as ready for review September 14, 2026 18:07
@edisonlee0212
edisonlee0212 force-pushed the codex/runtime-build-manager branch from b34d0b2 to e1a01d8 Compare September 15, 2026 01:56
@edisonlee0212
edisonlee0212 merged commit dfbc768 into dev Sep 15, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant