@helix3/helix-cli 0.1.19-helix3.372 → 0.1.19-helix3.377
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/index.js +14 -2
- package/dist/index.js.map +1 -1
- package/dist/item.d.ts +11 -1
- package/dist/item.js +32 -2
- package/dist/item.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/vehicle/addon.d.ts +19 -1
- package/dist/vehicle/addon.js +76 -7
- package/dist/vehicle/addon.js.map +1 -1
- package/dist/vehicle/drive.d.ts +66 -0
- package/dist/vehicle/drive.js +226 -0
- package/dist/vehicle/drive.js.map +1 -0
- package/dist/vehicle/previewAddon.d.ts +6 -1
- package/dist/vehicle/previewAddon.js +136 -19
- package/dist/vehicle/previewAddon.js.map +1 -1
- package/dist/visualQa/avatar.js +17 -0
- package/dist/visualQa/avatar.js.map +1 -1
- package/dist/visualQa/browser.d.ts +42 -2
- package/dist/visualQa/browser.js +117 -12
- package/dist/visualQa/browser.js.map +1 -1
- package/dist/visualQa/checklists.d.ts +15 -1
- package/dist/visualQa/checklists.js +30 -4
- package/dist/visualQa/checklists.js.map +1 -1
- package/dist/visualQa/command.d.ts +2 -0
- package/dist/visualQa/command.js +9 -1
- package/dist/visualQa/command.js.map +1 -1
- package/dist/visualQa/harness.d.ts +2 -0
- package/dist/visualQa/hosted.js +5 -1
- package/dist/visualQa/hosted.js.map +1 -1
- package/dist/visualQa/pinnedChrome.d.ts +63 -0
- package/dist/visualQa/pinnedChrome.js +214 -0
- package/dist/visualQa/pinnedChrome.js.map +1 -0
- package/dist/visualQa/types.d.ts +18 -0
- package/dist/visualQa/vehiclePenetration.d.ts +3 -2
- package/dist/visualQa/vehiclePenetration.js +7 -3
- package/dist/visualQa/vehiclePenetration.js.map +1 -1
- package/dist/visualQa/viewer.js +29 -0
- package/dist/visualQa/viewer.js.map +1 -1
- package/dist/visualQa/webgpuSelfTest.d.ts +52 -0
- package/dist/visualQa/webgpuSelfTest.js +113 -0
- package/dist/visualQa/webgpuSelfTest.js.map +1 -0
- package/dist/visualQa/winChrome.d.ts +19 -2
- package/dist/visualQa/winChrome.js +25 -15
- package/dist/visualQa/winChrome.js.map +1 -1
- package/dist/visualQa/worldWalk.d.ts +59 -0
- package/dist/visualQa/worldWalk.js +518 -0
- package/dist/visualQa/worldWalk.js.map +1 -0
- package/dist/visualQa/worldWalkMath.d.ts +262 -0
- package/dist/visualQa/worldWalkMath.js +860 -0
- package/dist/visualQa/worldWalkMath.js.map +1 -0
- package/dist/visualQa/worldWalkProbe.d.ts +1 -0
- package/dist/visualQa/worldWalkProbe.js +206 -0
- package/dist/visualQa/worldWalkProbe.js.map +1 -0
- package/docs/visual-qa.md +84 -5
- package/package.json +3 -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__/test_beamng_engine.cpython-312.pyc +0 -0
package/dist/index.js
CHANGED
|
@@ -696,6 +696,11 @@ function vehicleContinuumDeps() {
|
|
|
696
696
|
};
|
|
697
697
|
});
|
|
698
698
|
}
|
|
699
|
+
/** The drive-effect instrument for `vehicle addon check`: the live runtime's physics, loaded lazily on first use. */
|
|
700
|
+
async function vehicleDriveMeasure(apiUrl) {
|
|
701
|
+
const drive = await Promise.resolve().then(() => __importStar(require('./vehicle/drive')));
|
|
702
|
+
return async (vehiclePackage, ops, slotType) => drive.judgeDriveEffect(await drive.loadDriveEngine(apiUrl), vehiclePackage, ops, slotType);
|
|
703
|
+
}
|
|
699
704
|
function printVehicleJsonOr(json, value, human) {
|
|
700
705
|
if (json)
|
|
701
706
|
console.log(JSON.stringify(value, (_k, v) => (v === Number.NEGATIVE_INFINITY ? '-Infinity' : v), 2));
|
|
@@ -749,10 +754,14 @@ vehicleAddOnCommand
|
|
|
749
754
|
.command('check')
|
|
750
755
|
.description('Prove an add-on will fit and land where it should BEFORE paying for it: the local fits/ops contract, the model\'s helixMeshFrame anchoring '
|
|
751
756
|
+ '(a socket-frame part centred on its mount), per host — a vehicle, wheel origins at the hubs, hide targets present, hide grants on the board — '
|
|
752
|
-
+ '
|
|
753
|
-
+ '
|
|
757
|
+
+ 'tunable paths the part requires exposed on the host surface, the backend\'s own fit dry run (POST /universal-items/validate-fit: how many '
|
|
758
|
+
+ 'hosts it actually fits), and — for tune ops — the DRIVE EFFECT on each host, measured with the live runtime\'s own physics and add-on fold '
|
|
759
|
+
+ '(0-100, top speed, quarter mile, skidpad g and roll, full- and part-pedal stops, handbrake), each op judged on a figure it can move; an op '
|
|
760
|
+
+ 'that changes nothing or cancels another is reported. Directory: addon.json { title, fits, ops, ... } + model.glb (none for a tune-only part: '
|
|
761
|
+
+ 'ECU, gearbox, brakes, sway bars, coilovers, tyre compound — every op a tune). Exit 0 = fits every named host and does something')
|
|
754
762
|
.argument('<dir>', 'the add-on directory')
|
|
755
763
|
.option('--glb <file>', 'the add-on model, when the directory holds more than one .glb')
|
|
764
|
+
.option('--no-measure', 'skip the drive-effect measurement (it downloads the live runtime and runs its physics, ~1-5 s per host)')
|
|
756
765
|
.option('--json', 'print the machine-readable report')
|
|
757
766
|
.action(async (dir, opts) => {
|
|
758
767
|
try {
|
|
@@ -762,6 +771,7 @@ vehicleAddOnCommand
|
|
|
762
771
|
api: lib_1.HelixApi.forCredentials(creds),
|
|
763
772
|
onProgress: (m) => { if (!opts.json)
|
|
764
773
|
console.log(`· ${m}`); },
|
|
774
|
+
measureDrive: opts.measure === false ? undefined : await vehicleDriveMeasure(creds.apiUrl),
|
|
765
775
|
});
|
|
766
776
|
printVehicleJsonOr(opts.json, report, () => console.log(addon.formatAddOnReport(report)));
|
|
767
777
|
if (!report.ok)
|
|
@@ -1758,6 +1768,7 @@ item
|
|
|
1758
1768
|
.option('--package-version <version>', 'render this version of the item\'s pinned package instead of the pin: a version move judged before the pointer moves (vehicles, avatars, add-ons, wearables)')
|
|
1759
1769
|
.option('--vehicle-package <file>', 'with --package-version on a vehicle: the version move\'s vehicle package JSON, served by Try Now after server-side preparation')
|
|
1760
1770
|
.option('--chrome <path>', 'Chromium executable (default: Playwright Chromium / Chrome for Testing, headless; the macOS system Chrome is refused)')
|
|
1771
|
+
.option('--no-world-walk', 'skip the world walk (wearables, character add-ons, avatars: worn and walked in the test grounds, measured for holes and poke-through); also HELIX_VQA_WORLD_WALK=0')
|
|
1761
1772
|
.option('--api-url <url>', 'platform API base URL')
|
|
1762
1773
|
.option('--web-url <url>', 'website base URL (default: the site that serves --api-url)')
|
|
1763
1774
|
.option('--json', 'print the outcome as JSON')
|
|
@@ -1881,6 +1892,7 @@ item
|
|
|
1881
1892
|
packageVersion: opts.packageVersion?.trim() || null,
|
|
1882
1893
|
vehiclePackage,
|
|
1883
1894
|
chrome: opts.chrome,
|
|
1895
|
+
worldWalk: opts.worldWalk,
|
|
1884
1896
|
submit: opts.submit,
|
|
1885
1897
|
localCritic: opts.localCritic,
|
|
1886
1898
|
cliVersion: (0, lib_1.cliVersion)(),
|