Skip to content

docs(readme): correct API drift against the current engine surface - #423

Merged
Exoridus merged 1 commit into
mainfrom
docs/readme-api-drift
Jul 27, 2026
Merged

docs(readme): correct API drift against the current engine surface#423
Exoridus merged 1 commit into
mainfrom
docs/readme-api-drift

Conversation

@Exoridus

Copy link
Copy Markdown
Owner

The README advertised an API that no longer exists. Every claim below was verified against the current source, not assumed.

Fixed

  • setScene does not exist. Navigation is change/restore/preload/unload plus pause/resume, and fade, slide and cross-fade transitions all ship as built-ins (FadeSceneTransition, SlideSceneTransition, CrossFadeSceneTransition).
  • The Quickstart did not run. Scene.init receives the activation data, not a Loader, and Application.start takes a registered scene constructorapp.start(new HelloScene()) would have thrown UnregisteredSceneError. The corrected snippet was typechecked as a real example file against the package types.
  • Assets bullet named defineAssetManifest / loadBundle; both were removed by the descriptor redesign (feat(resources): redesign asset descriptors and type resolution #420). The catalog API is Assets.from / Asset.type / defineAsset.
  • FocusManager does keyboard traversal only — the claimed gamepad navigation does not exist.
  • BiquadEffect ships in core audio, not in @codexo/exojs-audio-fx.
  • "ESM-only" contradicted the published IIFE CDN bundle (dist/exo.iife.js, global Exo, listed in files).

Roadmap section

Dropped five entries that already shipped: physics joints/sleeping/CCD, the W3C blend mode suite, slide and cross-fade transitions, the Aseprite and LDtk adapters (listed as shipped packages 130 lines above in the same file), and the IIFE bundle. Narrowed "tween sequencer and coroutine helpers" to just the coroutine helpers — TweenSequencer ships, coroutines do not. Added platform adapters (DOM/Worker/headless) as the next directional item.

Verified still-accurate and left alone: screen-level post-processing, spline path following, and the localization primitive are genuinely unimplemented.

Verification

pnpm typecheck:examples (Quickstart snippet, as a real example file) and pnpm format:check — both clean.

The scene bullet still advertised setScene, which no longer exists; the
navigation surface is change/restore/preload/unload plus pause/resume,
with fade, slide and cross-fade transitions shipping as built-ins.

The Quickstart did not run: Scene.init receives the activation data, not
a Loader, and Application.start takes a registered scene constructor, so
the snippet needed a scenes option and start(HelloScene) instead of an
instance. The corrected snippet was typechecked as an example file
against the real package types.

Further corrections:
- assets bullet named defineAssetManifest/loadBundle, both removed by the
  descriptor redesign; the catalog API is Assets.from/Asset.type/defineAsset
- FocusManager does keyboard traversal only, no gamepad navigation
- BiquadEffect ships in core audio, not in exojs-audio-fx
- the ESM-only claim contradicted the published IIFE CDN bundle

Drops five roadmap entries that already shipped (physics joints/sleeping/
CCD, W3C blend modes, slide and cross-fade transitions, the Aseprite and
LDtk adapters listed as packages in the same file, the IIFE bundle),
narrows the tween entry to the coroutine helpers that are still missing,
and adds the platform adapter work as the next directional item.
@Exoridus
Exoridus enabled auto-merge (squash) July 27, 2026 07:01
@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@Exoridus
Exoridus merged commit d68f245 into main Jul 27, 2026
16 checks passed
@Exoridus
Exoridus deleted the docs/readme-api-drift branch July 27, 2026 07:03
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