@aura3d/cli 4.2.0 → 4.3.1

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.
Files changed (54) hide show
  1. package/dist/cli-help.d.ts.map +1 -1
  2. package/dist/cli-help.js +4 -2
  3. package/dist/cli-help.js.map +1 -1
  4. package/dist/cli.js +85 -2
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/assets/index.js +2 -2
  7. package/dist/commands/assets/index.js.map +1 -1
  8. package/dist/commands/meshyLedger.d.ts +125 -14
  9. package/dist/commands/meshyLedger.d.ts.map +1 -1
  10. package/dist/commands/meshyLedger.js +262 -35
  11. package/dist/commands/meshyLedger.js.map +1 -1
  12. package/dist/commands/prd13/run.js +19 -16
  13. package/dist/commands/prd13/run.js.map +1 -1
  14. package/dist/index.d.ts +10 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +13 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/skin/analysis.d.ts +137 -0
  19. package/dist/skin/analysis.d.ts.map +1 -0
  20. package/dist/skin/analysis.js +382 -0
  21. package/dist/skin/analysis.js.map +1 -0
  22. package/dist/skin/command.d.ts +75 -0
  23. package/dist/skin/command.d.ts.map +1 -0
  24. package/dist/skin/command.js +208 -0
  25. package/dist/skin/command.js.map +1 -0
  26. package/dist/skin/glbEdit.d.ts +14 -0
  27. package/dist/skin/glbEdit.d.ts.map +1 -0
  28. package/dist/skin/glbEdit.js +152 -0
  29. package/dist/skin/glbEdit.js.map +1 -0
  30. package/dist/skin/gltf.d.ts +159 -0
  31. package/dist/skin/gltf.d.ts.map +1 -0
  32. package/dist/skin/gltf.js +379 -0
  33. package/dist/skin/gltf.js.map +1 -0
  34. package/dist/skin/rebuildLimbs.d.ts +31 -0
  35. package/dist/skin/rebuildLimbs.d.ts.map +1 -0
  36. package/dist/skin/rebuildLimbs.js +326 -0
  37. package/dist/skin/rebuildLimbs.js.map +1 -0
  38. package/dist/skin/refitSkeleton.d.ts +23 -0
  39. package/dist/skin/refitSkeleton.d.ts.map +1 -0
  40. package/dist/skin/refitSkeleton.js +288 -0
  41. package/dist/skin/refitSkeleton.js.map +1 -0
  42. package/dist/skin/repair.d.ts +45 -0
  43. package/dist/skin/repair.d.ts.map +1 -0
  44. package/dist/skin/repair.js +192 -0
  45. package/dist/skin/repair.js.map +1 -0
  46. package/package.json +5 -5
  47. package/skills/aura3d-art-direction/SKILL.md +1 -1
  48. package/skills/aura3d-assets/SKILL.md +3 -2
  49. package/skills/aura3d-browser-game/SKILL.md +1 -0
  50. package/skills/aura3d-character-animation/SKILL.md +3 -1
  51. package/skills/aura3d-materials-environments/references/custom-shader-chunks.md +8 -2
  52. package/skills/llms.txt +2 -2
  53. package/skills/meshy-cli/SKILL.md +11 -10
  54. package/skills/meshy-cli/references/asset-tooling.md +16 -5
@@ -111,7 +111,8 @@ lighting you evaluate materials and silhouettes against.
111
111
  `src/aura-assets.ts` (a 100k-line diff) and `public/aura-assets/*`.
112
112
  9. Hand off: fighters and games to `aura3d-browser-game`
113
113
  (`assets validate-game`), rigs and clips to `aura3d-character-animation`
114
- (`assets validate-animation`), release checks to `aura3d-evidence-review`.
114
+ (`assets validate-animation`, `assets validate --skin`), release checks to
115
+ `aura3d-evidence-review`.
115
116
 
116
117
  ## Reject a candidate when
117
118
 
@@ -132,7 +133,7 @@ lighting you evaluate materials and silhouettes against.
132
133
  - Search returns no auto-pullable candidate, or every candidate fails the
133
134
  reject list: stop, list the query, profile, and rejection reasons, and offer
134
135
  two options: a user-supplied licensed file, or Meshy generation from a text
135
- prompt (load `meshy-cli`, dry run and an approved credit maximum first; never
136
+ prompt (load `meshy-cli`, dry run first, then reserve credits in the ledger; never
136
137
  from screenshots or frames of another game or product). Do not model the subject from primitives.
137
138
  - Search prints a source fetch warning (for example an HTTP 404): report it
138
139
  verbatim, label asset-dependent work `blocked`, and never treat fallback
@@ -147,3 +147,4 @@ per round until every category reads 7+, 6 rounds, or 2 flat rounds.
147
147
  - [Genre looks in the frame](references/genre-looks.md)
148
148
  - [Mistakes already made (read first)](https://github.com/auraoneai/aura3d/blob/main/docs/agents/lessons-learned.md)
149
149
  - [Kits and hooks (4.1)](references/kits-and-hooks.md)
150
+ - Believable motion (`@aura3d/engine/game`): `attachToBone` (bat, club, ball in a hand), `createLocomotion` and `createFootSlideMeter` (legs that match the ground), `createHandBounce` and `measureHandBall` (a ball dribbled by hand: hand and floor contact, hand-offs, proof): `docs/api/motion-hand-bounce.md`; `createTwoHandGrip` and `measureGrip` (a bat, club or racket held in both hands: grip, hand-off, proof): `docs/api/motion-two-hand-grip.md`, `docs/agents/build-a-game.md`; `faceTowards` and `facingError` (actors that really face their target; declare each model's forward axis): `docs/api/motion-facing.md`
@@ -50,7 +50,9 @@ in flat light can vanish inside night-city shadow pools or golden-hour haze.
50
50
  ```
51
51
 
52
52
  Pass `--clips` from the inspection output. `"ok": false` with a
53
- `missingActions` entry means the rig cannot play that action.
53
+ `missingActions` entry means the rig cannot play that action. Then run
54
+ `assets validate --skin <glb>`: it fails on stretched triangles, flaps and
55
+ a mesh not in its skeleton's pose (`assets repair-skin` fixes or guides).
54
56
  2. Multi-part characters: build the assembly from typed keys first.
55
57
 
56
58
  ```bash
@@ -20,12 +20,18 @@ signatures: `docs/api/glsl-chunks.md`.
20
20
 
21
21
  ## Chunks
22
22
 
23
- `#include <a3d_math>`, `<a3d_noise>`, `<a3d_sky>`, `<a3d_fog>`, `<a3d_triplanar>`
24
- and `<a3d_toon>` are tested GLSL ES 3.00 helpers prefixed `a3d`. Use them instead of
23
+ `#include <a3d_math>`, `<a3d_noise>`, `<a3d_sky>`, `<a3d_fog>`, `<a3d_triplanar>`,
24
+ `<a3d_toon>` and `<a3d_shadow>` are tested GLSL ES 3.00 helpers prefixed `a3d`. Use them instead of
25
25
  pasting hashes, fbm, sky gradients or fog into every shader. Precedence when names
26
26
  collide: built-in chunks, then these, then `registerShaderChunk`, then the material's
27
27
  `patch`. A material that includes chunks is GLSL-only: it has no WGSL twin.
28
28
 
29
+ ## Sun shadows
30
+
31
+ Set `receiveShadow: true` on the `material.custom` spec (or `#include <a3d_shadow>`) and multiply
32
+ your lit term by `a3dSunShadowAuto` (arguments: world position, normal): 1 in light, less in the key light's shadow.
33
+ It follows the light's `shadow` options like a PBR surface does, and is exactly 1 with no shadow map.
34
+
29
35
  ## NaN and Inf safety
30
36
 
31
37
  Apple GPUs return NaN where a software renderer returns a number. One NaN in a
package/skills/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Aura3D
2
2
 
3
- > Aura3D 4.2.0: a TypeScript SDK for browser 3D apps and games. You write a typed, declarative scene with `@aura3d/engine`; the `@aura3d/cli` toolchain handles typed GLB/glTF assets, checks and deploy gates. Built to be driven by AI coding agents. Site: https://aura3d.auraone.ai
3
+ > Aura3D 4.3.1: a TypeScript SDK for browser 3D apps and games. You write a typed, declarative scene with `@aura3d/engine`; the `@aura3d/cli` toolchain handles typed GLB/glTF assets, checks and deploy gates. Built to be driven by AI coding agents. Site: https://aura3d.auraone.ai
4
4
 
5
5
  ## Fast path (read this first)
6
6
 
@@ -136,6 +136,6 @@ Release integrity rules:
136
136
 
137
137
  - Full agent guide, genre recipes, guardrails and the page and example map: https://aura3d.auraone.ai/llms-full.txt
138
138
  - Docs: https://aura3d.auraone.ai/docs/api.html, https://aura3d.auraone.ai/docs/agent-quickstart.html, https://aura3d.auraone.ai/docs/claims.html
139
- - Showcase (26 playable games): https://aura3d.auraone.ai/apps/showcase-index/
139
+ - Showcase (25 playable games): https://aura3d.auraone.ai/apps/showcase-index/
140
140
  - Sitemap: https://aura3d.auraone.ai/sitemap.xml; crawl policy: https://aura3d.auraone.ai/robots.txt
141
141
  - Last updated: 2026-10-25
@@ -56,13 +56,15 @@ when an open-source candidate already passes the rubric.
56
56
 
57
57
  1. Plan: `meshy make "<prompt>" --dry-run` and show the steps and estimate.
58
58
  For single resources, read the create help and state the planned inputs.
59
- 2. Get an approved maximum, then pass `--max-credits <approved>` and reserve
60
- every paid call in the ledger first:
61
- `rid=$(aura3d meshy ledger reserve --game <tag> --op preview --cap <per-game> --global-cap <total>)`,
62
- then `aura3d meshy ledger settle --rid "$rid" --exit-code 0 --task-id <id>`.
59
+ 2. Spend is uncapped by owner decision on 2026-10-25 (credits tracked for visibility, no default cap). If the
60
+ user states a limit, pass `--max-credits <limit>` and `aura3d meshy ledger config --global-cap <N>`. Reserve
61
+ every paid call first: `aura3d meshy ledger reserve --dry-run --game <tag> --op preview,refine` (cost),
62
+ `rid=$(aura3d meshy ledger reserve --game <tag> --op preview)`, then
63
+ `aura3d meshy ledger settle --rid "$rid" --exit-code 0 --task-id <id>`. A cap that was set hard-stops and
64
+ prints the credits left and the flag that raises or removes it.
63
65
  Credits per operation: preview 20, refine 10 (`make` = 30), remesh 5,
64
66
  rigging 5, animate 3, retexture 10. A rate-limited or timed-out call keeps
65
- counting until `ledger reconcile`.
67
+ counting until `ledger reconcile --rid <id>`; compare the whole ledger with the Prism pool using `ledger reconcile`.
66
68
  3. Run, preferring `--async` when other work can proceed. Persist task IDs
67
69
  and provider resume hints in ignored local state. Resume a completed
68
70
  preview; never recreate paid work that succeeded.
@@ -100,8 +102,7 @@ when an open-source candidate already passes the rubric.
100
102
  `defineAuraAssets(...)` / `defineAssets` declarations (keeps shadow and
101
103
  reflection intact) or place unhashed duplicate GLBs in
102
104
  `apps/<route>/public/aura-assets/`.
103
- 8. Rig handoff: after importing a rigged humanoid, inspect it and map clips
104
- before any code names them, then load `aura3d-character-animation`.
105
+ 8. Rig handoff: after importing a rigged humanoid, inspect it, map clips and run `assets validate --skin <glb>` (a mesh modelled in a pose tears) before any code names them, then load `aura3d-character-animation`.
105
106
 
106
107
  ```bash
107
108
  npx @aura3d/cli@latest assets inspect public/aura-assets/<file>.glb --animation --humanoid --skeleton
@@ -131,9 +132,9 @@ when an open-source candidate already passes the rubric.
131
132
 
132
133
  ## Stop and report
133
134
 
134
- - No approved maximum: stop after the dry run and present the plan.
135
- - Exit code 9 or a plan above the approved maximum: stop; do not split the
136
- job to stay under the cap.
135
+ - Always show the dry-run plan and its cost before paying.
136
+ - Exit code 9 (credits exhausted) or a plan above a limit the user set: stop; do
137
+ not split the job to stay under that limit.
137
138
  - Admission reports blockers for the chosen profile: keep the file as a
138
139
  rejected local candidate, report the failing checks, and label the route
139
140
  `prototype` or `blocked`.
@@ -56,20 +56,31 @@ a bare `rocks` or `board`: two games sharing one `rocks.raw.glb` silently reuse
56
56
  ## Credit ledger
57
57
 
58
58
  ```bash
59
- rid=$(npx @aura3d/cli@latest meshy ledger reserve --game drift --op preview --cap 800 --global-cap 10000)
59
+ npx @aura3d/cli@latest meshy ledger reserve --dry-run --game drift --op preview,refine
60
+ rid=$(npx @aura3d/cli@latest meshy ledger reserve --game drift --op preview)
60
61
  npx @aura3d/cli@latest meshy ledger settle --rid "$rid" --exit-code 0 --task-id <id>
61
62
  npx @aura3d/cli@latest meshy ledger status
62
63
  ```
63
64
 
64
- The ledger (`--ledger path` or `AURA3D_MESHY_LEDGER`, default `~/.aura3d/meshy-ledger.jsonl`) enforces a
65
- per-game cap and one global cap under a lock, so concurrent agents cannot overspend. `--game` is required
66
- and must be a lowercase tag. Estimates: preview 20, refine 10, remesh 5, rigging 5, animate 3, retexture 10.
65
+ The ledger (`--ledger path` or `AURA3D_MESHY_LEDGER`, default `~/.aura3d/meshy-ledger.jsonl`) tracks credits under a
66
+ lock so concurrent agents share one total. Spend is uncapped by owner decision on 2026-10-25 (credits are tracked for
67
+ visibility); a per-game cap (`--cap N`, `--game-cap N`, `AURA3D_MESHY_GAME_CAP`) and a global cap (`--global-cap N`,
68
+ `AURA3D_MESHY_GLOBAL_CAP`, or `ledger config`) are opt-in, and `config --global-cap off --game-cap off` removes them.
69
+ A cap that is set is a hard stop: exit 3 with the credits left and the flag that raises it. `--game` is
70
+ required and must be a lowercase tag. Estimates: preview 20, refine 10, remesh 5, rigging 5, animate 3, retexture 10.
71
+ `reserve --dry-run --op preview,refine,rigging` prices a chain without writing.
67
72
 
68
73
  A rate-limited (exit 6) or timed-out (exit 8) call is NOT a failure: the task usually finishes and is
69
74
  charged. `settle --exit-code` records it as `unconfirmed`, which keeps counting its estimate. Resume the
70
75
  task with `meshy <resource> get <id>` instead of paying again, then
71
76
  `meshy ledger reconcile --rid <id> --status ok` (or `failed`). Only a confirmed no-charge outcome (auth
72
- exit 3, validation exit 4, credits exit 9, or a FAILED task) settles as `failed` and counts 0.
77
+ exit 3, validation exit 4, credits exit 9, a FAILED task, or a 429 on a create) settles as `failed` and counts 0.
78
+ Pass the Meshy stderr with `settle --exit-code 6 --error-text "<stderr>"`: a 429 on a poll
79
+ (`/text-to-3d/<id>`) means the task exists, so it stays `unconfirmed` with that task id and keeps counting.
80
+
81
+ `meshy ledger reconcile` (no `--rid`) compares the ledger with the Kiro Prism pool balance since the last
82
+ `baseline` and prints the delta; `--apply` books it as an `unattributed` adjustment. It reads `GET /admin/meshy`
83
+ with `AURA3D_PRISM_KEY` or `AURA3D_PRISM_KEY_FILE` (never printed) or a saved `--pool-json`.
73
84
 
74
85
  ## Profile traps
75
86