Repository navigation
Conversation
Owner decision 2026-10-12: ThreeNative owns one C++ engine (renderer plus internal shader IR) behind the Three.js API, opt-in per game, with the legacy host as the default until it proves itself. - CHARTER.md: the closed list bans an authored IR; "a second renderer" and "the runtime is a host, not a renderer" admit the one opt-in engine; amendment logged in CHARTER-HISTORY.md. - Root AGENTS.md rule 5 names the exception; CLAUDE.md regenerated. - NATIVE-ENGINE-DECISION.md: the decision record from the native-engine batch, without the parked decisions on compiling game code, without links to PRDs that are not on develop yet, and with legacy as default. Slice 0 of the gradual native-engine merge. No code changes.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR: the charter now admits one owned C++ engine behind the Three.js API, opt-in per game, with the legacy host as the default until it proves itself. Owner decision 2026-10-12. Docs only. This is slice 0 of the gradual native-engine merge.
Why
The native engine (feat/native-engine, PR #438) is merged into develop in small slices. Each slice must pass develop's gates on its own. Without this amendment, every engine slice breaks root rule 5 ("an IR") and the charter row "a second renderer".
What changed
docs/architecture/CHARTER.mddocs/architecture/CHARTER-HISTORY.md: one amendment row.AGENTS.mdrule 5 names the exception.CLAUDE.mdis regenerated.docs/architecture/NATIVE-ENGINE-DECISION.mdis new. It is the batch's decision record, with three changes:NATIVE-RUNTIME.mdandpackages/runtime-native/AGENTS.mdare unchanged. They describe the shipped host, and primary docs name only shipped things.Evidence
pnpm check:docs: passpnpm sync:agents --check: passcheck-doc-links,evidence-budget,evidence-citations,sync-agent-docs,ci-structure,ci-needsandprimary-docsspecs: 7 files, 254 tests passNext slices
Slice 1 is a separate PR: core fixes that need no engine. The engine C++ slices come after this PR merges.