refactor(api)!: v0.15 Welle 1 — API-Konsistenz (System.update, serializer per-app, barrel cleanup)#164
Merged
Merged
Conversation
…app, dead barrel removed BREAKING: unifies the System.update protocol across all managers and removes a dead internal rendering barrel. 3a — System.update(delta: Time): void across all 5 app systems. InputManager update(): this -> update(_delta: Time): void (fluent return removed); InteractionManager + AudioManager gain the param. Tween/RenderingContext were already conform. 0 external call-sites broke. The param is `_delta` (unused but required by the System contract; lint:strict forbids unused non-_ args, the spec's "lint allows it" assumption was empirically wrong). 3b — registerSerializer + Prefab.from/instantiate gain an optional `registry` param (per-app serialization; default = global). New @internal _resetDefaultSerializers() + SerializationRegistry.clear() close a cross-suite global-registry leak (serialization.test.ts:273); afterEach reset + 2 new tests. 3d — deleted dead internal barrel src/rendering/index.ts (0 static imports; migrated its one dynamic test import to #rendering/public). Documented the abstract-vs-concrete renderer boundary in renderer-sdk.ts + custom-renderers guide. api-mdx regenerated (audio/input/interaction-manager, prefab). 3395 tests pass.
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.
v0.15 Welle 1 — API-Konsistenz (BREAKING, vor 1.0)
Bündelt die drei kleinen, disjunkten Slices 3a/3b/3d. Spec:
.workspace/specs/v0.15-hardening/02-api-konsistenz.md. (3c Text-ctor + 3e Barrels folgen separat.)3a —
System.update(delta: Time): voidüber alle 5 Manager (BREAKING)InputManager.update(): this→update(_delta: Time): void(fluenter Return entfernt);InteractionManager+AudioManagerbekommen den Param.Tween/RenderingContextwaren schon konform. 0 externe Call-Sites brechen (kein Code kettet denthis-Return). Param ist_delta(ungenutzt, aber Teil desSystem-Contracts —lint:strictverbietet ungenutzte nicht-_-Args; die Spec-Annahme „Lint erlaubt es" war empirisch falsch).3b — Serializer per-App + Test-Reset
registerSerializer+Prefab.from/instantiatebekommen optionalenregistry-Param (default global). Neue@internal _resetDefaultSerializers()+SerializationRegistry.clear()schließen einen belegten Cross-Suite-Leak im globalen Registry (serialization.test.ts:273).afterEach-Reset + 2 neue Tests.3d — Toten internen Barrel entfernt
src/rendering/index.tswar toter Code (0 statische Importe). Gelöscht; der einzige (dynamische) Test-Import wandert auf#rendering/public. Abgrenzung abstrakte (subclass-stabil) vs. konkrete (intern) Renderer inrenderer-sdk.ts+ custom-renderers-Guide dokumentiert.Verifikation (lokale CI-Parität)