Shorter function names improve ergonomics while maintaining clarity:
- defineNode() - register node-scoped extensions
- defineWidget() - register widget type extensions
Old names kept as deprecated aliases for backwards compatibility.
Will be removed in v1.0.
Updates all docs, examples, tests, and internal references.
Addresses review discussion item #4 from design-review-12142.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changes:
- Strip internal decision refs (D3, D5, D6, D7, etc.) from JSDoc
- Remove @stability stable tags (pre-v1.0, nothing is stable yet)
- Remove apiVersion from ExtensionOptions (telemetry deferred)
- Change NodeMode from number union to string union
('always'|'never'|'bypass'|'once'|'onTrigger')
- Rename widget() to getWidget() for consistency
Addresses review discussion items #1, #2, #3, #7, #8 from design-review-12142.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Restratified foundation. Includes:
- Public API declaration files (src/extension-api/{events,identifiers,index,
lifecycle,node,shell,widget}.ts + README)
- Scope registry runtime (src/services/extension-api-service.ts) +
scope-registry tests
- Boot wiring (src/scripts/app.ts, src/services/extensionService.ts)
- Phase A ECS world stubs (src/world/{componentKey,entityIds,
widgets/widgetComponents,worldInstance}.ts)
- Public type re-exports (src/types/extensionV2.ts)
Test framework moved to ext-api/i-tf, npm package + docgen moved to
ext-api/i-pkg, core extension v2 conversions moved to ext-api/i-ext.
Original (pre-restratify) branch tip backed up at
refs/backup/restratify-20260511/ext-api-i-foundation
and tag backup/restratify/ext-api-i-foundation on fork.