Note: This page is generated from the
slicecore/splitframeengine repository. Edit the source document there and let automation sync it intosplitframe-io.
This repository was extracted from the legacy monorepo as the first dedicated home for the Splitframe engine.
Completed
- Preserved history for engine-owned source paths.
- Moved the engine runtime, native runtime sources, renderer bridge surface, script API boundary, examples, and engine-default data directories.
- Added standalone packaging metadata and a minimal CI verification lane.
- Added an explicit import-boundary audit for engine package separation.
- Renamed the native module binaries and symbols onto the Splitframe-native surface.
Completed Since Extraction
- Engine-owned tests now live in this repository (runtime profiles, cook pipeline, cooked-content integration, native tooling, headless engine, simple-game example, script plugins, backend selection, and more).
- Engine and native docs have been rewritten around the preferred
GameEngine-owned host path instead of the legacy combined layout. - Engine-owned UI themes are packaged under
splitframe/resources/themes/and content validation lives insplitframe.content.validation, so non-editable installs no longer depend on checkout-relative data for those surfaces.
Completed Post-Extraction
- Engine-owned data families are packaged under
splitframe/resources/or loaded exclusively from cooked content. Non-editable installs no longer depend on checkout-relativedata/paths. - Downstream consumers can install
splitframeas an external dependency viapip install.pyproject.tomlis the single source of truth for dependencies.
Preferred Host Path
For native runtime work, the supported default downstream path is:
- construct
EngineConfig - create
GameEngine - let the engine own backend selection, native startup-manifest construction, and runtime-profile application
Direct splitframe_native_renderer construction remains supported as a
lower-level contract for tooling and smoke coverage but is not the
preferred application entry point.
Public API Direction
- The root
splitframepackage remains the compatibility import surface. - New projects should prefer
splitframe.public. - The broad top-level export table in
splitframe.__init__will be reduced only after downstream consumers migrate onto narrower imports.
Source Baseline
The extraction was taken from the committed tip of the local
refactor/engine-renderer-abstraction branch. Uncommitted local changes in the
legacy worktree were not copied into this repository.