@helix3/helix-cli 0.1.14-helix3.221 → 0.1.15-helix3.225
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/dist/bundle.d.ts +7 -0
- package/dist/bundle.js +56 -1
- package/dist/bundle.js.map +1 -1
- package/dist/continuum/authoring.d.ts +21 -2
- package/dist/continuum/authoring.js +99 -0
- package/dist/continuum/authoring.js.map +1 -1
- package/dist/continuum/cli.js +3 -1
- package/dist/continuum/cli.js.map +1 -1
- package/dist/continuum/client.js +8 -0
- package/dist/continuum/client.js.map +1 -1
- package/dist/continuum/objectUpload.d.ts +10 -0
- package/dist/continuum/objectUpload.js +34 -0
- package/dist/continuum/objectUpload.js.map +1 -0
- package/dist/continuum/state.js +4 -0
- package/dist/continuum/state.js.map +1 -1
- package/dist/continuum/workflow.js +28 -4
- package/dist/continuum/workflow.js.map +1 -1
- package/dist/cs2/areas.d.ts +41 -0
- package/dist/cs2/areas.js +82 -0
- package/dist/cs2/areas.js.map +1 -0
- package/dist/cs2/binary.d.ts +10 -0
- package/dist/cs2/binary.js +59 -0
- package/dist/cs2/binary.js.map +1 -0
- package/dist/cs2/cityLegacy.d.ts +29 -0
- package/dist/cs2/cityLegacy.js +48 -0
- package/dist/cs2/cityLegacy.js.map +1 -0
- package/dist/cs2/convert/areas.d.ts +32 -0
- package/dist/cs2/convert/areas.js +96 -0
- package/dist/cs2/convert/areas.js.map +1 -0
- package/dist/cs2/convert/glb.d.ts +48 -0
- package/dist/cs2/convert/glb.js +178 -0
- package/dist/cs2/convert/glb.js.map +1 -0
- package/dist/cs2/convert/markings.d.ts +96 -0
- package/dist/cs2/convert/markings.js +329 -0
- package/dist/cs2/convert/markings.js.map +1 -0
- package/dist/cs2/convert/nodeSeams.d.ts +20 -0
- package/dist/cs2/convert/nodeSeams.js +164 -0
- package/dist/cs2/convert/nodeSeams.js.map +1 -0
- package/dist/cs2/convert/roadBake.d.ts +112 -0
- package/dist/cs2/convert/roadBake.js +290 -0
- package/dist/cs2/convert/roadBake.js.map +1 -0
- package/dist/cs2/convert/roads.d.ts +109 -0
- package/dist/cs2/convert/roads.js +409 -0
- package/dist/cs2/convert/roads.js.map +1 -0
- package/dist/cs2/convert/terrain.d.ts +67 -0
- package/dist/cs2/convert/terrain.js +141 -0
- package/dist/cs2/convert/terrain.js.map +1 -0
- package/dist/cs2/convert/terrainConform.d.ts +58 -0
- package/dist/cs2/convert/terrainConform.js +284 -0
- package/dist/cs2/convert/terrainConform.js.map +1 -0
- package/dist/cs2/csm2.d.ts +58 -0
- package/dist/cs2/csm2.js +191 -0
- package/dist/cs2/csm2.js.map +1 -0
- package/dist/cs2/fixtures.d.ts +5 -0
- package/dist/cs2/fixtures.js +15 -0
- package/dist/cs2/fixtures.js.map +1 -0
- package/dist/cs2/impostors.d.ts +31 -0
- package/dist/cs2/impostors.js +42 -0
- package/dist/cs2/impostors.js.map +1 -0
- package/dist/cs2/index.d.ts +19 -0
- package/dist/cs2/index.js +181 -0
- package/dist/cs2/index.js.map +1 -0
- package/dist/cs2/inspect.d.ts +81 -0
- package/dist/cs2/inspect.js +181 -0
- package/dist/cs2/inspect.js.map +1 -0
- package/dist/cs2/materials.d.ts +43 -0
- package/dist/cs2/materials.js +137 -0
- package/dist/cs2/materials.js.map +1 -0
- package/dist/cs2/placements.d.ts +57 -0
- package/dist/cs2/placements.js +116 -0
- package/dist/cs2/placements.js.map +1 -0
- package/dist/cs2/roadPieces.d.ts +79 -0
- package/dist/cs2/roadPieces.js +263 -0
- package/dist/cs2/roadPieces.js.map +1 -0
- package/dist/cs2/roads.d.ts +92 -0
- package/dist/cs2/roads.js +329 -0
- package/dist/cs2/roads.js.map +1 -0
- package/dist/cs2/terrain.d.ts +37 -0
- package/dist/cs2/terrain.js +91 -0
- package/dist/cs2/terrain.js.map +1 -0
- package/dist/cs2/types.d.ts +444 -0
- package/dist/cs2/types.js +22 -0
- package/dist/cs2/types.js.map +1 -0
- package/dist/cs2/water.d.ts +26 -0
- package/dist/cs2/water.js +58 -0
- package/dist/cs2/water.js.map +1 -0
- package/dist/index.js +531 -8
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +10 -0
- package/dist/init.js +80 -5
- package/dist/init.js.map +1 -1
- package/dist/lib.d.ts +10 -3
- package/dist/lib.js +37 -9
- package/dist/lib.js.map +1 -1
- package/dist/placementRequest.d.ts +37 -0
- package/dist/placementRequest.js +220 -0
- package/dist/placementRequest.js.map +1 -0
- package/dist/placements/assets.d.ts +7 -0
- package/dist/placements/assets.js +111 -0
- package/dist/placements/assets.js.map +1 -0
- package/dist/placements/bake.d.ts +2 -0
- package/dist/placements/bake.js +235 -0
- package/dist/placements/bake.js.map +1 -0
- package/dist/placements/source.d.ts +53 -0
- package/dist/placements/source.js +91 -0
- package/dist/placements/source.js.map +1 -0
- package/dist/sceneElements/compiler.d.ts +19 -1
- package/dist/sceneElements/compiler.js +372 -21
- package/dist/sceneElements/compiler.js.map +1 -1
- package/dist/sceneElements/continuum.js +90 -1
- package/dist/sceneElements/continuum.js.map +1 -1
- package/dist/sceneElements/meshCells.d.ts +49 -0
- package/dist/sceneElements/meshCells.js +174 -0
- package/dist/sceneElements/meshCells.js.map +1 -0
- package/dist/sceneElements/types.d.ts +43 -0
- package/dist/sceneImport/publish.d.ts +1 -1
- package/dist/sceneImport/semantic.d.ts +1 -1
- package/dist/sceneImport/streamLayout.d.ts +1 -1
- package/dist/terrain/bake.d.ts +40 -0
- package/dist/terrain/bake.js +318 -0
- package/dist/terrain/bake.js.map +1 -0
- package/dist/terrain/generate.d.ts +21 -0
- package/dist/terrain/generate.js +239 -0
- package/dist/terrain/generate.js.map +1 -0
- package/dist/terrain/grid.d.ts +48 -0
- package/dist/terrain/grid.js +133 -0
- package/dist/terrain/grid.js.map +1 -0
- package/dist/terrain/import.d.ts +40 -0
- package/dist/terrain/import.js +252 -0
- package/dist/terrain/import.js.map +1 -0
- package/dist/terrain/index.d.ts +11 -0
- package/dist/terrain/index.js +88 -0
- package/dist/terrain/index.js.map +1 -0
- package/dist/terrain/inspect.d.ts +35 -0
- package/dist/terrain/inspect.js +115 -0
- package/dist/terrain/inspect.js.map +1 -0
- package/dist/terrain/island.d.ts +31 -0
- package/dist/terrain/island.js +128 -0
- package/dist/terrain/island.js.map +1 -0
- package/dist/terrain/noise.d.ts +79 -0
- package/dist/terrain/noise.js +162 -0
- package/dist/terrain/noise.js.map +1 -0
- package/dist/terrain/normals.d.ts +21 -0
- package/dist/terrain/normals.js +55 -0
- package/dist/terrain/normals.js.map +1 -0
- package/dist/terrain/presets/alpine.json +20 -0
- package/dist/terrain/presets/coast.json +20 -0
- package/dist/terrain/presets/desert.json +22 -0
- package/dist/terrain/presets/forest.json +20 -0
- package/dist/terrain/presets/meadow.json +20 -0
- package/dist/terrain/presets/volcanic.json +22 -0
- package/dist/terrain/presets.d.ts +29 -0
- package/dist/terrain/presets.js +128 -0
- package/dist/terrain/presets.js.map +1 -0
- package/dist/terrain/source.d.ts +42 -0
- package/dist/terrain/source.js +241 -0
- package/dist/terrain/source.js.map +1 -0
- package/dist/terrain/tile.d.ts +92 -0
- package/dist/terrain/tile.js +268 -0
- package/dist/terrain/tile.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/visualsConfig.js +79 -2
- package/dist/visualsConfig.js.map +1 -1
- package/package.json +3 -3
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
package/dist/bundle.d.ts
CHANGED
|
@@ -26,6 +26,13 @@ export declare function hostedThreeVersion(html: string): string | null;
|
|
|
26
26
|
/** The numeric x.y.z ahead of any platform patch tag — the only part that orders three versions. */
|
|
27
27
|
export declare function threeBaseVersion(version: string): string;
|
|
28
28
|
export declare function behindPlatformThree(version: string): boolean;
|
|
29
|
+
/** A streamed terrain has no baked probe field: the ground arrives after the bake would have been taken. */
|
|
30
|
+
export declare const TILED_TERRAIN_BAKED_LIGHTING_WARNING = "tiled terrain with baked lighting: terrain worlds run dynamic GI";
|
|
31
|
+
/**
|
|
32
|
+
* The one lighting rule the file walk cannot reach: a scene world keeps its documents behind
|
|
33
|
+
* `.helixignore`, so the pinned document is read from disk rather than from the bundle listing.
|
|
34
|
+
*/
|
|
35
|
+
export declare function tiledTerrainBakedLightingWarning(root: string): string | null;
|
|
29
36
|
export declare function checkBundle(root: string, options?: {
|
|
30
37
|
compatibleResolverOrigin?: string;
|
|
31
38
|
}): BundleCheck;
|
package/dist/bundle.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MULTIPLAYER_CONFIG_FILENAME = exports.PLATFORM_THREE_VERSION = exports.HELIXIGNORE_FILENAME = void 0;
|
|
3
|
+
exports.MULTIPLAYER_CONFIG_FILENAME = exports.TILED_TERRAIN_BAKED_LIGHTING_WARNING = exports.PLATFORM_THREE_VERSION = exports.HELIXIGNORE_FILENAME = void 0;
|
|
4
4
|
exports.streamablePayload = streamablePayload;
|
|
5
5
|
exports.hostedThreeVersion = hostedThreeVersion;
|
|
6
6
|
exports.threeBaseVersion = threeBaseVersion;
|
|
7
7
|
exports.behindPlatformThree = behindPlatformThree;
|
|
8
|
+
exports.tiledTerrainBakedLightingWarning = tiledTerrainBakedLightingWarning;
|
|
8
9
|
exports.checkBundle = checkBundle;
|
|
9
10
|
exports.multiplayerConfigBundleFile = multiplayerConfigBundleFile;
|
|
11
|
+
const placementRequest_1 = require("./placementRequest");
|
|
10
12
|
const node_fs_1 = require("node:fs");
|
|
11
13
|
const node_path_1 = require("node:path");
|
|
12
14
|
const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
|
|
@@ -212,6 +214,51 @@ function auditBakedLighting(files, configPath, audit) {
|
|
|
212
214
|
}
|
|
213
215
|
return { errors, warnings, notes };
|
|
214
216
|
}
|
|
217
|
+
/** A streamed terrain has no baked probe field: the ground arrives after the bake would have been taken. */
|
|
218
|
+
exports.TILED_TERRAIN_BAKED_LIGHTING_WARNING = 'tiled terrain with baked lighting: terrain worlds run dynamic GI';
|
|
219
|
+
function readJsonAt(root, ...paths) {
|
|
220
|
+
for (const path of paths) {
|
|
221
|
+
const absolute = (0, node_path_1.join)(root, path);
|
|
222
|
+
if (!(0, node_fs_1.existsSync)(absolute))
|
|
223
|
+
continue;
|
|
224
|
+
try {
|
|
225
|
+
return JSON.parse((0, node_fs_1.readFileSync)(absolute, "utf8"));
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* The one lighting rule the file walk cannot reach: a scene world keeps its documents behind
|
|
235
|
+
* `.helixignore`, so the pinned document is read from disk rather than from the bundle listing.
|
|
236
|
+
*/
|
|
237
|
+
function tiledTerrainBakedLightingWarning(root) {
|
|
238
|
+
const manifest = readJsonAt(root, helix_manifest_1.MANIFEST_FILENAME, (0, node_path_1.join)("public", helix_manifest_1.MANIFEST_FILENAME));
|
|
239
|
+
const pin = manifest?.scene;
|
|
240
|
+
if (pin?.kind !== "scene-v2")
|
|
241
|
+
return null;
|
|
242
|
+
const visuals = readJsonAt(root, visualsConfig_1.VISUALS_CONFIG_FILE, visualsConfig_1.VISUALS_CONFIG_SOURCE_PATH);
|
|
243
|
+
if (!visuals || visuals.mode !== "baked")
|
|
244
|
+
return null;
|
|
245
|
+
for (const base of [(0, node_path_1.join)(root, "scene"), (0, node_path_1.join)(root, "public", "scene")]) {
|
|
246
|
+
if (!(0, node_fs_1.existsSync)(base))
|
|
247
|
+
continue;
|
|
248
|
+
for (const entry of (0, node_fs_1.readdirSync)(base, { withFileTypes: true })) {
|
|
249
|
+
if (!entry.isDirectory())
|
|
250
|
+
continue;
|
|
251
|
+
const document = readJsonAt((0, node_path_1.join)(base, entry.name), "scene.helix-scene.json");
|
|
252
|
+
if (!document)
|
|
253
|
+
continue;
|
|
254
|
+
const pinned = document.integrity?.sha256 === pin.integrity?.sha256 || document.id === pin.id;
|
|
255
|
+
if (pinned && document.terrain?.kind === "heightfield" && (document.terrain.tiles?.length ?? 0) > 0) {
|
|
256
|
+
return exports.TILED_TERRAIN_BAKED_LIGHTING_WARNING;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
215
262
|
// Local validation with the exact same rules the server enforces at publish — shared via
|
|
216
263
|
// @hypersoniclabs/helix-manifest, so "validate passed but publish failed" can't happen for contract
|
|
217
264
|
// reasons. TWO rules are CLI-only: the dev-simulator scan below (also the first rule here reading
|
|
@@ -393,6 +440,14 @@ function checkBundle(root, options = {}) {
|
|
|
393
440
|
// Texture quality of whatever textures DO ship: mip-less KTX2 and mipmapping-off samplers. Reads
|
|
394
441
|
// only .ktx2/.glb headers, so a bundle that streams its assets pays nothing here.
|
|
395
442
|
warnings.push(...(0, textureAudit_1.auditBundleTextures)(files).warnings);
|
|
443
|
+
if (manifest) {
|
|
444
|
+
try {
|
|
445
|
+
(0, placementRequest_1.placementRequestBundleFile)(root, files, multiplayerConfigBundleFile(root, manifest));
|
|
446
|
+
}
|
|
447
|
+
catch (error) {
|
|
448
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
449
|
+
}
|
|
450
|
+
}
|
|
396
451
|
return { manifest, files, excluded, errors, warnings, notes };
|
|
397
452
|
}
|
|
398
453
|
// The declarative multiplayer config the room loads at runtime ships as a standalone bundle artifact
|
package/dist/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type
|
|
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
5
|
type NativeCandidate = Extract<ContinuumSceneElement, {
|
|
5
6
|
type: NativeType;
|
|
6
7
|
}>;
|
|
@@ -9,6 +10,16 @@ type ScratchNativeCandidate<T = NativeCandidate> = T extends NativeCandidate ? {
|
|
|
9
10
|
parentId?: string;
|
|
10
11
|
materialId?: string;
|
|
11
12
|
} & Omit<T, 'id' | 'properties' | 'sourceFallback' | 'materialBinding'> : never;
|
|
13
|
+
/** A terrain authored as the FOLDER `helix terrain generate|import` wrote — absolute, or relative to the process directory. */
|
|
14
|
+
export type ScratchTerrainElement = {
|
|
15
|
+
id: string;
|
|
16
|
+
type: 'terrain';
|
|
17
|
+
source: string;
|
|
18
|
+
colliderRadiusM?: number;
|
|
19
|
+
lod?: {
|
|
20
|
+
strideDistancesM?: [number, number, number];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
12
23
|
export type ScratchSceneElement = {
|
|
13
24
|
id: string;
|
|
14
25
|
parentId?: string;
|
|
@@ -17,6 +28,10 @@ export type ScratchSceneElement = {
|
|
|
17
28
|
collision?: boolean;
|
|
18
29
|
residency?: SourceSceneActor['residency'];
|
|
19
30
|
transform?: SourceSceneActor['transform'];
|
|
31
|
+
} | ScratchTerrainElement | {
|
|
32
|
+
id: string;
|
|
33
|
+
type: 'placements';
|
|
34
|
+
source: string;
|
|
20
35
|
} | ScratchNativeCandidate;
|
|
21
36
|
export type ScratchSceneDescription = {
|
|
22
37
|
id: string;
|
|
@@ -25,6 +40,10 @@ export type ScratchSceneDescription = {
|
|
|
25
40
|
canonicalMaterialPackages?: SourceSceneMap['canonicalMaterialPackages'];
|
|
26
41
|
elements: ScratchSceneElement[];
|
|
27
42
|
};
|
|
43
|
+
/** Reads a terrain source folder into the document's leaf element: every tile and the coarse layer, by CID. */
|
|
44
|
+
export declare function scratchTerrainElement(element: ScratchTerrainElement): ContinuumSceneTerrainElement;
|
|
45
|
+
/** The terrain bytes a scratch description publishes, in the order the folder records them. */
|
|
46
|
+
export declare function scratchTerrainObjects(input: ScratchSceneDescription, audience?: 'private' | 'public'): ContinuumObjectPublication[];
|
|
28
47
|
/** Scratch authoring intentionally enters through the same semantic importer as source maps. */
|
|
29
48
|
export declare function createScratchSourceSceneMap(input: ScratchSceneDescription): SourceSceneMap;
|
|
30
49
|
export declare function importScratchScene(input: ScratchSceneDescription): import("../sceneImport/semantic").SourceSceneImportResult;
|
|
@@ -1,11 +1,110 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scratchTerrainElement = scratchTerrainElement;
|
|
4
|
+
exports.scratchTerrainObjects = scratchTerrainObjects;
|
|
3
5
|
exports.createScratchSourceSceneMap = createScratchSourceSceneMap;
|
|
4
6
|
exports.importScratchScene = importScratchScene;
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
|
+
const node_path_1 = require("node:path");
|
|
9
|
+
const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
|
|
10
|
+
const source_1 = require("../terrain/source");
|
|
11
|
+
const source_2 = require("../placements/source");
|
|
5
12
|
const semantic_1 = require("../sceneImport/semantic");
|
|
13
|
+
const objectUpload_1 = require("./objectUpload");
|
|
14
|
+
const TERRAIN_TEXTURE_MEDIA_TYPE = 'image/png';
|
|
15
|
+
function terrainObjectReference(file, role) {
|
|
16
|
+
if (file.bytes > objectUpload_1.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES) {
|
|
17
|
+
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`);
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
cid: `cid:sha256:${file.sha256}`,
|
|
21
|
+
bytes: file.bytes,
|
|
22
|
+
mediaType: role === 'terrain-heights' ? helix_manifest_1.HEIGHTFIELD_MIME_TYPE : TERRAIN_TEXTURE_MEDIA_TYPE,
|
|
23
|
+
role,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function terrainLayerReferences(layer) {
|
|
27
|
+
return {
|
|
28
|
+
heights: terrainObjectReference(layer.heights, 'terrain-heights'),
|
|
29
|
+
...(layer.splat ? { splat: terrainObjectReference(layer.splat, 'terrain-splat') } : {}),
|
|
30
|
+
...(layer.normals ? { normals: terrainObjectReference(layer.normals, 'terrain-normals') } : {}),
|
|
31
|
+
...(layer.layers ? { layers: [...layer.layers] } : {}),
|
|
32
|
+
heightMin: layer.heightMin,
|
|
33
|
+
heightMax: layer.heightMax,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Reads a terrain source folder into the document's leaf element: every tile and the coarse layer, by CID. */
|
|
37
|
+
function scratchTerrainElement(element) {
|
|
38
|
+
const index = (0, source_1.readTerrainSourceIndex)((0, node_path_1.resolve)(element.source));
|
|
39
|
+
if (!index.material) {
|
|
40
|
+
throw new Error(`terrain ${element.id}: "${element.source}" carries no baked material — run \`helix terrain bake\` on it first`);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
id: element.id,
|
|
44
|
+
type: 'terrain',
|
|
45
|
+
grid: { ...index.grid },
|
|
46
|
+
tiles: index.tiles.map((tile) => ({ tx: tile.tx, tz: tile.tz, ...terrainLayerReferences(tile) })),
|
|
47
|
+
coarse: { metresPerSample: index.coarse.metresPerSample, ...terrainLayerReferences(index.coarse) },
|
|
48
|
+
material: index.material,
|
|
49
|
+
...(element.lod?.strideDistancesM ? { lod: { strideDistancesM: [...element.lod.strideDistancesM] } } : {}),
|
|
50
|
+
...(element.colliderRadiusM !== undefined ? { colliderRadiusM: element.colliderRadiusM } : {}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** The terrain bytes a scratch description publishes, in the order the folder records them. */
|
|
54
|
+
function scratchTerrainObjects(input, audience = 'private') {
|
|
55
|
+
// Keyed by CID: tiles over flat ground bake byte-identical splats, and one object is published once.
|
|
56
|
+
const objects = new Map();
|
|
57
|
+
for (const element of input.elements) {
|
|
58
|
+
if (element.type === 'placements') {
|
|
59
|
+
const dir = (0, node_path_1.resolve)(element.source), bake = (0, source_2.readPlacementsBake)(dir), { objects: references } = (0, source_2.placementsContinuum)(dir, element.id);
|
|
60
|
+
bake.files.forEach((file, i) => {
|
|
61
|
+
const reference = references[i];
|
|
62
|
+
if (objects.has(reference.cid))
|
|
63
|
+
return;
|
|
64
|
+
objects.set(reference.cid, { reference, source: { kind: 'inline',
|
|
65
|
+
bytes: new Uint8Array((0, node_fs_1.readFileSync)((0, source_2.placementsFilePath)(dir, file.path))), filename: (0, node_path_1.basename)(file.path), audience } });
|
|
66
|
+
});
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (element.type !== 'terrain')
|
|
70
|
+
continue;
|
|
71
|
+
const dir = (0, node_path_1.resolve)(element.source);
|
|
72
|
+
const index = (0, source_1.readTerrainSourceIndex)(dir);
|
|
73
|
+
const publish = (file, role) => {
|
|
74
|
+
const reference = terrainObjectReference(file, role);
|
|
75
|
+
if (objects.has(reference.cid))
|
|
76
|
+
return;
|
|
77
|
+
objects.set(reference.cid, {
|
|
78
|
+
reference,
|
|
79
|
+
source: {
|
|
80
|
+
kind: 'inline',
|
|
81
|
+
bytes: new Uint8Array((0, node_fs_1.readFileSync)((0, node_path_1.resolve)(dir, file.path))),
|
|
82
|
+
filename: `${element.id}.${(0, node_path_1.basename)(file.path)}`,
|
|
83
|
+
audience,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
for (const layer of [index.coarse, ...index.tiles]) {
|
|
88
|
+
publish(layer.heights, 'terrain-heights');
|
|
89
|
+
if (layer.splat)
|
|
90
|
+
publish(layer.splat, 'terrain-splat');
|
|
91
|
+
if (layer.normals)
|
|
92
|
+
publish(layer.normals, 'terrain-normals');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return [...objects.values()];
|
|
96
|
+
}
|
|
6
97
|
/** Scratch authoring intentionally enters through the same semantic importer as source maps. */
|
|
7
98
|
function createScratchSourceSceneMap(input) {
|
|
8
99
|
const actors = input.elements.map((element) => {
|
|
100
|
+
if (element.type === 'placements') {
|
|
101
|
+
const { element: result } = (0, source_2.placementsContinuum)((0, node_path_1.resolve)(element.source), element.id);
|
|
102
|
+
return { id: result.id, kind: 'placements', confidence: 1, candidate: { type: 'placements', placements: result.placements } };
|
|
103
|
+
}
|
|
104
|
+
if (element.type === 'terrain') {
|
|
105
|
+
const { id, type, ...terrain } = scratchTerrainElement(element);
|
|
106
|
+
return { id, kind: type, confidence: 1, candidate: { type, ...terrain } };
|
|
107
|
+
}
|
|
9
108
|
if (['building', 'group', 'level', 'space'].includes(element.type)) {
|
|
10
109
|
const container = element;
|
|
11
110
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/continuum/authoring.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/continuum/authoring.ts"],"names":[],"mappings":"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"}
|
package/dist/continuum/cli.js
CHANGED
|
@@ -10,6 +10,7 @@ const node_buffer_1 = require("node:buffer");
|
|
|
10
10
|
const node_path_1 = require("node:path");
|
|
11
11
|
const promises_1 = require("node:fs/promises");
|
|
12
12
|
const sourceBundle_1 = require("./sourceBundle");
|
|
13
|
+
const objectUpload_1 = require("./objectUpload");
|
|
13
14
|
const MAX_DESCRIPTOR_BYTES = 16 * 1024 * 1024;
|
|
14
15
|
exports.MAX_INLINE_OBJECT_BYTES = 1024 * 1024;
|
|
15
16
|
async function readContinuumPublicationFile(path) {
|
|
@@ -25,7 +26,8 @@ async function readContinuumPublicationFile(path) {
|
|
|
25
26
|
if (object.source.kind === 'file') {
|
|
26
27
|
if (!object.source.path || object.source.path.includes('\0'))
|
|
27
28
|
throw new TypeError('file object source path must be a non-empty path');
|
|
28
|
-
|
|
29
|
+
// A file object rides the same lane as any local bytes: `putObject` inlines up to 1 MiB and stages the rest.
|
|
30
|
+
const source = await readSafeConfinedFile(descriptorDirectory, object.source.path, objectUpload_1.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES, `file object source ${object.source.path}`);
|
|
29
31
|
objectPublications.push({
|
|
30
32
|
reference: object.reference,
|
|
31
33
|
source: { kind: 'inline', bytes: source.bytes, filename: (0, node_path_1.basename)(source.path), audience: object.source.audience },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/continuum/cli.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/continuum/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/continuum/client.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HelixLegacyAdminContinuumApi = exports.HelixContinuumApi = void 0;
|
|
4
4
|
const node_buffer_1 = require("node:buffer");
|
|
5
5
|
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const objectUpload_1 = require("./objectUpload");
|
|
6
7
|
function unwrap(value) {
|
|
7
8
|
return value && typeof value === 'object' && 'item' in value ? value.item : value;
|
|
8
9
|
}
|
|
@@ -33,6 +34,13 @@ class HelixContinuumApi {
|
|
|
33
34
|
this.api = api;
|
|
34
35
|
}
|
|
35
36
|
async putObject(input) {
|
|
37
|
+
if (input.bytes.byteLength > objectUpload_1.CONTINUUM_INLINE_OBJECT_MAX_BYTES) {
|
|
38
|
+
const result = normalizeObjectReceipt(await (0, objectUpload_1.stageContinuumObject)(this.api, input));
|
|
39
|
+
if (result.cid !== `cid:sha256:${(0, node_crypto_1.createHash)('sha256').update(input.bytes).digest('hex')}`
|
|
40
|
+
|| result.bytes !== input.bytes.byteLength || result.mediaType !== input.mediaType)
|
|
41
|
+
throw new Error('Continuum finalized receipt does not match the uploaded object');
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
36
44
|
return normalizeObjectReceipt(await this.api.request('POST', '/api/v1/continuum/objects', {
|
|
37
45
|
base64: node_buffer_1.Buffer.from(input.bytes).toString('base64'), filename: input.filename,
|
|
38
46
|
mediaType: input.mediaType, audience: input.audience,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/continuum/client.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AACrC,6CAAqD;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/continuum/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HelixApi } from '../api';
|
|
2
|
+
export declare const CONTINUUM_OBJECT_UPLOAD_MAX_BYTES: number;
|
|
3
|
+
export declare const CONTINUUM_INLINE_OBJECT_MAX_BYTES: number;
|
|
4
|
+
/** Local bytes use the verified binary ingestion flow above the inline endpoint's small JSON-body limit. */
|
|
5
|
+
export declare function stageContinuumObject(api: HelixApi, input: {
|
|
6
|
+
bytes: Uint8Array;
|
|
7
|
+
filename: string;
|
|
8
|
+
mediaType: string;
|
|
9
|
+
audience?: 'private' | 'public';
|
|
10
|
+
}): Promise<unknown>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONTINUUM_INLINE_OBJECT_MAX_BYTES = exports.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES = void 0;
|
|
4
|
+
exports.stageContinuumObject = stageContinuumObject;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
exports.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES = 32 * 1024 * 1024;
|
|
7
|
+
exports.CONTINUUM_INLINE_OBJECT_MAX_BYTES = 1024 * 1024;
|
|
8
|
+
/** Local bytes use the verified binary ingestion flow above the inline endpoint's small JSON-body limit. */
|
|
9
|
+
async function stageContinuumObject(api, input) {
|
|
10
|
+
if (input.bytes.byteLength > exports.CONTINUUM_OBJECT_UPLOAD_MAX_BYTES)
|
|
11
|
+
throw new Error('Continuum object exceeds the 32 MiB upload limit');
|
|
12
|
+
const receipt = { contentId: `cid:sha256:${(0, node_crypto_1.createHash)('sha256').update(input.bytes).digest('hex')}`,
|
|
13
|
+
sizeBytes: input.bytes.byteLength, mediaType: input.mediaType, filename: input.filename, audience: input.audience ?? 'private' };
|
|
14
|
+
const raw = await api.request('POST', '/api/v1/continuum/objects/upload-intents', receipt);
|
|
15
|
+
const intent = raw && 'item' in raw ? raw.item : raw;
|
|
16
|
+
if (!intent || intent.method !== 'PUT' || typeof intent.uploadId !== 'string' || !intent.uploadId
|
|
17
|
+
|| typeof intent.uploadToken !== 'string' || !intent.uploadToken || !intent.receipt
|
|
18
|
+
|| Object.entries(receipt).some(([key, value]) => intent.receipt[key] !== value)) {
|
|
19
|
+
throw new Error('Continuum upload intent does not match the requested object');
|
|
20
|
+
}
|
|
21
|
+
const url = new URL(intent.uploadUrl);
|
|
22
|
+
if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password || url.hash)
|
|
23
|
+
throw new Error('Continuum upload URL is invalid');
|
|
24
|
+
const headers = new Headers(intent.headers);
|
|
25
|
+
if (headers.get('content-type') !== receipt.mediaType || headers.get('content-length') !== String(receipt.sizeBytes)
|
|
26
|
+
|| [...headers.keys()].some(key => key !== 'content-type' && key !== 'content-length'))
|
|
27
|
+
throw new Error('Continuum upload headers do not match the object');
|
|
28
|
+
// The signed ticket carries upload authority; never forward the user's API bearer to storage or follow a redirect.
|
|
29
|
+
const uploaded = await fetch(url, { method: 'PUT', headers, body: new Uint8Array(input.bytes), redirect: 'error', signal: AbortSignal.timeout(60000) });
|
|
30
|
+
if (!uploaded.ok)
|
|
31
|
+
throw new Error(`Continuum binary upload failed (${uploaded.status})`);
|
|
32
|
+
return api.request('POST', `/api/v1/continuum/objects/upload-intents/${encodeURIComponent(intent.uploadId)}/finalize`, { ...receipt, uploadToken: intent.uploadToken });
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=objectUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectUpload.js","sourceRoot":"","sources":["../../src/continuum/objectUpload.ts"],"names":[],"mappings":"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"}
|
package/dist/continuum/state.js
CHANGED
|
@@ -126,6 +126,10 @@ async function writeDurably(path, contents) {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
async function syncDirectory(directory) {
|
|
129
|
+
// Windows cannot fsync a directory handle: the handle opens, then `sync()` throws EPERM. The file's
|
|
130
|
+
// own fsync above is what carries the durability guarantee, so skipping this is a no-op there.
|
|
131
|
+
if (process.platform === 'win32')
|
|
132
|
+
return;
|
|
129
133
|
const handle = await (0, promises_1.open)(directory, 'r');
|
|
130
134
|
try {
|
|
131
135
|
await handle.sync();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/continuum/state.ts"],"names":[],"mappings":";;;AAyBA,4CAGC;AAED,sDAEC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/continuum/state.ts"],"names":[],"mappings":"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"}
|