All docs
Engine Docs Synced doc Engine source of truth

Migration Notes

Extraction status, deferred cleanup work, and compatibility notes for the repo split.

Generated from slicecore/splitframe View source doc

Note: This page is generated from the slicecore/splitframe engine repository. Edit the source document there and let automation sync it into splitframe-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 in splitframe.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-relative data/ paths.
  • Downstream consumers can install splitframe as an external dependency via pip install. pyproject.toml is the single source of truth for dependencies.

Preferred Host Path

For native runtime work, the supported default downstream path is:

  1. construct EngineConfig
  2. create GameEngine
  3. 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 splitframe package 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.