Reusable contracts for scene objects, transforms, bounds, attachments, and snapshot state.
npm install @plasius/scene-objectThis package is controlled by a site-owned feature flag:
scene.object.runtime.enabled- Player System interface extensions inherit
isekai.player-system.interface.enabled
SceneObjectManifestandSceneObjectDefinition- deterministic object validation and manifest creation helpers
- attachment and attachment-point helpers
- state lookup helpers
- Player System extension contracts for target anchors, focus-pane screens, and localized alert markers
validateSceneObjectPlayerSystemManifest()plus focus/anchor lookup helpers
npm ci
npm run lint
npm run typecheck
npm run test:coverage
npm run build
npm run pack:check- IDs must be kebab-case
- transforms and bounds must be finite numbers with valid units
- attachment points and links must reference existing objects/points
- state visibility and object references must be structurally valid
- Player System anchors must reference exported object attachment points
- focus screens must bind to
focus-paneanchors and declare a bounded presentation variant
CI keeps the administrative contributor registry outside Git and npm package artifacts using exact, case-normalised path checks. CI runs on approved self-hosted runners. Release preparation and npm publication use GitHub-hosted runners with Node.js 24.18.0 LTS. CD remains disabled until the npm trusted publisher binding is verified and the legacy token fallback is removed.