@hypersoniclabs/helix-cli 0.1.27-helix3.574 → 0.1.27-helix3.576
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/city/convert/codeFingerprint.d.ts +7 -0
- package/dist/city/convert/codeFingerprint.js +55 -0
- package/dist/city/convert/codeFingerprint.js.map +1 -0
- package/dist/city/convert/command.js +2 -1
- package/dist/city/convert/command.js.map +1 -1
- package/dist/city/convert/receipt.d.ts +3 -0
- package/dist/city/convert/receipt.js.map +1 -1
- package/dist/city/convert/roadBudget.d.ts +11 -0
- package/dist/city/convert/roadBudget.js +17 -0
- package/dist/city/convert/roadBudget.js.map +1 -1
- package/dist/city/convert/run.d.ts +4 -0
- package/dist/city/convert/run.js +7 -3
- package/dist/city/convert/run.js.map +1 -1
- package/dist/city/convert/stages.d.ts +2 -0
- package/dist/city/convert/stages.js +21 -6
- package/dist/city/convert/stages.js.map +1 -1
- package/dist/city/import/cs2/areas.js +4 -1
- package/dist/city/import/cs2/areas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.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/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** sha256 over every code file's relative path and bytes under `roots` (sorted, so the same tree always hashes the same). */
|
|
2
|
+
export declare function hashCodeTree(roots: string[]): string;
|
|
3
|
+
/**
|
|
4
|
+
* The fingerprint of the CLI tree this module runs from (`dist/` when built, `src/` under the tests) plus the vendored validators beside it.
|
|
5
|
+
* Computed once per process: the tree does not change under a running conversion.
|
|
6
|
+
*/
|
|
7
|
+
export declare function cliCodeFingerprint(): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// A fingerprint of the CLI's own code. A conversion stage's output depends on the code that built it as much as on its config: `helix city
|
|
3
|
+
// convert cs2` reuses a stage whose signature is unchanged, and the package version does not move between commits, so a fix to (say) the road
|
|
4
|
+
// weld shipped nothing until somebody remembered `--force` (2026-10-21: a rebuild after a code fix silently kept the old output). Hashing the
|
|
5
|
+
// code that the stages spawn (`helix ...` children run this very tree) puts that fix into the stage signature, so the stage reruns on its own.
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.hashCodeTree = hashCodeTree;
|
|
8
|
+
exports.cliCodeFingerprint = cliCodeFingerprint;
|
|
9
|
+
const node_crypto_1 = require("node:crypto");
|
|
10
|
+
const node_fs_1 = require("node:fs");
|
|
11
|
+
const node_path_1 = require("node:path");
|
|
12
|
+
/** Files that are part of what a stage executes or ships: compiled/ts code, json tables, the bundled model runtime and its wasm. */
|
|
13
|
+
const CODE_FILE = /\.(?:m?js|cjs|ts|json|txt|bin|wasm)$/;
|
|
14
|
+
/** Tests, type declarations and maps do not change a stage's output. */
|
|
15
|
+
const NOT_CODE = /(?:\.(?:spec|test)\.(?:m?js|ts)|\.d\.ts|\.map|\.tsbuildinfo)$/;
|
|
16
|
+
function collect(dir, root, out) {
|
|
17
|
+
for (const entry of (0, node_fs_1.readdirSync)(dir, { withFileTypes: true }).sort((a, b) => (a.name < b.name ? -1 : 1))) {
|
|
18
|
+
if (entry.name === 'node_modules' || entry.name.startsWith('.'))
|
|
19
|
+
continue;
|
|
20
|
+
const path = (0, node_path_1.join)(dir, entry.name);
|
|
21
|
+
if (entry.isDirectory())
|
|
22
|
+
collect(path, root, out);
|
|
23
|
+
else if (entry.isFile() && CODE_FILE.test(entry.name) && !NOT_CODE.test(entry.name))
|
|
24
|
+
out.push((0, node_path_1.relative)(root, path));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** sha256 over every code file's relative path and bytes under `roots` (sorted, so the same tree always hashes the same). */
|
|
28
|
+
function hashCodeTree(roots) {
|
|
29
|
+
const hash = (0, node_crypto_1.createHash)('sha256');
|
|
30
|
+
for (const root of roots) {
|
|
31
|
+
if (!(0, node_fs_1.existsSync)(root) || !(0, node_fs_1.statSync)(root).isDirectory())
|
|
32
|
+
continue;
|
|
33
|
+
const files = [];
|
|
34
|
+
collect(root, root, files);
|
|
35
|
+
for (const file of files) {
|
|
36
|
+
hash.update(`${file}\0`);
|
|
37
|
+
hash.update((0, node_fs_1.readFileSync)((0, node_path_1.join)(root, file)));
|
|
38
|
+
hash.update('\0');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return hash.digest('hex');
|
|
42
|
+
}
|
|
43
|
+
let cached;
|
|
44
|
+
/**
|
|
45
|
+
* The fingerprint of the CLI tree this module runs from (`dist/` when built, `src/` under the tests) plus the vendored validators beside it.
|
|
46
|
+
* Computed once per process: the tree does not change under a running conversion.
|
|
47
|
+
*/
|
|
48
|
+
function cliCodeFingerprint() {
|
|
49
|
+
if (!cached) {
|
|
50
|
+
const codeRoot = (0, node_path_1.join)(__dirname, '..', '..');
|
|
51
|
+
cached = hashCodeTree([codeRoot, (0, node_path_1.join)(codeRoot, '..', 'vendor')]);
|
|
52
|
+
}
|
|
53
|
+
return cached;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=codeFingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeFingerprint.js","sourceRoot":"","sources":["../../../src/city/convert/codeFingerprint.ts"],"names":[],"mappings":";AAAA,2IAA2I;AAC3I,8IAA8I;AAC9I,8IAA8I;AAC9I,+IAA+I;;AAqB/I,oCAaC;AAQD,gDAMC;AA9CD,6CAAyC;AACzC,qCAA0E;AAC1E,yCAA2C;AAE3C,oIAAoI;AACpI,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,wEAAwE;AACxE,MAAM,QAAQ,GAAG,+DAA+D,CAAC;AAEjF,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,GAAa;IACvD,KAAK,MAAM,KAAK,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1E,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED,6HAA6H;AAC7H,SAAgB,YAAY,CAAC,KAAe;IAC1C,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QACjE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,IAAI,MAA0B,CAAC;AAE/B;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -41,6 +41,7 @@ function registerCityConvert(city, fail) {
|
|
|
41
41
|
.option('--from <stage>', 'rerun this stage and everything after it')
|
|
42
42
|
.option('--stop-after <stage>', 'stop after this stage')
|
|
43
43
|
.option('--force', 'ignore the receipt and run every stage')
|
|
44
|
+
.option('--allow-over-budget <reason>', 'publish a root whose scene-memory audit fails (it is otherwise refused on both tiers); the reason is recorded in the receipt')
|
|
44
45
|
.option('--unlisted', 'the publish plan says unlisted (the default)')
|
|
45
46
|
.option('--public', 'the publish plan says public')
|
|
46
47
|
.option('--private', 'the publish plan says private')
|
|
@@ -97,7 +98,7 @@ function registerCityConvert(city, fail) {
|
|
|
97
98
|
const out = (0, node_path_1.resolve)(opts.out ?? `convert-${opts.name}`);
|
|
98
99
|
const receipt = await (0, run_1.runConvert)({
|
|
99
100
|
bundle: (0, node_path_1.resolve)(bundle), out, config, exec: (0, exec_1.childExec)({ out }), ...(opts.publish ? { run: (0, exec_1.externalExec)({ out }) } : {}), cliVersion: (0, lib_1.cliVersion)(), log: (line) => process.stderr.write(`${line}\n`),
|
|
100
|
-
...(opts.jobs ? { jobs: Math.max(1, Number(opts.jobs)) } : {}), ...(opts.from ? { from: opts.from } : {}), ...(opts.stopAfter ? { stopAfter: opts.stopAfter } : {}), ...(opts.force ? { force: true } : {}),
|
|
101
|
+
...(opts.jobs ? { jobs: Math.max(1, Number(opts.jobs)) } : {}), ...(opts.from ? { from: opts.from } : {}), ...(opts.stopAfter ? { stopAfter: opts.stopAfter } : {}), ...(opts.force ? { force: true } : {}), ...(opts.allowOverBudget ? { allowOverBudget: opts.allowOverBudget } : {}),
|
|
101
102
|
});
|
|
102
103
|
if (opts.json) {
|
|
103
104
|
console.log(JSON.stringify(receipt, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/city/convert/command.ts"],"names":[],"mappings":";AAAA,qIAAqI;;AAuBrI,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/city/convert/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ export interface StageReceipt {
|
|
|
17
17
|
export interface ConvertReceipt {
|
|
18
18
|
schema: typeof CONVERT_RECEIPT_SCHEMA;
|
|
19
19
|
cliVersion: string;
|
|
20
|
+
/** Hash of the CLI code that built this output (codeFingerprint.ts); absent on a receipt written before stages were keyed on code. */
|
|
21
|
+
codeFingerprint?: string;
|
|
20
22
|
bundle: string;
|
|
21
23
|
out: string;
|
|
22
24
|
config: unknown;
|
|
@@ -33,6 +35,7 @@ export interface ConvertReceipt {
|
|
|
33
35
|
export declare const sha256Json: (value: unknown) => string;
|
|
34
36
|
export declare function newReceipt(init: {
|
|
35
37
|
cliVersion: string;
|
|
38
|
+
codeFingerprint: string;
|
|
36
39
|
bundle: string;
|
|
37
40
|
out: string;
|
|
38
41
|
config: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/city/convert/receipt.ts"],"names":[],"mappings":";AAAA,iIAAiI;AACjI,sFAAsF;;;
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/city/convert/receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,3 +39,14 @@ export interface RoadBudgetAudit {
|
|
|
39
39
|
ok: boolean;
|
|
40
40
|
}
|
|
41
41
|
export declare function auditRoadBudget(root: BudgetRoot, tier: 'desktop' | 'phone', hasHlod: boolean, roadPrefix?: string): RoadBudgetAudit;
|
|
42
|
+
/**
|
|
43
|
+
* The pipeline's gate on the audit: a root whose worst camera position bills more than its authored budget does not get published, on either
|
|
44
|
+
* tier. (It was only the desktop that refused; a phone overshoot was "recorded", and two Leonida builds shipped with `ok: false` at up to
|
|
45
|
+
* 235.6 of 192 MiB. The engine does not save a phone from this: it admits the groups under the camera past the budget and reports the
|
|
46
|
+
* overshoot, so the player's phone holds the extra memory.) A person who accepts a specific overshoot passes the reason (`--allow-over-budget`);
|
|
47
|
+
* it is recorded in the receipt, never the default.
|
|
48
|
+
*/
|
|
49
|
+
export declare function enforceRoadBudget(audit: RoadBudgetAudit, rootName: string, allowReason?: string): {
|
|
50
|
+
overByMiB: number;
|
|
51
|
+
overridden: string | null;
|
|
52
|
+
};
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.ROAD_AUDIT_CAMERA_Y_M = exports.HLOD_APPEARANCE_RESERVE_MIB = void 0;
|
|
9
9
|
exports.auditRoadBudget = auditRoadBudget;
|
|
10
|
+
exports.enforceRoadBudget = enforceRoadBudget;
|
|
10
11
|
/** The shared HLOD appearance (decoded city materials) the engine reserves once an HLOD layer is active, MiB (measured, systems/scene hlod/resources.ts). */
|
|
11
12
|
exports.HLOD_APPEARANCE_RESERVE_MIB = { desktop: 66.7, phone: 13.6 };
|
|
12
13
|
/** Camera height over the road used for the sweep, metres: a street-level to low-fly camera. */
|
|
@@ -47,4 +48,20 @@ function auditRoadBudget(root, tier, hasHlod, roadPrefix = 'stream.road') {
|
|
|
47
48
|
}
|
|
48
49
|
return { eagerMiB, hlodMiB, budgetMiB, streamRadiusM, worstMiB: worst, worstAt, worstRoadMiB: worstRoad, roadGroups: roads.length, headroomMiB: budgetMiB - worst, ok: worst <= budgetMiB };
|
|
49
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* The pipeline's gate on the audit: a root whose worst camera position bills more than its authored budget does not get published, on either
|
|
53
|
+
* tier. (It was only the desktop that refused; a phone overshoot was "recorded", and two Leonida builds shipped with `ok: false` at up to
|
|
54
|
+
* 235.6 of 192 MiB. The engine does not save a phone from this: it admits the groups under the camera past the budget and reports the
|
|
55
|
+
* overshoot, so the player's phone holds the extra memory.) A person who accepts a specific overshoot passes the reason (`--allow-over-budget`);
|
|
56
|
+
* it is recorded in the receipt, never the default.
|
|
57
|
+
*/
|
|
58
|
+
function enforceRoadBudget(audit, rootName, allowReason) {
|
|
59
|
+
if (audit.ok)
|
|
60
|
+
return { overByMiB: 0, overridden: null };
|
|
61
|
+
const overByMiB = Math.round((audit.worstMiB - audit.budgetMiB) * 10) / 10;
|
|
62
|
+
if (allowReason)
|
|
63
|
+
return { overByMiB, overridden: allowReason };
|
|
64
|
+
throw new Error(`${rootName} bills ${audit.worstMiB.toFixed(1)} MiB against its ${audit.budgetMiB} MiB scene budget near the roads (${overByMiB} MiB over) at ${audit.worstAt.map(Math.round).join(',')} (`
|
|
65
|
+
+ `eager ${audit.eagerMiB}, HLOD ${audit.hlodMiB}, road groups ${audit.worstRoadMiB}, the rest ${Math.round((audit.worstMiB - audit.eagerMiB - audit.hlodMiB - audit.worstRoadMiB) * 10) / 10})`);
|
|
66
|
+
}
|
|
50
67
|
//# sourceMappingURL=roadBudget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadBudget.js","sourceRoot":"","sources":["../../../src/city/convert/roadBudget.ts"],"names":[],"mappings":";AAAA,yIAAyI;AACzI,4IAA4I;AAC5I,8IAA8I;AAC9I,4IAA4I;AAC5I,yHAAyH;;;AA2BzH,0CAqBC;
|
|
1
|
+
{"version":3,"file":"roadBudget.js","sourceRoot":"","sources":["../../../src/city/convert/roadBudget.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export interface RunOptions {
|
|
|
9
9
|
/** External programs for the publish stages (`--publish`). */
|
|
10
10
|
run?: ExternalRun;
|
|
11
11
|
cliVersion: string;
|
|
12
|
+
/** Hash of the CLI code the stages run (default: this tree's). It is part of every stage's signature: a code fix reruns the stages it can change, with no `--force`. */
|
|
13
|
+
codeFingerprint?: string;
|
|
12
14
|
log?: (line: string) => void;
|
|
13
15
|
jobs?: number;
|
|
14
16
|
/** Rerun this stage and everything after it. */
|
|
@@ -17,6 +19,8 @@ export interface RunOptions {
|
|
|
17
19
|
stopAfter?: string;
|
|
18
20
|
/** Ignore the receipt; run every stage. */
|
|
19
21
|
force?: boolean;
|
|
22
|
+
/** A reason to publish a root whose road-budget audit fails (the validate stage otherwise refuses it); recorded in the receipt. */
|
|
23
|
+
allowOverBudget?: string;
|
|
20
24
|
}
|
|
21
25
|
export declare function listStages(config: ConvertConfig, meshMode?: Facts['meshMode'] | 'unknown', bakedRoads?: boolean): StageDef[];
|
|
22
26
|
export declare function runConvert(options: RunOptions): Promise<ConvertReceipt>;
|
package/dist/city/convert/run.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.listStages = listStages;
|
|
|
5
5
|
exports.runConvert = runConvert;
|
|
6
6
|
const node_fs_1 = require("node:fs");
|
|
7
7
|
const node_path_1 = require("node:path");
|
|
8
|
+
const codeFingerprint_1 = require("./codeFingerprint");
|
|
8
9
|
const receipt_1 = require("./receipt");
|
|
9
10
|
const stages_1 = require("./stages");
|
|
10
11
|
function listStages(config, meshMode = 'unknown', bakedRoads = false) {
|
|
@@ -16,12 +17,15 @@ async function runConvert(options) {
|
|
|
16
17
|
(0, node_fs_1.mkdirSync)(out, { recursive: true });
|
|
17
18
|
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(out, 'convert.json'), `${JSON.stringify(config, null, 2)}\n`);
|
|
18
19
|
const paths = (0, stages_1.convertPaths)(options.bundle, out, config.name);
|
|
19
|
-
const ctx = { config, paths, exec: options.exec, ...(options.run ? { run: options.run } : {}), log, jobs: options.jobs ?? 4 };
|
|
20
|
+
const ctx = { config, paths, exec: options.exec, ...(options.run ? { run: options.run } : {}), log, jobs: options.jobs ?? 4, ...(options.allowOverBudget ? { allowOverBudget: options.allowOverBudget } : {}) };
|
|
20
21
|
const prior = options.force ? null : (0, receipt_1.readReceipt)(out);
|
|
21
|
-
const
|
|
22
|
+
const codeFingerprint = options.codeFingerprint ?? (0, codeFingerprint_1.cliCodeFingerprint)();
|
|
23
|
+
const receipt = (0, receipt_1.newReceipt)({ cliVersion: options.cliVersion, codeFingerprint, bundle: options.bundle, out, config });
|
|
22
24
|
if (prior && prior.bundle === options.bundle) {
|
|
23
25
|
receipt.stages = prior.stages.filter((s) => s.status === 'ok');
|
|
24
26
|
(0, receipt_1.refreshApplied)(receipt);
|
|
27
|
+
if (prior.cliVersion !== options.cliVersion || prior.codeFingerprint !== codeFingerprint)
|
|
28
|
+
log(`the CLI changed since this output was built (${prior.cliVersion} ${prior.codeFingerprint?.slice(0, 8) ?? 'unhashed'} -> ${options.cliVersion} ${codeFingerprint.slice(0, 8)}): every stage reruns`);
|
|
25
29
|
}
|
|
26
30
|
let meshMode = 'unknown';
|
|
27
31
|
let stages = (0, stages_1.buildStages)(config, meshMode);
|
|
@@ -29,7 +33,7 @@ async function runConvert(options) {
|
|
|
29
33
|
throw new Error(`--from ${options.from}: no such stage (${stages.map((s) => s.id).join(', ')})`);
|
|
30
34
|
if (options.stopAfter && !stages.some((s) => s.id === options.stopAfter))
|
|
31
35
|
throw new Error(`--stop-after ${options.stopAfter}: no such stage (${stages.map((s) => s.id).join(', ')})`);
|
|
32
|
-
let chain = (0, receipt_1.sha256Json)({ bundle: options.bundle, cli: options.cliVersion });
|
|
36
|
+
let chain = (0, receipt_1.sha256Json)({ bundle: options.bundle, cli: options.cliVersion, code: codeFingerprint });
|
|
33
37
|
let rerun = Boolean(options.force);
|
|
34
38
|
for (let index = 0; index < stages.length; index += 1) {
|
|
35
39
|
const stage = stages[index];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/city/convert/run.ts"],"names":[],"mappings":";AAAA,+HAA+H;;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/city/convert/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,8 @@ export interface StageContext {
|
|
|
82
82
|
/** HEADs URLs through the CDN with `Accept-Encoding: gzip`: the headers a client is served (replaced in tests; the upload stage defaults to a parallel HEAD). */
|
|
83
83
|
headCdn?: (urls: string[]) => Promise<HeadRow[]>;
|
|
84
84
|
log: (line: string) => void;
|
|
85
|
+
/** A person's reason for publishing a root whose road-budget audit fails (`--allow-over-budget`); recorded in the receipt. */
|
|
86
|
+
allowOverBudget?: string;
|
|
85
87
|
/** Parallel child processes for sharded prototype builds. */
|
|
86
88
|
jobs: number;
|
|
87
89
|
}
|
|
@@ -424,10 +424,12 @@ function worldDataStage() {
|
|
|
424
424
|
function validateStage() {
|
|
425
425
|
return {
|
|
426
426
|
id: 'validate', title: 'Perf-gate the final roots (P01-P14), desktop and phone', optimizations: ['perf.gate-both-tiers'],
|
|
427
|
-
signature: (ctx) => ({ tiers: ctx.config.tiers, roadBudget:
|
|
427
|
+
signature: (ctx) => ({ tiers: ctx.config.tiers, roadBudget: 2, allowOverBudget: ctx.allowOverBudget ?? null }),
|
|
428
428
|
outputs: (ctx) => ctx.config.tiers.map((t) => (0, node_path_1.join)(ctx.paths.out, `validate-${t}.txt`)),
|
|
429
429
|
async run(ctx) {
|
|
430
430
|
const commands = [];
|
|
431
|
+
const facts = {};
|
|
432
|
+
const refused = [];
|
|
431
433
|
for (const tier of ctx.config.tiers) {
|
|
432
434
|
const args = ['scene', 'validate', '--perf', '--tier', tier, (0, node_path_1.join)(ctx.paths.publishScene, ctx.paths.finalRoot(tier))];
|
|
433
435
|
const result = await ctx.exec(args, { id: `validate.${tier}`, memMiB: 8192 });
|
|
@@ -439,12 +441,25 @@ function validateStage() {
|
|
|
439
441
|
const root = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(ctx.paths.publishScene, ctx.paths.finalRoot(tier), 'scene.helix-scene.json'), 'utf8'));
|
|
440
442
|
const audit = (0, roadBudget_1.auditRoadBudget)(root, tier === 'mobile' ? 'phone' : 'desktop', root.capabilities.required.some((c) => c.startsWith('helix.scene-hlod/')));
|
|
441
443
|
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(ctx.paths.out, `validate-${tier}-road-budget.json`), JSON.stringify(audit, null, 2));
|
|
442
|
-
// Desktop refuses to start over its budget (the shared HLOD appearance is reserved on top); a phone is billed over its
|
|
443
|
-
//
|
|
444
|
-
|
|
445
|
-
|
|
444
|
+
// Both tiers are a gate. Desktop refuses to start over its budget (the shared HLOD appearance is reserved on top); a phone is billed over its
|
|
445
|
+
// 192 MiB by the engine's forced admission and holds that memory. An override needs a reason and is recorded.
|
|
446
|
+
let verdict;
|
|
447
|
+
try {
|
|
448
|
+
verdict = (0, roadBudget_1.enforceRoadBudget)(audit, ctx.paths.finalRoot(tier), ctx.allowOverBudget);
|
|
449
|
+
}
|
|
450
|
+
catch (error) {
|
|
451
|
+
refused.push(error instanceof Error ? error.message : String(error));
|
|
452
|
+
continue;
|
|
453
|
+
}
|
|
454
|
+
if (verdict.overridden) {
|
|
455
|
+
facts[`${tier}OverBudgetMiB`] = verdict.overByMiB;
|
|
456
|
+
facts[`${tier}OverBudgetAllowed`] = verdict.overridden;
|
|
457
|
+
ctx.log(`validate: ${ctx.paths.finalRoot(tier)} is ${verdict.overByMiB} MiB over its budget; published anyway: ${verdict.overridden}`);
|
|
458
|
+
}
|
|
446
459
|
}
|
|
447
|
-
|
|
460
|
+
if (refused.length)
|
|
461
|
+
throw new Error(`${refused.join('\n')}\nNothing is published. Shrink what is resident (the building mounts, the road groups) or, to accept the overshoot knowingly, rerun with --allow-over-budget "<reason>".`);
|
|
462
|
+
return { commands, ...(Object.keys(facts).length ? { facts } : {}) };
|
|
448
463
|
},
|
|
449
464
|
};
|
|
450
465
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/city/convert/stages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/city/convert/stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ const source_1 = require("../../source");
|
|
|
13
13
|
const poly_1 = require("./poly");
|
|
14
14
|
const tables_1 = require("./tables");
|
|
15
15
|
const MIN_AREA_M2 = 0.5;
|
|
16
|
+
/** A traced hole smaller than this encloses no area the source validator accepts (its floor is 0.01 m²); it is a rasterisation sliver, not a pond. */
|
|
17
|
+
const MIN_HOLE_M2 = 0.05;
|
|
18
|
+
const ringAreaAbs = (ring) => Math.abs(ring.reduce((s, p, i) => s + (p[0] * ring[(i + 1) % ring.length][1] - ring[(i + 1) % ring.length][0] * p[1]), 0) / 2);
|
|
16
19
|
const SIMPLIFY_M = 0.15;
|
|
17
20
|
/** Split a closed vertex loop wherever a vertex repeats, so each piece visits every vertex at most once. */
|
|
18
21
|
function splitAtPinches(loop) {
|
|
@@ -303,7 +306,7 @@ function cleanPolygon(polygon) {
|
|
|
303
306
|
let tracedHoles = [];
|
|
304
307
|
for (const tolerance of [SIMPLIFY_M, SIMPLIFY_M / 3, 0]) {
|
|
305
308
|
const ring = (0, poly_1.cleanRing)(round((0, poly_1.cleanRing)((0, poly_1.simplifyClosed)(polygon.ring, tolerance))));
|
|
306
|
-
const holes = polygon.holes.map((h) => (0, poly_1.cleanRing)(round((0, poly_1.cleanRing)((0, poly_1.simplifyClosed)(h, tolerance))))).filter((h) => h.length >= 3);
|
|
309
|
+
const holes = polygon.holes.map((h) => (0, poly_1.cleanRing)(round((0, poly_1.cleanRing)((0, poly_1.simplifyClosed)(h, tolerance))))).filter((h) => h.length >= 3 && ringAreaAbs(h) >= MIN_HOLE_M2);
|
|
307
310
|
if (ring.length < 3)
|
|
308
311
|
continue;
|
|
309
312
|
if ((0, poly_1.polygonIsClean)({ ring, holes }))
|