@helix3/helix-cli 0.1.15-helix3.237 → 0.1.15-helix3.240
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/device.d.ts +66 -0
- package/dist/device.js +1209 -158
- package/dist/device.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- 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/device.d.ts
CHANGED
|
@@ -1,5 +1,71 @@
|
|
|
1
1
|
export { deviceActionAstBudgetError } from './deviceActionValidation';
|
|
2
2
|
export declare const DEVICE_FILENAME = "device.json";
|
|
3
|
+
/**
|
|
4
|
+
* The closed interaction verb vocabulary the web host enforces.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors the `verb` enum on `DeviceInteraction` in the first-party Device
|
|
7
|
+
* schema (`helixgame.com/lib/devices/validate.ts`). The host REJECTS anything
|
|
8
|
+
* else when the package loads, so validating it only in the host let a package
|
|
9
|
+
* pass `helix device validate` offline and then fail in the client —
|
|
10
|
+
* `continuum-soju` shipped `"verb": "drink"` that way. The list is duplicated
|
|
11
|
+
* deliberately; add verbs to both.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEVICE_INTERACTION_VERBS: readonly ["use", "open", "close", "toggle", "play", "sit", "custom"];
|
|
14
|
+
/** The same vocabulary rendered as one readable list for error messages. */
|
|
15
|
+
export declare const DEVICE_INTERACTION_VERB_LIST: string;
|
|
16
|
+
/**
|
|
17
|
+
* The closed capability vocabulary a package may declare.
|
|
18
|
+
*
|
|
19
|
+
* Mirrors `DEVICE_CAPABILITIES` in `helixgame.com/lib/devices/types.ts`. A
|
|
20
|
+
* capability the client accepts and this list omits is a FALSE REJECTION —
|
|
21
|
+
* `physics.solid` was exactly that, and it made the shipped
|
|
22
|
+
* `continuum-garage-door` example (which needs it for its `collision` block)
|
|
23
|
+
* fail `helix device validate` while the client loaded it happily. Add
|
|
24
|
+
* capabilities to both lists, never to one.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEVICE_CAPABILITIES: readonly ["model.glb", "presentation.nodeMotion", "clock.serverTime", "state.typed", "state.durable", "room.authority", "audio.playback", "presentation.light", "presentation.vfx", "character.posture", "character.animate", "character.hand", "signals.local", "screen.render", "screen.input", "app.web.local", "app.web.remote", "app.image.remote", "app.canvas", "device.ports", "physics.solid"];
|
|
27
|
+
/**
|
|
28
|
+
* The closed component vocabulary.
|
|
29
|
+
*
|
|
30
|
+
* Mirrors the discriminated union on `components` in the client schema
|
|
31
|
+
* (`validate.ts:423-527`). Branching on an unknown `type` used to fall through
|
|
32
|
+
* with no check at all, so a component kind this list does not name is rejected
|
|
33
|
+
* here rather than validated as an empty object.
|
|
34
|
+
*/
|
|
35
|
+
export declare const DEVICE_COMPONENT_TYPES: readonly ["slider", "clockHands", "pointLight", "audioReactiveLight", "characterSpot", "screen"];
|
|
36
|
+
/**
|
|
37
|
+
* The closed behavior-graph step vocabulary.
|
|
38
|
+
*
|
|
39
|
+
* Mirrors the `step` union in the client schema (`validate.ts:133-222`). Every
|
|
40
|
+
* kind is validated to the client's depth, including the ones the shipped
|
|
41
|
+
* examples never use (`moveNode`, `setVfx`, `emitSignal`, `sequence`, `delay`,
|
|
42
|
+
* `repeat`, `stopAudio`) — their absence from the examples is why the gap went
|
|
43
|
+
* unnoticed for so long.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DEVICE_GRAPH_STEP_KINDS: readonly ["setState", "toggleState", "moveNode", "rotateNode", "playAudio", "stopAudio", "setVfx", "attachCharacter", "playCharacterAnimation", "releaseCharacter", "enterCharacterSpot", "attachItem", "releaseItem", "emitSignal", "branch", "sequence", "delay", "repeat"];
|
|
46
|
+
/**
|
|
47
|
+
* The closed CHARACTER socket set an `attachItem` step may target.
|
|
48
|
+
*
|
|
49
|
+
* These are sockets on the acting character, never the Device's own `sockets`:
|
|
50
|
+
* the two namespaces are unrelated, and a Device that mounts on a wall has no
|
|
51
|
+
* hand to put anything in. Mirrors `DEVICE_HAND_SOCKETS` in the first-party
|
|
52
|
+
* host (`helixgame.com/lib/devices/types.ts`) and in the portable engine. The
|
|
53
|
+
* CLI validates offline, so the list is duplicated deliberately; add sockets
|
|
54
|
+
* to both.
|
|
55
|
+
*/
|
|
56
|
+
export declare const DEVICE_HAND_SOCKETS: readonly ["hand_r.grip", "hand_l.grip"];
|
|
57
|
+
/** The same vocabulary rendered as one readable list for error messages. */
|
|
58
|
+
export declare const DEVICE_HAND_SOCKET_LIST: string;
|
|
59
|
+
/** The closed trigger vocabulary (`validate.ts:224-243`). */
|
|
60
|
+
export declare const DEVICE_TRIGGER_KINDS: readonly ["init", "interact", "stateChanged", "signal", "playerNear"];
|
|
61
|
+
/** The closed host vocabulary for `compatibility.hosts` (`validate.ts:555-560`). */
|
|
62
|
+
export declare const DEVICE_HOSTS: readonly ["home", "world"];
|
|
63
|
+
/** The same vocabulary rendered as one readable list for error messages. */
|
|
64
|
+
export declare const DEVICE_HOSTS_LIST: string;
|
|
65
|
+
/** The closed `thumbnail.policy` vocabulary (`validate.ts:563-567`). */
|
|
66
|
+
export declare const DEVICE_THUMBNAIL_POLICIES: readonly ["catalog", "discreteState", "never"];
|
|
67
|
+
/** The host's `inputMode` vocabulary for a text control (`validate.ts:414-419`). */
|
|
68
|
+
export declare const DEVICE_TEXT_INPUT_MODES: readonly ["text", "tel", "url", "email", "numeric", "decimal", "search"];
|
|
3
69
|
type Scalar = number | string | boolean;
|
|
4
70
|
type JsonObject = Record<string, unknown>;
|
|
5
71
|
export interface DeviceValidationReport {
|