mudra-skills 1.2.0 → 3.0.2
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/README.md +0 -1
- package/package.json +2 -2
- package/skills/mudra-master/SKILL.md +1 -7
- package/skills/mudra-master/mudra-preview/SKILL.md +8 -9
- package/skills/mudra-master/mudra-preview/references/agent_protocol.json +0 -12
- package/skills/mudra-master/mudra-preview/references/{promt.md → prompt.md} +11 -94
- package/skills/mudra-master/mudra-xr/SKILL.md +6 -6
- package/skills/mudra-master/mudra-xr/references/agent_protocol.json +1 -14
- package/skills/mudra-master/mudra-xr/references/{promt.md → prompt.md} +329 -240
- package/skills/mudra-preview/SKILL.md +34 -26
- package/skills/mudra-preview/assets/mudra-ultimate-template.html +997 -891
- package/skills/mudra-preview/references/agent_protocol.json +191 -136
- package/skills/mudra-preview/references/{promt.md → prompt.md} +173 -271
- package/skills/mudra-xr/SKILL.md +6 -6
- package/skills/mudra-xr/references/agent_protocol.json +1 -14
- package/skills/mudra-xr/references/{promt.md → prompt.md} +329 -240
package/skills/mudra-xr/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mudra-xr
|
|
3
|
-
version:
|
|
3
|
+
version: 3.0.0
|
|
4
4
|
description: Generate a single-file Mudra-controlled 3D/XR app using XR Blocks. Use when the user describes a 3D, XR, VR, or AR experience controlled by the Mudra Band.
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -9,13 +9,13 @@ description: Generate a single-file Mudra-controlled 3D/XR app using XR Blocks.
|
|
|
9
9
|
Generate a complete, working single-file HTML 3D/XR app controlled by Mudra Band signals.
|
|
10
10
|
The output runs in any modern Chromium browser — no build step, no server, no headset required.
|
|
11
11
|
|
|
12
|
-
**Mandatory feature
|
|
12
|
+
**Mandatory feature:** Every generated app MUST include a
|
|
13
13
|
Manual/Mudra **Mode toggle** as defined in `references/promt.md`
|
|
14
14
|
§ Section 15 "Mode Toggle (Manual / Mudra) — Required". Manual is the
|
|
15
15
|
default; Mudra opens a single WebSocket lazily and disables the
|
|
16
16
|
simulator panel so signals come only from the band.
|
|
17
17
|
|
|
18
|
-
**Mandatory feature
|
|
18
|
+
**Mandatory feature:** Connection state MUST reflect the
|
|
19
19
|
**band**, not the WebSocket. The Companion service accepts socket
|
|
20
20
|
connections even when no band is paired, so flipping to "Connected" on
|
|
21
21
|
`ws.onopen` is a lie. Every generated app MUST send
|
|
@@ -29,7 +29,7 @@ overlay, toast, or any other separate disconnect alert. Connection
|
|
|
29
29
|
state is communicated **only** through the existing connection-status
|
|
30
30
|
pill (`Manual` / `Connecting…` / `Connected` / `Disconnected`).
|
|
31
31
|
|
|
32
|
-
**Branding
|
|
32
|
+
**Branding:** The footer/badge text MUST be exactly
|
|
33
33
|
**"Created by Mudra"** — never "Created with Mudra Studio",
|
|
34
34
|
"Powered by Mudra", or any other variant. See § Section 16.
|
|
35
35
|
|
|
@@ -38,7 +38,7 @@ sub-actions the app actually handles. If the app maps `nav_direction` to
|
|
|
38
38
|
Up/Down only, omit Left/Right/Roll L/Roll R. If `gesture` only handles
|
|
39
39
|
`tap`, omit Twist/2Twist/2Tap. See § Section 5.
|
|
40
40
|
|
|
41
|
-
The canonical protocol
|
|
41
|
+
The canonical protocol rules are in `references/prompt.md` Section 1 (signals, commands, error frames) and Section 15 (state machine, hand chip). See also `specs/001-mudra-xr-connection-update/contracts/websocket-protocol.md` for the wire-protocol contract.
|
|
42
42
|
|
|
43
43
|
## Invocation
|
|
44
44
|
|
|
@@ -237,7 +237,7 @@ Print the absolute path to the written file and a one-line summary:
|
|
|
237
237
|
- Motion modes are mutually exclusive: Pointer (`navigation`+`button`) / Direction (`nav_direction`) / IMU+Biometric (`imu_acc`+`imu_gyro`+`snc`)
|
|
238
238
|
- IMU+Biometric bundle: `imu_acc`, `imu_gyro`, `snc` always subscribed together — never partially
|
|
239
239
|
- `gesture` and `pressure` are mutually exclusive — never combine them
|
|
240
|
-
- Free-combining signals (one or the other, not both): `gesture` OR `pressure`, plus `button
|
|
240
|
+
- Free-combining signals (one or the other, not both): `gesture` OR `pressure`, plus `button`
|
|
241
241
|
- **Navigation sensitivity is gentle by default**: sim button + keyboard `I`/`J`/`K`/`L` emit `±3` per event; cursor multiplier on inbound `delta_x`/`delta_y` is `0.002`. Raise only when the prompt explicitly asks for fast/snappy movement. See Section 6 + Section 11 of `references/promt.md`.
|
|
242
242
|
- **Reserved for XR Blocks desktop simulator** — Mudra never claims these: `W`/`A`/`S`/`D` and arrow keys (camera walk), `Q`/`E` (roll/vertical), `R` (reset), right-click drag (orbit), mouse wheel (zoom). Mudra navigation uses `I`/`J`/`K`/`L`; Mudra IMU uses `U`/`O`/`M`/`N`. See Section 6 of `references/promt.md`.
|
|
243
243
|
- Keyboard handlers: `{ capture: true }` + `stopPropagation()` on Mudra-claimed keys
|
|
@@ -348,18 +348,6 @@
|
|
|
348
348
|
"For HUD: use buf[buf.length-1]; for time-series plots: draw all buffered samples"
|
|
349
349
|
]
|
|
350
350
|
},
|
|
351
|
-
"battery": {
|
|
352
|
-
"description": "Battery level",
|
|
353
|
-
"data_format": {
|
|
354
|
-
"type": "battery",
|
|
355
|
-
"data": {
|
|
356
|
-
"level": 85,
|
|
357
|
-
"charging": false,
|
|
358
|
-
"timestamp": 1234567890
|
|
359
|
-
},
|
|
360
|
-
"timestamp": 1234567890
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
351
|
"button": {
|
|
364
352
|
"description": "Air touch button events (Pointer mode — pairs with navigation)",
|
|
365
353
|
"states": [
|
|
@@ -424,7 +412,6 @@
|
|
|
424
412
|
"can_combine": [
|
|
425
413
|
"gesture OR pressure",
|
|
426
414
|
"button (with pointer/direction/imu_biometric/none)",
|
|
427
|
-
"battery",
|
|
428
415
|
"ONE OF: pointer_mode OR direction_mode OR imu_biometric_mode"
|
|
429
416
|
],
|
|
430
417
|
"cannot_combine": [
|
|
@@ -492,7 +479,7 @@
|
|
|
492
479
|
"reason": "Button is part of pointer mode - cannot mix with direction mode"
|
|
493
480
|
}
|
|
494
481
|
],
|
|
495
|
-
"guidance": "Three mutually exclusive motion groups: (1) Pointer mode: navigation+button for continuous cursor/drag/pan, (2) Direction mode: nav_direction for discrete swipe-like gestures, (3) IMU+Biometric mode: imu_acc+imu_gyro+snc as an inseparable bundle for orientation/tilt/rotation/biometric. Pick ONE per app. gesture XOR pressure; button
|
|
482
|
+
"guidance": "Three mutually exclusive motion groups: (1) Pointer mode: navigation+button for continuous cursor/drag/pan, (2) Direction mode: nav_direction for discrete swipe-like gestures, (3) IMU+Biometric mode: imu_acc+imu_gyro+snc as an inseparable bundle for orientation/tilt/rotation/biometric. Pick ONE per app. gesture XOR pressure; button combines freely (subject to mode rules)."
|
|
496
483
|
},
|
|
497
484
|
"websocket_api": {
|
|
498
485
|
"url": "ws://127.0.0.1:8766",
|