@helix3/helix-cli 0.1.14-helix3.156 → 0.1.14-helix3.157

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.
@@ -29,7 +29,7 @@ function vec3(value, label) {
29
29
  throw new Error(`${label} must contain three numbers`);
30
30
  return value.map((part, index) => finite(part, `${label}[${index}]`));
31
31
  }
32
- function material(input) {
32
+ function inlineMaterial(input) {
33
33
  const resolved = { ...DEFAULT_MATERIAL, ...input };
34
34
  if (!/^#[0-9a-fA-F]{6}$/.test(resolved.color))
35
35
  throw new Error(`material color must be #RRGGBB`);
@@ -39,11 +39,85 @@ function material(input) {
39
39
  throw new Error('material metalness must be between 0 and 1');
40
40
  return resolved;
41
41
  }
42
+ function materialIdPart(value) {
43
+ id(value, 'material id');
44
+ return value;
45
+ }
46
+ function compileMaterials(input) {
47
+ const compiled = new Map();
48
+ for (const [key, pin] of Object.entries(input ?? {}).sort(([a], [b]) => a.localeCompare(b))) {
49
+ const stableKey = materialIdPart(key);
50
+ if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(pin.assetId)) {
51
+ throw new Error(`material ${key} assetId must be a UUID`);
52
+ }
53
+ if (!Number.isInteger(pin.revision) || pin.revision < 1) {
54
+ throw new Error(`material ${key} revision must be a positive integer`);
55
+ }
56
+ if (!/^[0-9a-f]{64}$/.test(pin.integritySha256)) {
57
+ throw new Error(`material ${key} integritySha256 must be a lowercase SHA-256 digest`);
58
+ }
59
+ if (pin.bytes !== undefined && (!Number.isInteger(pin.bytes) || pin.bytes <= 0)) {
60
+ throw new Error(`material ${key} bytes must be a positive integer`);
61
+ }
62
+ const defaults = pin.defaults ?? {};
63
+ if (defaults.tint !== undefined && !/^#[0-9a-fA-F]{6}$/.test(defaults.tint)) {
64
+ throw new Error(`material ${key} defaults.tint must be #RRGGBB`);
65
+ }
66
+ for (const [name, value] of Object.entries({
67
+ repeatPerMeter: defaults.repeatPerMeter,
68
+ roughnessScale: defaults.roughnessScale,
69
+ metalnessScale: defaults.metalnessScale,
70
+ })) {
71
+ if (value !== undefined && (!Number.isFinite(value) || value < 0)) {
72
+ throw new Error(`material ${key} defaults.${name} must be a non-negative finite number`);
73
+ }
74
+ }
75
+ compiled.set(key, {
76
+ id: `material.${stableKey}`,
77
+ resourceId: `resource.material.${stableKey}`,
78
+ fallback: inlineMaterial(pin.fallback),
79
+ pin,
80
+ });
81
+ }
82
+ return compiled;
83
+ }
84
+ function resolveMaterial(input, catalog) {
85
+ if (input && 'ref' in input) {
86
+ const compiled = catalog.get(input.ref);
87
+ if (!compiled)
88
+ throw new Error(`unknown material ref "${input.ref}"`);
89
+ return { fallback: compiled.fallback, sceneMaterialId: compiled.id };
90
+ }
91
+ return { fallback: inlineMaterial(input), sceneMaterialId: null };
92
+ }
42
93
  function yawQuaternion(degrees) {
43
94
  finite(degrees, 'rotationYDeg');
44
95
  const radians = degrees * Math.PI / 180;
45
96
  return [0, Math.sin(radians / 2), 0, Math.cos(radians / 2)];
46
97
  }
98
+ function quaternion(value, label) {
99
+ if (!Array.isArray(value) || value.length !== 4)
100
+ throw new Error(`${label} must contain four numbers`);
101
+ const parts = value.map((part, index) => finite(part, `${label}[${index}]`));
102
+ const length = Math.hypot(...parts);
103
+ if (length < 1e-8)
104
+ throw new Error(`${label} must not be zero length`);
105
+ return parts.map((part) => part / length);
106
+ }
107
+ function rotatedBoxBounds(position, size, rotation) {
108
+ const [x, y, z, w] = rotation;
109
+ const matrix = [
110
+ [1 - 2 * (y * y + z * z), 2 * (x * y - z * w), 2 * (x * z + y * w)],
111
+ [2 * (x * y + z * w), 1 - 2 * (x * x + z * z), 2 * (y * z - x * w)],
112
+ [2 * (x * z - y * w), 2 * (y * z + x * w), 1 - 2 * (x * x + y * y)],
113
+ ];
114
+ const half = size.map((part) => part / 2);
115
+ const extent = matrix.map((row) => row.reduce((sum, part, axis) => sum + Math.abs(part) * half[axis], 0));
116
+ return {
117
+ min: position.map((part, axis) => part - extent[axis]),
118
+ max: position.map((part, axis) => part + extent[axis]),
119
+ };
120
+ }
47
121
  function expandBounds(a, b) {
48
122
  if (!a)
49
123
  return { min: [...b.min], max: [...b.max] };
@@ -73,7 +147,7 @@ function leafGeometry(element) {
73
147
  return {
74
148
  position: [(startX + endX) / 2, baseY + height / 2, (startZ + endZ) / 2],
75
149
  size: [length, height, thickness],
76
- rotationYDeg: -Math.atan2(endZ - startZ, endX - startX) * 180 / Math.PI,
150
+ rotation: yawQuaternion(-Math.atan2(endZ - startZ, endX - startX) * 180 / Math.PI),
77
151
  bounds: {
78
152
  min: [Math.min(startX, endX) - halfThickness, baseY, Math.min(startZ, endZ) - halfThickness],
79
153
  max: [Math.max(startX, endX) + halfThickness, baseY + height, Math.max(startZ, endZ) + halfThickness],
@@ -91,7 +165,7 @@ function leafGeometry(element) {
91
165
  return {
92
166
  position: [x, y, z],
93
167
  size: [width, thickness, depth],
94
- rotationYDeg: 0,
168
+ rotation: [0, 0, 0, 1],
95
169
  bounds: {
96
170
  min: [x - width / 2, y - thickness / 2, z - depth / 2],
97
171
  max: [x + width / 2, y + thickness / 2, z + depth / 2],
@@ -101,21 +175,21 @@ function leafGeometry(element) {
101
175
  }
102
176
  const position = vec3(element.position, `${element.id}.position`);
103
177
  const size = vec3(element.size, `${element.id}.size`).map((part, axis) => positive(part, `${element.id}.size[${axis}]`));
104
- const radians = (element.rotationYDeg ?? 0) * Math.PI / 180;
105
- const halfX = Math.abs(Math.cos(radians)) * size[0] / 2 + Math.abs(Math.sin(radians)) * size[2] / 2;
106
- const halfZ = Math.abs(Math.sin(radians)) * size[0] / 2 + Math.abs(Math.cos(radians)) * size[2] / 2;
178
+ if (element.rotation !== undefined && element.rotationYDeg !== undefined) {
179
+ throw new Error(`${element.id} must use rotation or rotationYDeg, not both`);
180
+ }
181
+ const rotation = element.rotation !== undefined
182
+ ? quaternion(element.rotation, `${element.id}.rotation`)
183
+ : yawQuaternion(element.rotationYDeg ?? 0);
107
184
  return {
108
185
  position,
109
186
  size,
110
- rotationYDeg: element.rotationYDeg ?? 0,
111
- bounds: {
112
- min: [position[0] - halfX, position[1] - size[1] / 2, position[2] - halfZ],
113
- max: [position[0] + halfX, position[1] + size[1] / 2, position[2] + halfZ],
114
- },
187
+ rotation,
188
+ bounds: rotatedBoxBounds(position, size, rotation),
115
189
  slot: element.slot ?? 'structure',
116
190
  };
117
191
  }
118
- function compileLeaf(element, parent, streamGroup) {
192
+ function compileLeaf(element, parent, streamGroup, materials) {
119
193
  id(element.id, 'element id');
120
194
  const geometry = leafGeometry(element);
121
195
  const nodeId = `node.${element.id}`;
@@ -123,12 +197,13 @@ function compileLeaf(element, parent, streamGroup) {
123
197
  const surfaceId = `surface.${element.id}`;
124
198
  const collisionSetId = `collision.${element.id}`;
125
199
  const collisionEnabled = element.collision !== false;
200
+ const resolvedMaterial = resolveMaterial(element.material, materials);
126
201
  const node = {
127
202
  id: nodeId,
128
203
  parent,
129
204
  transform: {
130
205
  position: geometry.position,
131
- rotation: yawQuaternion(geometry.rotationYDeg),
206
+ rotation: geometry.rotation,
132
207
  scale: [1, 1, 1],
133
208
  },
134
209
  streamGroup,
@@ -139,7 +214,7 @@ function compileLeaf(element, parent, streamGroup) {
139
214
  id: primitiveId,
140
215
  shape: 'box',
141
216
  size: geometry.size,
142
- material: material(element.material),
217
+ material: resolvedMaterial.fallback,
143
218
  },
144
219
  castShadow: element.type !== 'floor',
145
220
  receiveShadow: true,
@@ -156,7 +231,9 @@ function compileLeaf(element, parent, streamGroup) {
156
231
  slot: geometry.slot,
157
232
  node: nodeId,
158
233
  selector: { primitiveIds: [primitiveId] },
159
- default: { kind: 'source' },
234
+ default: resolvedMaterial.sceneMaterialId === null
235
+ ? { kind: 'source' }
236
+ : { kind: 'material', material: resolvedMaterial.sceneMaterialId },
160
237
  overridePolicy: { allowed: false, roles: [], parameters: [] },
161
238
  },
162
239
  collisionSet: collisionEnabled ? {
@@ -172,14 +249,14 @@ function compileLeaf(element, parent, streamGroup) {
172
249
  } : null,
173
250
  };
174
251
  }
175
- function compileBuilding(building, rootNodeId) {
252
+ function compileBuilding(building, rootNodeId, materials) {
176
253
  id(building.id, 'building id');
177
254
  if (building.elements.length === 0)
178
255
  throw new Error(`building ${building.id} must contain at least one element`);
179
256
  const position = vec3(building.position ?? [0, 0, 0], `${building.id}.position`);
180
257
  const groupId = `stream.${building.id}`;
181
258
  const buildingNodeId = `node.${building.id}`;
182
- const leaves = building.elements.map((element) => compileLeaf(element, buildingNodeId, groupId));
259
+ const leaves = building.elements.map((element) => compileLeaf(element, buildingNodeId, groupId, materials));
183
260
  const localBounds = leaves.reduce((bounds, leaf) => expandBounds(bounds, leaf.bounds), null);
184
261
  const bounds = translateBounds(localBounds, position);
185
262
  const nodes = [{
@@ -209,7 +286,8 @@ function compileSceneElements(input) {
209
286
  throw new Error('at least one building is required');
210
287
  const rootNodeId = 'node.root';
211
288
  const sunNodeId = 'node.sun';
212
- const compiled = input.buildings.map((building) => compileBuilding(building, rootNodeId));
289
+ const compiledMaterials = compileMaterials(input.materials);
290
+ const compiled = input.buildings.map((building) => compileBuilding(building, rootNodeId, compiledMaterials));
213
291
  const placementBounds = compiled.reduce((bounds, building) => expandBounds(bounds, building.bounds), null);
214
292
  const nodes = [
215
293
  {
@@ -252,7 +330,15 @@ function compileSceneElements(input) {
252
330
  },
253
331
  },
254
332
  scenes: [{ id: 'scene.root', nodes: nodes.map((node) => node.id), streamGroups: ['stream.root', ...compiled.map((building) => building.group.id)] }],
255
- resources: [],
333
+ resources: [...compiledMaterials.values()].map((entry) => ({
334
+ id: entry.resourceId,
335
+ kind: 'material',
336
+ source: { kind: 'vault', assetId: entry.pin.assetId, revision: entry.pin.revision },
337
+ integrity: { sha256: entry.pin.integritySha256 },
338
+ ...(entry.pin.bytes !== undefined ? { bytes: entry.pin.bytes } : {}),
339
+ mimeType: entry.pin.mimeType ?? 'application/vnd.helix.material+json',
340
+ required: true,
341
+ })),
256
342
  nodes,
257
343
  itemDefinitions: [],
258
344
  itemInstances: [],
@@ -273,7 +359,16 @@ function compileSceneElements(input) {
273
359
  navigation: { walkableSurfaces: compiled.flatMap((building) => building.leaves.filter((leaf) => leaf.surface.slot === 'floor').map((leaf) => leaf.surface.id)), agent: { radiusM: 0.35, heightM: 1.8, stepHeightM: 0.32, maxSlopeDeg: 48 }, navmesh: null, fallback: 'physics-walkability' },
274
360
  placement: { bounds: placementBounds, maxItemInstances: 0, snapGridM: 0.05, allowedProfiles: [] },
275
361
  surfaces: compiled.flatMap((building) => building.leaves.map((leaf) => leaf.surface)),
276
- materials: [],
362
+ materials: [...compiledMaterials.values()].map((entry) => ({
363
+ id: entry.id,
364
+ resource: entry.resourceId,
365
+ defaults: {
366
+ tint: entry.pin.defaults?.tint ?? '#ffffff',
367
+ repeatPerMeter: entry.pin.defaults?.repeatPerMeter ?? 1,
368
+ roughnessScale: entry.pin.defaults?.roughnessScale ?? 1,
369
+ metalnessScale: entry.pin.defaults?.metalnessScale ?? 1,
370
+ },
371
+ })),
277
372
  behaviors: [],
278
373
  streamGroups: [
279
374
  { id: 'stream.root', mode: 'eager', priority: 100, cells: [{ id: 'cell.root', bounds: placementBounds, nodes: [rootNodeId, sunNodeId] }], dependencies: [], estimatedMemoryMiB: 1 },
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/sceneElements/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/sceneElements/compiler.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,32 @@
1
1
  export type Vec2 = [number, number];
2
2
  export type Vec3 = [number, number, number];
3
- export type ElementMaterial = {
3
+ export type Quaternion = [number, number, number, number];
4
+ export type InlineElementMaterial = {
4
5
  color?: string;
5
6
  roughness?: number;
6
7
  metalness?: number;
7
8
  };
9
+ export type ElementMaterial = InlineElementMaterial | {
10
+ ref: string;
11
+ };
12
+ /**
13
+ * Immutable Vault material pin used by one or more semantic elements.
14
+ * `fallback` is rendered before the descriptor and texture maps arrive.
15
+ */
16
+ export type ElementMaterialPin = {
17
+ assetId: string;
18
+ revision: number;
19
+ integritySha256: string;
20
+ mimeType?: string;
21
+ bytes?: number;
22
+ fallback?: InlineElementMaterial;
23
+ defaults?: {
24
+ tint?: string;
25
+ repeatPerMeter?: number;
26
+ roughnessScale?: number;
27
+ metalnessScale?: number;
28
+ };
29
+ };
8
30
  type ArchitecturalElementBase = {
9
31
  id: string;
10
32
  material?: ElementMaterial;
@@ -30,6 +52,8 @@ export type BoxElement = ArchitecturalElementBase & {
30
52
  shape: 'box';
31
53
  position: Vec3;
32
54
  size: Vec3;
55
+ /** Full source rotation for deterministic import/conversion workflows. */
56
+ rotation?: Quaternion;
33
57
  rotationYDeg?: number;
34
58
  slot?: string;
35
59
  };
@@ -53,6 +77,7 @@ export type SceneElementsDocument = {
53
77
  version: 1;
54
78
  id: string;
55
79
  title: string;
80
+ materials?: Record<string, ElementMaterialPin>;
56
81
  spawn: {
57
82
  position: Vec3;
58
83
  rotationYDeg?: number;
@@ -117,6 +117,7 @@ async function loadSceneV2Package(input) {
117
117
  resources,
118
118
  vaultPins,
119
119
  mountCount: validation.scene.mounts?.length ?? 0,
120
+ primitiveCount: validation.scene.nodes.filter((node) => node.components?.some((component) => component.type === 'render.primitive')).length,
120
121
  contentRating: input.contentRating ?? 'everyone',
121
122
  supportsMobile: input.supportsMobile ?? false,
122
123
  requiresAuth: input.requiresAuth ?? false,
@@ -263,6 +264,7 @@ function assertOpenLicenseReceipt(value) {
263
264
  const hasMountOutputs = Array.isArray(outputs?.mounts) &&
264
265
  outputs.mounts.length > 0 &&
265
266
  outputs.mounts.every(validMountReceipt);
267
+ const hasPrimitiveOutput = validOutputReceipt(outputs?.primitives);
266
268
  if (typeof receipt.originalSha256 !== 'string' ||
267
269
  !/^[a-f0-9]{64}$/.test(receipt.originalSha256) ||
268
270
  typeof receipt.attribution?.license !== 'string' ||
@@ -284,7 +286,7 @@ function assertOpenLicenseReceipt(value) {
284
286
  receipt.rights.accessControlChangesLicense !== false ||
285
287
  receipt.rights.additionalRestrictions !== 'none' ||
286
288
  receipt.rights.drm !== 'not-permitted' ||
287
- (!hasLegacyOutputs && !hasResourceOutputs && !hasMountOutputs) ||
289
+ (!hasLegacyOutputs && !hasResourceOutputs && !hasMountOutputs && !hasPrimitiveOutput) ||
288
290
  typeof sceneOutputs?.id !== 'string' ||
289
291
  typeof sceneOutputs.integritySha256 !== 'string' ||
290
292
  !/^[a-f0-9]{64}$/.test(sceneOutputs.integritySha256)) {
@@ -1 +1 @@
1
- {"version":3,"file":"packageReader.js","sourceRoot":"","sources":["../../src/sceneImport/packageReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packageReader.js","sourceRoot":"","sources":["../../src/sceneImport/packageReader.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export type SceneV2WorldBuildInput = {
28
28
  vaultPins: SceneV2VaultPin[];
29
29
  /** How many child Scenes this document mounts. Mounted geometry is theirs. */
30
30
  mountCount?: number;
31
+ /** Zero-download render primitives carried directly by the Scene document. */
32
+ primitiveCount?: number;
31
33
  contentRating: 'everyone' | 'teen' | 'mature';
32
34
  supportsMobile: boolean;
33
35
  requiresAuth: boolean;
@@ -21,9 +21,14 @@ function validateSceneV2WorldBuildInput(input) {
21
21
  // whole package inside one 50 MiB multipart body. A COMPOSED Scene goes one
22
22
  // further and declares no resources at all: its geometry lives in the child
23
23
  // Scenes it mounts, each already published with its own resources. What is
24
- // still refused is a Scene with no geometry by ANY of the three routes.
25
- if (!input.resources.length && !input.vaultPins.length && !(input.mountCount ?? 0)) {
26
- throw new Error('at least one Scene resource is required, as a bundle file, a Vault pin or a mounted Scene');
24
+ // A semantic architectural Scene may go further still: render.primitive
25
+ // components ARE its geometry, so it legitimately has no resource table.
26
+ // What is still refused is a Scene with no geometry by any route.
27
+ if (!input.resources.length &&
28
+ !input.vaultPins.length &&
29
+ !(input.mountCount ?? 0) &&
30
+ !(input.primitiveCount ?? 0)) {
31
+ throw new Error('at least one Scene geometry route is required: a bundle file, Vault pin, mounted Scene or render primitive');
27
32
  }
28
33
  const seen = new Set();
29
34
  for (const resource of input.resources) {
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/sceneImport/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/sceneImport/publish.ts"],"names":[],"mappings":"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"}