lecodes-viewer 0.20.2 → 1.0.0

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/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "lecodes-viewer",
3
- "version": "0.20.2",
3
+ "version": "1.0.0",
4
4
  "main": "src/createViewer.ts",
5
5
  "dependencies": {
6
- "lecodes-renderer": "0.20.2",
6
+ "lecodes-renderer": "1.0.0",
7
7
  "ogl": "^1.0.11",
8
- "lecodes-viewer-lite": "0.20.2"
8
+ "lecodes-viewer-lite": "1.0.0"
9
9
  },
10
10
  "scripts": {
11
11
  "dev": "vite",
@@ -233,7 +233,7 @@ export const createViewer = async (canvas: HTMLCanvasElement, options: ViewerOpt
233
233
  // Each read-back writes into a caller-owned `out`, so there's no shared-buffer aliasing — we only
234
234
  // drop the per-call malloc/free + view allocation. Read module.HEAPF32 FRESH each call (emscripten
235
235
  // swaps that view on heap growth; the scratch address survives).
236
- const READ_SCRATCH = 64 // largest reader: vehicleGetState = 7 + 3 per wheel
236
+ const READ_SCRATCH = 128 // largest reader: vehicleGetState = 11 + 11 per wheel
237
237
  const readScratchPtr = module._malloc(READ_SCRATCH * 4)
238
238
  const readInto = (out: Float32Array, n: number, fn: (ptr: number) => void): void => {
239
239
  fn(readScratchPtr)
@@ -396,16 +396,18 @@ export const createViewer = async (canvas: HTMLCanvasElement, options: ViewerOpt
396
396
  return id
397
397
  },
398
398
  vehicleDestroy: (vehicleId: number) => module._vehicleDestroy(vehicleId),
399
- vehicleSetTransmission: (vehicleId: number, ratio: number, clutch: number) =>
400
- module._vehicleSetTransmission(vehicleId, ratio, clutch),
401
399
  vehicleSetTuning: (vehicleId: number, settings: Float32Array) => {
402
400
  const ptr = module._malloc(settings.byteLength)
403
401
  module.HEAPF32.set(settings, ptr / 4)
404
402
  module._vehicleSetTuning(vehicleId, ptr, settings.length)
405
403
  module._free(ptr)
406
404
  },
407
- vehicleSetInput: (vehicleId: number, forward: number, right: number, brake: number, handBrake: number) =>
408
- module._vehicleSetInput(vehicleId, forward, right, brake, handBrake),
405
+ vehicleSetInput: (vehicleId: number, input: Float32Array) => {
406
+ const ptr = module._malloc(input.length * 4)
407
+ module.HEAPF32.set(input, ptr >> 2)
408
+ module._vehicleSetInput(vehicleId, ptr, input.length)
409
+ module._free(ptr)
410
+ },
409
411
  vehicleGetState: (vehicleId: number, out: Float32Array) =>
410
412
  readInto(out, Math.min(out.length, READ_SCRATCH), (ptr) => module._vehicleGetState(vehicleId, ptr, Math.min(out.length, READ_SCRATCH))),
411
413
  vehicleReset: (vehicleId: number, x: number, y: number, z: number, qx: number, qy: number, qz: number, qw: number) =>