@hypersoniclabs/helix-manifest 0.3.17 → 0.3.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -2
- package/dist/schema/manifest-v0.2.schema.json +1 -1
- package/dist/schema/manifest-v0.3.schema.json +420 -109
- package/dist/schema/package-envelope-v1.schema.json +2 -2
- package/dist/schema/scene-v2.schema.json +594 -36
- package/dist/src/bundle-rules.js +3 -1
- package/dist/src/bundle-rules.js.map +1 -1
- package/dist/src/continuum/build-package.d.ts +26 -0
- package/dist/src/continuum/build-package.js +120 -0
- package/dist/src/continuum/build-package.js.map +1 -0
- package/dist/src/continuum/canonical-json.d.ts +8 -0
- package/dist/src/continuum/canonical-json.js +211 -0
- package/dist/src/continuum/canonical-json.js.map +1 -0
- package/dist/src/continuum/cid.d.ts +10 -0
- package/dist/src/continuum/cid.js +33 -0
- package/dist/src/continuum/cid.js.map +1 -0
- package/dist/src/continuum/graph.d.ts +11 -0
- package/dist/src/continuum/graph.js +225 -0
- package/dist/src/continuum/graph.js.map +1 -0
- package/dist/src/continuum/index.d.ts +14 -0
- package/dist/src/continuum/index.js +31 -0
- package/dist/src/continuum/index.js.map +1 -0
- package/dist/src/continuum/listing.d.ts +22 -0
- package/dist/src/continuum/listing.js +53 -0
- package/dist/src/continuum/listing.js.map +1 -0
- package/dist/src/continuum/material.d.ts +109 -0
- package/dist/src/continuum/material.js +563 -0
- package/dist/src/continuum/material.js.map +1 -0
- package/dist/src/continuum/package.d.ts +161 -0
- package/dist/src/continuum/package.js +653 -0
- package/dist/src/continuum/package.js.map +1 -0
- package/dist/src/continuum/ready-set.d.ts +16 -0
- package/dist/src/continuum/ready-set.js +62 -0
- package/dist/src/continuum/ready-set.js.map +1 -0
- package/dist/src/continuum/runtime-profile.d.ts +20 -0
- package/dist/src/continuum/runtime-profile.js +54 -0
- package/dist/src/continuum/runtime-profile.js.map +1 -0
- package/dist/src/continuum/scene-document.d.ts +356 -0
- package/dist/src/continuum/scene-document.js +992 -0
- package/dist/src/continuum/scene-document.js.map +1 -0
- package/dist/src/continuum/scene-publication.d.ts +28 -0
- package/dist/src/continuum/scene-publication.js +250 -0
- package/dist/src/continuum/scene-publication.js.map +1 -0
- package/dist/src/continuum/unreal-world.d.ts +117 -0
- package/dist/src/continuum/unreal-world.js +338 -0
- package/dist/src/continuum/unreal-world.js.map +1 -0
- package/dist/src/continuum/uuid.d.ts +4 -0
- package/dist/src/continuum/uuid.js +18 -0
- package/dist/src/continuum/uuid.js.map +1 -0
- package/dist/src/continuum/validation.d.ts +26 -0
- package/dist/src/continuum/validation.js +124 -0
- package/dist/src/continuum/validation.js.map +1 -0
- package/dist/src/continuum/world-release.d.ts +30 -0
- package/dist/src/continuum/world-release.js +142 -0
- package/dist/src/continuum/world-release.js.map +1 -0
- package/dist/src/index.d.ts +423 -20
- package/dist/src/index.js +1843 -104
- package/dist/src/index.js.map +1 -1
- package/dist/src/interactable-package.d.ts +10 -2
- package/dist/src/interactable-package.js +36 -4
- package/dist/src/interactable-package.js.map +1 -1
- package/dist/src/interactive-item.d.ts +3 -0
- package/dist/src/interactive-item.js +49 -1
- package/dist/src/interactive-item.js.map +1 -1
- package/dist/src/placements/bounds.d.ts +3 -0
- package/dist/src/placements/bounds.js +21 -0
- package/dist/src/placements/bounds.js.map +1 -0
- package/dist/src/placements/distant.d.ts +37 -0
- package/dist/src/placements/distant.js +135 -0
- package/dist/src/placements/distant.js.map +1 -0
- package/dist/src/placements/generate.d.ts +11 -0
- package/dist/src/placements/generate.js +102 -0
- package/dist/src/placements/generate.js.map +1 -0
- package/dist/src/placements/region.d.ts +5 -0
- package/dist/src/placements/region.js +202 -0
- package/dist/src/placements/region.js.map +1 -0
- package/dist/src/placements/types.d.ts +108 -0
- package/dist/src/placements/types.js +14 -0
- package/dist/src/placements/types.js.map +1 -0
- package/dist/src/placements/validate.d.ts +8 -0
- package/dist/src/placements/validate.js +213 -0
- package/dist/src/placements/validate.js.map +1 -0
- package/dist/src/runtime-delivery.d.ts +30 -0
- package/dist/src/runtime-delivery.js +182 -0
- package/dist/src/runtime-delivery.js.map +1 -0
- package/dist/src/scene-hlod.d.ts +101 -0
- package/dist/src/scene-hlod.js +252 -0
- package/dist/src/scene-hlod.js.map +1 -0
- package/dist/src/scene-v2.d.ts +271 -16
- package/dist/src/scene-v2.js +593 -26
- package/dist/src/scene-v2.js.map +1 -1
- package/dist/src/terrain/constants.d.ts +13 -0
- package/dist/src/terrain/constants.js +18 -0
- package/dist/src/terrain/constants.js.map +1 -0
- package/dist/src/terrain/heightfield.d.ts +69 -0
- package/dist/src/terrain/heightfield.js +228 -0
- package/dist/src/terrain/heightfield.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/architecture/README.md +21 -0
- package/docs/architecture/change-journal.md +94 -0
- package/docs/architecture/compaction-packet.md +51 -0
- package/docs/architecture/decision-log/ADR-0001-template.md +21 -0
- package/docs/architecture/decision-log/ADR-0002-continuum-contract-ownership.md +35 -0
- package/docs/architecture/invariants.md +43 -0
- package/docs/architecture/runtime-flows.md +81 -0
- package/docs/architecture/system-map.md +37 -0
- package/docs/distant-trees.md +35 -0
- package/docs/helix-placements.md +83 -0
- package/docs/helix-residence-scene.md +84 -0
- package/docs/helix-scene-hlod.md +70 -0
- package/docs/helix-scene-v2.md +271 -44
- package/docs/helix-terrain.md +177 -0
- package/docs/module-action-dispatch.md +26 -0
- package/docs/module-bank-reference.md +56 -0
- package/docs/native-material-bindings.md +21 -0
- package/examples/minimal-home.scene-v2.json +271 -63
- package/fixtures/continuum/jcs-v1.json +41 -0
- package/fixtures/multiplayer/continuum-record-player.module.json +1782 -0
- package/fixtures/multiplayer/continuum-record-player.provenance.json +17 -0
- package/fixtures/scene-v2/devices-v1.json +36 -0
- package/package.json +2 -1
- package/schema/manifest-v0.2.schema.json +1 -1
- package/schema/manifest-v0.3.schema.json +420 -109
- package/schema/package-envelope-v1.schema.json +2 -2
- package/schema/scene-v2.schema.json +594 -36
package/README.md
CHANGED
|
@@ -32,14 +32,15 @@ const manifest = result.manifest; // NormalizedHelixManifest — defaults applie
|
|
|
32
32
|
- `validateManifest(data)` / `parseManifest(json)` — validate + normalize a world `helix.json` (v0.1–v0.3).
|
|
33
33
|
- `validatePackageEnvelope(data)` / `parsePackageEnvelope(json)` — validate the `system | ability | asset-pack | interactable` envelope.
|
|
34
34
|
- `validateInteractablePackageManifest(data)` / `validateInteractableServerFragment(data)` — validate a portable interactable manifest, run its authority fragment through the world grammar, and recompute its budget.
|
|
35
|
+
- `validatePlatformRuntimeDelivery({ descriptor, manifestSystems, entryHtml })` — the shared CLI/server gate for system-bearing World builds. It accepts safe compatible `^`/`~` ranges or explicit exact pins, requires the built import map to match, and rejects legacy bundled delivery.
|
|
35
36
|
- `validateSceneDocument(data, options?)` / `parseSceneDocument(json, options?)` — validate and normalize a portable HELIX Scene v2 document shared by Home and World profiles.
|
|
36
37
|
- `validateSceneDocumentForPublication(data, options)` — the publication-safe gate whose type requires an Ed25519 implementation-signature verifier.
|
|
37
38
|
- `normalizeSceneDocument(scene)` — return a detached, defaulted copy of an already validated Scene v2 document.
|
|
38
39
|
- `canonicalSceneDocumentPayload(scene)` / `computeSceneDocumentIntegrity(scene)` / `verifySceneDocumentIntegrity(scene)` — RFC 8785 canonical payload and SHA-256 identity helpers; only the top-level self field is excluded.
|
|
39
|
-
- Scene vocabulary: `HELIX_SCENE_FORMAT`, `HELIX_SCENE_VERSION`, `HELIX_SCENE_MEDIA_TYPE`, `HELIX_SCENE_CAPS`, behavior/runtime-extension/signing-key allow-lists, `sceneResourceMimeCompatible`, `sceneBundleUriMatchesResource`, `sceneProfileMemoryCommitmentMiB`, `behaviorImplementationSignaturePayload`, `HELIX_TO_UNREAL_ADAPTER`, and `helixPositionToUnrealCm(position)`.
|
|
40
|
+
- Scene vocabulary: `HELIX_SCENE_FORMAT`, `HELIX_SCENE_VERSION`, `HELIX_SCENE_MEDIA_TYPE`, `HELIX_SCENE_CAPS`, `HELIX_SCENE_DEVICE_CAPABILITY`, behavior/runtime-extension/signing-key allow-lists, `isSceneContinuumItemDefinition`, `sceneResourceMimeCompatible`, `sceneBundleUriMatchesResource`, `sceneProfileMemoryCommitmentMiB`, `behaviorImplementationSignaturePayload`, `HELIX_TO_UNREAL_ADAPTER`, and `helixPositionToUnrealCm(position)`.
|
|
40
41
|
- Bundle rules: `BUNDLE_MAX_FILES`, `BUNDLE_MAX_FILE_BYTES`, `BUNDLE_MAX_TOTAL_BYTES`, `BUNDLE_PATH_PATTERN`, `bundleContentType(path)`, `bundleLimitsForKind(kind)`, `classifyBundleFile(kind, path)`, `ASSET_EXTENSIONS`.
|
|
41
42
|
- Vocabulary + federation maps: `BUNDLE_KINDS`, `MAIN_BACKEND_PACKAGE_TYPE`, `MAIN_BACKEND_CONTENT_RATING`, `PERMISSIONS_V01`, `PERMISSIONS_V03`, `PLATFORM_MAX_PLAYERS_PER_ROOM`, `MANIFEST_FILENAME`, `MANIFEST_VERSIONS`.
|
|
42
|
-
- Types: `HelixManifest`, `NormalizedHelixManifest`, `HelixBundleKind`, `HelixContentRating`, `HelixPermission`, `HelixMultiplayerConfig`, `HelixPackageEnvelope`, `NormalizedPackageEnvelope`, `HelixSceneV2`, and the exported Scene v2 section types.
|
|
43
|
+
- Types: `HelixManifest`, `NormalizedHelixManifest`, `HelixBundleKind`, `HelixContentRating`, `HelixPermission`, `HelixMultiplayerConfig`, `HelixPackageEnvelope`, `NormalizedPackageEnvelope`, `HelixScenePin`, `HelixSceneV2`, and the exported Scene v2 section types.
|
|
43
44
|
|
|
44
45
|
## HELIX Scene v2
|
|
45
46
|
|
|
@@ -50,10 +51,26 @@ physical lighting intent, surfaces, collision/navigation, streaming/LOD and
|
|
|
50
51
|
registered declarative behavior. It never contains executable code or arbitrary
|
|
51
52
|
remote URLs.
|
|
52
53
|
|
|
54
|
+
Scene item definitions accept legacy exact Vault descriptors or exact Continuum
|
|
55
|
+
Package Version pins. Optional `deviceLinks` connect stable item instances by
|
|
56
|
+
named Package-owned ports and require the fail-closed `helix.scene-devices/1`
|
|
57
|
+
capability.
|
|
58
|
+
|
|
53
59
|
See [the creator contract](docs/helix-scene-v2.md) and the
|
|
54
60
|
[dual-profile example](examples/minimal-home.scene-v2.json). The published JSON
|
|
55
61
|
Schema is `schema/scene-v2.schema.json`.
|
|
56
62
|
|
|
63
|
+
## Module bank references
|
|
64
|
+
|
|
65
|
+
A module-v1 world names the interactables it hosts as
|
|
66
|
+
`itx:<slug>@<version>#<sha256>` references. The digest is the package
|
|
67
|
+
registry's published `checksumSha256` for that version — read, never computed.
|
|
68
|
+
|
|
69
|
+
See [the module bank reference contract](docs/module-bank-reference.md).
|
|
70
|
+
|
|
71
|
+
See [module Device action dispatch](docs/module-action-dispatch.md) for ordered,
|
|
72
|
+
atomic `firstMatch` action cases and their empty-case semantics.
|
|
73
|
+
|
|
57
74
|
## Develop
|
|
58
75
|
|
|
59
76
|
```bash
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"type": "object",
|
|
74
74
|
"additionalProperties": { "type": "string", "minLength": 1 },
|
|
75
75
|
"propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{1,48})[a-z0-9]$" },
|
|
76
|
-
"description": "
|
|
76
|
+
"description": "Platform system dependencies as slug -> semver range (e.g. { \"humanoid-character\": \"^0.2\" }). Compatible ^/~ ranges resolve through the host runtime on fresh launch; exact versions remain immutable pins. The asset-pack is discovered via the system's own envelope, not pinned here."
|
|
77
77
|
},
|
|
78
78
|
"abilities": {
|
|
79
79
|
"type": "object",
|