@helix3/helix-cli 0.1.21-helix3.407 → 0.1.21-helix3.408
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 +9 -4
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/vehicle/keyboardLaunch.d.ts +187 -0
- package/dist/vehicle/keyboardLaunch.js +336 -0
- package/dist/vehicle/keyboardLaunch.js.map +1 -0
- package/dist/vehicle/paintHue.d.ts +76 -11
- package/dist/vehicle/paintHue.js +196 -46
- package/dist/vehicle/paintHue.js.map +1 -1
- package/dist/vehicle/preview.d.ts +2 -2
- package/dist/vehicle/preview.js +18 -31
- package/dist/vehicle/preview.js.map +1 -1
- package/dist/vehicle/simulate.d.ts +8 -0
- package/dist/vehicle/simulate.js +15 -3
- package/dist/vehicle/simulate.js.map +1 -1
- package/dist/vehicle/validate.js +13 -0
- package/dist/vehicle/validate.js.map +1 -1
- package/dist/visualQa/harness.d.ts +2 -0
- package/dist/visualQa/vehicle.js +47 -1
- package/dist/visualQa/vehicle.js.map +1 -1
- package/dist/visualQa/vehicleProbe.d.ts +1 -1
- package/dist/visualQa/vehicleProbe.js +44 -0
- package/dist/visualQa/vehicleProbe.js.map +1 -1
- package/docs/vehicle-simulate.md +19 -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__/test_beamng_engine.cpython-312.pyc +0 -0
package/dist/index.js
CHANGED
|
@@ -653,8 +653,8 @@ vehicleCommand
|
|
|
653
653
|
.option('--out <dir>', 'frames, contact-sheet.jpg, bundle.json and preview.json go here (default: <dir>/.helix-preview)')
|
|
654
654
|
.option('--proxy-item <id>', 'a published vehicle the QA account can Try Now; the runtime loads it and the candidate replaces its car (and its slot board is what --addon fits to)')
|
|
655
655
|
.option('--occupants', 'also seat an avatar in every seat, judge the cabin, and report where the runtime\'s cabin fit put each seat vs where it was authored (slow)')
|
|
656
|
-
.option('--reference-paint <#rrggbb>', 'the reference body paint colour,
|
|
657
|
-
.option('--paint-tolerance <deg>', 'maximum circular hue distance (degrees) the rendered body may sit from --reference-paint (default
|
|
656
|
+
.option('--reference-paint <#rrggbb>', 'the reference body paint colour, the median of the body-paint pixels in the reference photos: renders the body paint alone from six cameras in the Try Now daylight (the world\'s own sun, exposure, tone mapping and lights) and fails on hue, saturation, lightness or highlight wash. White/silver/grey/black are judged on tint and lightness instead of hue')
|
|
657
|
+
.option('--paint-tolerance <deg>', 'maximum circular hue distance (degrees) the rendered body may sit from a chromatic --reference-paint (default 12)', (v) => Number(v))
|
|
658
658
|
.option('--storage-state <file>', 'Playwright storageState of a signed-in QA account (default: sign in with `helix login`, or $HELIX_VQA_STORAGE_STATE)')
|
|
659
659
|
.option('--chrome <path>', 'Chromium executable (default: Playwright Chromium / Chrome for Testing, headless; the macOS system Chrome is refused)')
|
|
660
660
|
.option('--api-url <url>', 'platform API base URL')
|
|
@@ -728,7 +728,11 @@ vehicleCommand
|
|
|
728
728
|
+ 'PASS iff |error| <= tolerance. The runtime is fetched once per version and cached by sha under ~/.helix/cache/engine-runtime; offline, the last '
|
|
729
729
|
+ 'cached runtime is used and labelled. TURBO LAG: with boostTorqueCoef 0 the solver adds no boost torque, so a turbo car whose curve is the full-boost '
|
|
730
730
|
+ 'dyno curve pulls with no lag; author lag by derating the torque curve below spool, then check `turbo lag` here (docs/vehicle-simulate.md). '
|
|
731
|
-
+ '
|
|
731
|
+
+ 'KEYBOARD LAUNCH: it also launches the car the way a keyboard player does (W 0->1 in one tick, A/D taps with 100 ms reactions holding a lane; '
|
|
732
|
+
+ 'the platform has no traction control and does not ramp a digital throttle) and nudges the yaw hands-off at 20/40/60/100 km/h and as each upshift '
|
|
733
|
+
+ 're-engages: keyboard 0-100 vs the instrument, wheelspin per gear, post-shift yaw/heading/sideslip, lane offset. A nudge that grows into a spin '
|
|
734
|
+
+ 'FAILS "not drivable on a keyboard". '
|
|
735
|
+
+ 'Exit 0 = every compared figure passes and the keyboard launch does not FAIL, 1 = a figure is out of tolerance, the rest pose is wrong or the car is not drivable on a keyboard, 2 = could not simulate')
|
|
732
736
|
.argument('[dir-or-package.json]', 'a vehicle package directory (vehicle-package.json), the package JSON, or a saved item read')
|
|
733
737
|
.option('--item <id>', 'simulate a PUBLISHED vehicle item\'s stored package (public read) instead of a local file')
|
|
734
738
|
.option('--spec <file>', 'extra targets: a package / {targets}, or a reference spec (perf.0_100_kmh_s, perf.braking_100_0_m, perf.braking_70mph_0_m, perf.skidpad_g, perf.turbo_lag_s … as {value, tol_pct})')
|
|
@@ -736,6 +740,7 @@ vehicleCommand
|
|
|
736
740
|
.option('--runtime <file-or-url>', 'drive with this runtime bundle instead of the served one (a candidate engine build)')
|
|
737
741
|
.option('--range <range>', 'engine range to resolve (default ^0.3)')
|
|
738
742
|
.option('--api-url <url>', 'API to resolve the runtime (and --item) from (default: this CLI\'s environment)')
|
|
743
|
+
.option('--no-keyboard-launch', 'skip the keyboard launch and its hands-off yaw probe')
|
|
739
744
|
.option('--json', 'print the machine-readable report')
|
|
740
745
|
.action(async (input, opts) => {
|
|
741
746
|
const { readVehiclePackageArg, simulateVehicle, targetsFromSpec, formatSimulationReport } = await Promise.resolve().then(() => __importStar(require('./vehicle/simulate')));
|
|
@@ -778,7 +783,7 @@ vehicleCommand
|
|
|
778
783
|
}
|
|
779
784
|
try {
|
|
780
785
|
const runtime = await loadEngineRuntime({ apiUrl, offline: opts.offline, runtime: opts.runtime, range: opts.range });
|
|
781
|
-
const report = await simulateVehicle(pkg, runtime, { specTargets });
|
|
786
|
+
const report = await simulateVehicle(pkg, runtime, { specTargets, skipKeyboardLaunch: opts.keyboardLaunch === false });
|
|
782
787
|
if (opts.json)
|
|
783
788
|
console.log(JSON.stringify({ source, spec: opts.spec ? (0, node_path_1.resolve)(opts.spec) : null, ...report }, null, 2));
|
|
784
789
|
else
|