@helix3/helix-cli 0.1.18-helix3.258 → 0.1.18-helix3.260

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.
Files changed (29) hide show
  1. package/bridge-recipes/unreal/character-customizer/README.md +1 -1
  2. package/bridge-recipes/unreal/character-customizer/beard.addon.json +1 -1
  3. package/bridge-recipes/unreal/character-customizer/bottom.addon.json +1 -1
  4. package/bridge-recipes/unreal/character-customizer/eyewear.addon.json +1 -1
  5. package/bridge-recipes/unreal/character-customizer/footwear.addon.json +1 -1
  6. package/bridge-recipes/unreal/character-customizer/hair.addon.json +1 -1
  7. package/bridge-recipes/unreal/character-customizer/test/recipes.test.js +1 -1
  8. package/bridge-recipes/unreal/character-customizer/top.addon.json +1 -1
  9. package/bridge-recipes/unreal/helix-character-creator-male/README.md +1 -1
  10. package/bridge-recipes/unreal/helix-character-creator-male/back.addon.json +1 -1
  11. package/bridge-recipes/unreal/helix-character-creator-male/bottom.addon.json +1 -1
  12. package/bridge-recipes/unreal/helix-character-creator-male/eyewear.addon.json +1 -1
  13. package/bridge-recipes/unreal/helix-character-creator-male/footwear.addon.json +1 -1
  14. package/bridge-recipes/unreal/helix-character-creator-male/gloves.addon.json +1 -1
  15. package/bridge-recipes/unreal/helix-character-creator-male/hair.addon.json +1 -1
  16. package/bridge-recipes/unreal/helix-character-creator-male/headwear.addon.json +1 -1
  17. package/bridge-recipes/unreal/helix-character-creator-male/mask.addon.json +1 -1
  18. package/bridge-recipes/unreal/helix-character-creator-male/neck.addon.json +1 -1
  19. package/bridge-recipes/unreal/helix-character-creator-male/outfit.addon.json +1 -1
  20. package/bridge-recipes/unreal/helix-character-creator-male/top.addon.json +1 -1
  21. package/dist/continuum/authoring.d.ts +3 -1
  22. package/dist/continuum/authoring.js +10 -0
  23. package/dist/continuum/authoring.js.map +1 -1
  24. package/dist/tsconfig.build.tsbuildinfo +1 -1
  25. package/package.json +3 -3
  26. package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
  27. package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
  28. package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
  29. package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
@@ -30,7 +30,7 @@ The final Bridge-validated base is 13,591,584 bytes with SHA-256 `7963a8022e3cf6
30
30
 
31
31
  The head contains an Unreal placeholder named `EnvSamplerTex` with no image or source path in `MI_CCMH_Teeth.normalMap`. Bridge drops only that null slot. Its duplicate-morph normalization is lossless: it collapses repetitions only when every attribute and influence is identical, remaps animation indices, and rejects differing repetitions rather than guessing.
32
32
 
33
- All six modular profiles target the published compatibility host `b45e4a1e-0000-4000-8000-000000000001` at SHA-256 `55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6` and have passed Bridge add-on validation. This published host is the compatibility artifact derived from the direct CCMH composition described above; its digest is intentionally different from that composition artifact.
33
+ All six modular profiles target the published compatibility host `b45e4a1e-0000-4000-8000-000000000001` at SHA-256 `3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b` and have passed Bridge add-on validation. This published host is the compatibility artifact derived from the direct CCMH composition described above; its digest is intentionally different from that composition artifact.
34
34
 
35
35
  | Add-on profile | Runtime slot | Package SHA-256 |
36
36
  | --- | --- | --- |
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Beard","slug":"ccmh-male-beard","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.facial-hair@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Beard","slug":"ccmh-male-beard","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.facial-hair@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Jeans","slug":"ccmh-male-jeans","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.bottom@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Jeans","slug":"ccmh-male-jeans","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.bottom@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Glasses","slug":"ccmh-male-glasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Glasses","slug":"ccmh-male-glasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Sneakers","slug":"ccmh-male-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Sneakers","slug":"ccmh-male-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Side-Part Hair","slug":"ccmh-male-side-part-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male Side-Part Hair","slug":"ccmh-male-side-part-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
@@ -24,7 +24,7 @@ const expectedAddons = {
24
24
  'hair.addon.json': 'character.hair@1',
25
25
  'beard.addon.json': 'character.facial-hair@1',
26
26
  };
27
- const publishedHostSha256 = '55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6';
27
+ const publishedHostSha256 = '3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b';
28
28
 
29
29
  test('bundles one valid and unique Unreal extraction profile per selected CCMH male part', () => {
30
30
  const slugs = new Set();
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male T-Shirt","slug":"ccmh-male-t-shirt","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"CCMH Male T-Shirt","slug":"ccmh-male-t-shirt","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
@@ -8,7 +8,7 @@ Use `all.json` with `--type extract` to export the body, face, and every represe
8
8
 
9
9
  Use `palette-pilot.json` for the reviewed three-item visual gate: cargo bottoms (`technical-fabric-ripstop`), cap (`technical-fabric-ripstop`), and chain (`brushed-metal`). These are the only additional wearables intended for publication before the full batch receives visual approval.
10
10
 
11
- Every adjacent `*.addon.json` profile is bound to the published Base Male twice: `hostItemId` selects Universal Item `b45e4a1e-0000-4000-8000-000000000001`, while `hostSha256` must equal the bytes of the supplied host GLB (`55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6`). Bridge validates that host before conforming a wearable and applies the exact Universal Item runtime `fits`/`ops` validator to the generated `character.<slot>@1` contract.
11
+ Every adjacent `*.addon.json` profile is bound to the published Base Male twice: `hostItemId` selects Universal Item `b45e4a1e-0000-4000-8000-000000000001`, while `hostSha256` must equal the bytes of the supplied host GLB (`3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b`). Bridge validates that host before conforming a wearable and applies the exact Universal Item runtime `fits`/`ops` validator to the generated `character.<slot>@1` contract.
12
12
 
13
13
  The verified direct-Unreal batch produced all 13 reviewed FBXs—body, face, top, bottom, footwear, gloves, mask, headwear, eyewear, neck, back, hair, and outfit—in one transaction. Material-preserving extraction emits an adjacent material sidecar and content-addressed Texture2D PNGs with each mesh set; downstream character/add-on imports discover and bind those dependencies automatically. Add-on publication still requires each FBX to pass the host-bound profile independently.
14
14
 
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Black Bag","slug":"male-black-bag","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.back@1","socket":"back","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Black Bag","slug":"male-black-bag","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.back@1","socket":"back","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cargo Bottom — Palette Pilot","slug":"male-cargo-bottom","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.bottom@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cargo Bottom — Palette Pilot","slug":"male-cargo-bottom","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.bottom@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sport Sunglasses","slug":"male-sport-sunglasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sport Sunglasses","slug":"male-sport-sunglasses","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.eyewear@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chunky Knit Sneakers","slug":"male-chunky-knit-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chunky Knit Sneakers","slug":"male-chunky-knit-sneakers","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.footwear@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sterile Gloves","slug":"male-sterile-gloves","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.gloves@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Sterile Gloves","slug":"male-sterile-gloves","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.gloves@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Default Hair","slug":"male-default-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Default Hair","slug":"male-default-hair","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.hair@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cap — Palette Pilot","slug":"male-cap","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.headwear@1","socket":"head","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cap — Palette Pilot","slug":"male-cap","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.headwear@1","socket":"head","nodes":[],"palette":{"action":"forceFamilyId","familyId":"technical-fabric-ripstop","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cyberpunk Oni Mask","slug":"male-cyberpunk-oni-mask","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.mask@1","socket":"head","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Cyberpunk Oni Mask","slug":"male-cyberpunk-oni-mask","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.mask@1","socket":"head","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chain — Palette Pilot","slug":"male-chain","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.neck@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"brushed-metal","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male Chain — Palette Pilot","slug":"male-chain","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.neck@1","socket":"chest","nodes":[],"palette":{"action":"forceFamilyId","familyId":"brushed-metal","familyVersion":"1.0.0","presetId":"clean","overrides":{}},"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male SWAT Outfit","slug":"male-swat-outfit","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.outfit@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Male SWAT Outfit","slug":"male-swat-outfit","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.outfit@1","socket":"chest","nodes":[],"ops":[]}
@@ -1 +1 @@
1
- {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Stone Crew T-Shirt","slug":"male-stone-crew","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"55519fd9342b8b75f31169078783a85629fc9ae92bf99258a9599ee6b3a7a6c6","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
1
+ {"schemaVersion":"helix.bridge-character-addon-profile/1","title":"Stone Crew T-Shirt","slug":"male-stone-crew","hostItemId":"b45e4a1e-0000-4000-8000-000000000001","hostSha256":"3fdb769bf0dbcc0e1b1b1ae8dd800d6ddedfda976c6422d4de15b80ce71c132b","slotType":"character.top@1","socket":"chest","nodes":[],"ops":[]}
@@ -1,7 +1,9 @@
1
1
  import { type ContinuumSceneElement, type ContinuumSceneTerrainElement } from '@hypersoniclabs/helix-manifest';
2
2
  import { type SourceSceneActor, type SourceSceneMap, type SourceSceneMaterial } from '../sceneImport/semantic';
3
3
  import type { ContinuumObjectPublication } from './types';
4
- type NativeType = Exclude<ContinuumSceneElement['type'], 'asset' | 'building' | 'group' | 'level' | 'space' | 'terrain' | 'placements'>;
4
+ export declare const RESIDENCE_SCENE_ELEMENT_TYPES: readonly ["item", "owned-item", "surface-override"];
5
+ type ResidenceElementType = (typeof RESIDENCE_SCENE_ELEMENT_TYPES)[number];
6
+ type NativeType = Exclude<ContinuumSceneElement['type'], 'asset' | 'building' | 'group' | 'level' | 'space' | 'terrain' | 'placements' | ResidenceElementType>;
5
7
  type NativeCandidate = Extract<ContinuumSceneElement, {
6
8
  type: NativeType;
7
9
  }>;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESIDENCE_SCENE_ELEMENT_TYPES = void 0;
3
4
  exports.scratchTerrainElement = scratchTerrainElement;
4
5
  exports.scratchTerrainObjects = scratchTerrainObjects;
5
6
  exports.createScratchSourceSceneMap = createScratchSourceSceneMap;
@@ -12,6 +13,10 @@ const source_2 = require("../placements/source");
12
13
  const semantic_1 = require("../sceneImport/semantic");
13
14
  const objectUpload_1 = require("./objectUpload");
14
15
  const TERRAIN_TEXTURE_MEDIA_TYPE = 'image/png';
16
+ // `terrain` is excluded: it is authored as a source FOLDER below, never as a hand-written tile table.
17
+ // Residence elements (`item`, `owned-item`, `surface-override`; helix-backend-api ADR-0004) are
18
+ // excluded too: they are a Home's owner state, written by the platform, never authored here.
19
+ exports.RESIDENCE_SCENE_ELEMENT_TYPES = ['item', 'owned-item', 'surface-override'];
15
20
  function terrainObjectReference(file, role) {
16
21
  if (file.bytes > objectUpload_1.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES) {
17
22
  throw new Error(`terrain object "${file.path}" is ${file.bytes} bytes; verified binary ingestion is capped at ${objectUpload_1.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES} bytes`);
@@ -97,6 +102,11 @@ function scratchTerrainObjects(input, audience = 'private') {
97
102
  /** Scratch authoring intentionally enters through the same semantic importer as source maps. */
98
103
  function createScratchSourceSceneMap(input) {
99
104
  const actors = input.elements.map((element) => {
105
+ // Scratch JSON is untyped at runtime, so the type exclusion above needs a runtime twin:
106
+ // an owned item names somebody's inventory, which no authored Scene Package may carry.
107
+ if (exports.RESIDENCE_SCENE_ELEMENT_TYPES.includes(element.type)) {
108
+ throw new TypeError(`scene element "${element.id}" is a residence "${element.type}"; Homes write those, the CLI never authors them`);
109
+ }
100
110
  if (element.type === 'placements') {
101
111
  const { element: result } = (0, source_2.placementsContinuum)((0, node_path_1.resolve)(element.source), element.id);
102
112
  return { id: result.id, kind: 'placements', confidence: 1, candidate: { type: 'placements', placements: result.placements } };
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/continuum/authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/continuum/authoring.ts"],"names":[],"mappings":"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"}