@aura3d/cli 4.1.3 → 4.3.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/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +4 -2
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +129 -19
- package/dist/cli.js.map +1 -1
- package/dist/commands/assets/index.js +2 -2
- package/dist/commands/assets/index.js.map +1 -1
- package/dist/commands/meshyLedger.d.ts +125 -14
- package/dist/commands/meshyLedger.d.ts.map +1 -1
- package/dist/commands/meshyLedger.js +262 -35
- package/dist/commands/meshyLedger.js.map +1 -1
- package/dist/commands/prd13/run.js +19 -16
- package/dist/commands/prd13/run.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/pull-bridge/adapters.d.ts +9 -1
- package/dist/pull-bridge/adapters.d.ts.map +1 -1
- package/dist/pull-bridge/adapters.js +30 -7
- package/dist/pull-bridge/adapters.js.map +1 -1
- package/dist/pull-bridge/search.d.ts +5 -0
- package/dist/pull-bridge/search.d.ts.map +1 -1
- package/dist/pull-bridge/search.js +7 -1
- package/dist/pull-bridge/search.js.map +1 -1
- package/dist/pull-bridge.js +1 -1
- package/dist/pull-bridge.js.map +1 -1
- package/dist/resolve-ladder.d.ts +123 -0
- package/dist/resolve-ladder.d.ts.map +1 -0
- package/dist/resolve-ladder.js +410 -0
- package/dist/resolve-ladder.js.map +1 -0
- package/dist/skin/analysis.d.ts +137 -0
- package/dist/skin/analysis.d.ts.map +1 -0
- package/dist/skin/analysis.js +382 -0
- package/dist/skin/analysis.js.map +1 -0
- package/dist/skin/command.d.ts +71 -0
- package/dist/skin/command.d.ts.map +1 -0
- package/dist/skin/command.js +186 -0
- package/dist/skin/command.js.map +1 -0
- package/dist/skin/glbEdit.d.ts +14 -0
- package/dist/skin/glbEdit.d.ts.map +1 -0
- package/dist/skin/glbEdit.js +152 -0
- package/dist/skin/glbEdit.js.map +1 -0
- package/dist/skin/gltf.d.ts +159 -0
- package/dist/skin/gltf.d.ts.map +1 -0
- package/dist/skin/gltf.js +379 -0
- package/dist/skin/gltf.js.map +1 -0
- package/dist/skin/rebuildLimbs.d.ts +31 -0
- package/dist/skin/rebuildLimbs.d.ts.map +1 -0
- package/dist/skin/rebuildLimbs.js +326 -0
- package/dist/skin/rebuildLimbs.js.map +1 -0
- package/dist/skin/repair.d.ts +41 -0
- package/dist/skin/repair.d.ts.map +1 -0
- package/dist/skin/repair.js +180 -0
- package/dist/skin/repair.js.map +1 -0
- package/package.json +5 -5
- package/skills/aura3d-art-direction/SKILL.md +1 -1
- package/skills/aura3d-assets/SKILL.md +10 -6
- package/skills/aura3d-browser-game/SKILL.md +2 -0
- package/skills/aura3d-character-animation/SKILL.md +3 -1
- package/skills/aura3d-core/SKILL.md +4 -4
- package/skills/aura3d-core/references/boundaries.md +8 -5
- package/skills/aura3d-evidence-review/SKILL.md +1 -0
- package/skills/aura3d-materials-environments/references/custom-shader-chunks.md +8 -2
- package/skills/llms.txt +5 -5
- package/skills/meshy-cli/SKILL.md +13 -12
- package/skills/meshy-cli/references/asset-tooling.md +16 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aura3d/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"aura3d": "dist/cli.js",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"types": "./dist/index.d.ts",
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"typescript": "^5.8.3",
|
|
31
|
-
"
|
|
32
|
-
"@aura3d/audio": "4.
|
|
33
|
-
"
|
|
34
|
-
"@aura3d/rendering": "4.
|
|
31
|
+
"create-aura3d": "4.3.0",
|
|
32
|
+
"@aura3d/audio": "4.3.0",
|
|
33
|
+
"@aura3d/asset-index": "4.3.0",
|
|
34
|
+
"@aura3d/rendering": "4.3.0"
|
|
35
35
|
},
|
|
36
36
|
"description": "Bring real GLB/glTF assets into Aura3D browser apps with typed references, provenance, catalog search, validation, screenshots, and deploy checks.",
|
|
37
37
|
"keywords": [
|
|
@@ -76,7 +76,7 @@ Hard checklist (all must hold before claiming done):
|
|
|
76
76
|
|
|
77
77
|
## Default-look facts
|
|
78
78
|
|
|
79
|
-
No environment authored means the built-in neutral floor (4.1.2 published builds also log `ENV_FETCH_FAILED` for `/aura-environments/neutral.manifest.json`);
|
|
79
|
+
No environment authored means the built-in neutral floor (4.1.2 published builds also log `ENV_FETCH_FAILED` for `/aura-environments/neutral.manifest.json`); in 4.2.x `effects.vignette()` made frames about 25% to 40% darker (it ran on display-referred bytes; 4.3.0 applies it in linear light, about 6% to 18%; bloom does not darken); exposure runs brighter than three.js for the same intensities. Judge the captured frame with the same post settings, and read the full list in `docs/agents/art-direction.md` section 3.
|
|
80
80
|
|
|
81
81
|
## References
|
|
82
82
|
|
|
@@ -5,8 +5,8 @@ description: Finds, admits, inspects, validates, and types GLB/glTF, texture, en
|
|
|
5
5
|
|
|
6
6
|
# Aura3D assets
|
|
7
7
|
|
|
8
|
-
The CLI is the only path from a file or
|
|
9
|
-
Shared rules (
|
|
8
|
+
The CLI is the only path from a file or search hit to a typed `assets.<key>`.
|
|
9
|
+
Shared rules (resolve-first, typed assets, paid generation) are in
|
|
10
10
|
[boundaries](../aura3d-core/references/boundaries.md). The canonical end-to-end
|
|
11
11
|
page (catalog, Meshy, optimise, isolated admission, rig and clips, production
|
|
12
12
|
rules, budgets) is
|
|
@@ -44,9 +44,12 @@ lighting you evaluate materials and silhouettes against.
|
|
|
44
44
|
|
|
45
45
|
Use `--type texture|environment|audio|navigation` for non-model files, and
|
|
46
46
|
`--public-path /cdn/aura-assets/` when assets are served from a CDN.
|
|
47
|
-
2. Prompt names a real object:
|
|
47
|
+
2. Prompt names a real object: let `assets resolve` decide (project asset,
|
|
48
|
+
open licence-clear source, Meshy only with `--allow meshy --budget N`, else a
|
|
49
|
+
primitives recipe), or search to choose yourself. There is no hosted catalog.
|
|
48
50
|
|
|
49
51
|
```bash
|
|
52
|
+
npx @aura3d/cli@latest assets resolve "battle-worn knight helmet" --dry-run
|
|
50
53
|
npx @aura3d/cli@latest assets search "battle-worn knight helmet" --json
|
|
51
54
|
npx @aura3d/cli@latest assets search "animated humanoid fighting character" \
|
|
52
55
|
--profile fighting-character --json
|
|
@@ -108,7 +111,8 @@ lighting you evaluate materials and silhouettes against.
|
|
|
108
111
|
`src/aura-assets.ts` (a 100k-line diff) and `public/aura-assets/*`.
|
|
109
112
|
9. Hand off: fighters and games to `aura3d-browser-game`
|
|
110
113
|
(`assets validate-game`), rigs and clips to `aura3d-character-animation`
|
|
111
|
-
(`assets validate-animation`), release checks to
|
|
114
|
+
(`assets validate-animation`, `assets validate --skin`), release checks to
|
|
115
|
+
`aura3d-evidence-review`.
|
|
112
116
|
|
|
113
117
|
## Reject a candidate when
|
|
114
118
|
|
|
@@ -129,9 +133,9 @@ lighting you evaluate materials and silhouettes against.
|
|
|
129
133
|
- Search returns no auto-pullable candidate, or every candidate fails the
|
|
130
134
|
reject list: stop, list the query, profile, and rejection reasons, and offer
|
|
131
135
|
two options: a user-supplied licensed file, or Meshy generation from a text
|
|
132
|
-
prompt (load `meshy-cli`, dry run
|
|
136
|
+
prompt (load `meshy-cli`, dry run first, then reserve credits in the ledger; never
|
|
133
137
|
from screenshots or frames of another game or product). Do not model the subject from primitives.
|
|
134
|
-
- Search prints a
|
|
138
|
+
- Search prints a source fetch warning (for example an HTTP 404): report it
|
|
135
139
|
verbatim, label asset-dependent work `blocked`, and never treat fallback
|
|
136
140
|
deep-links as auto-pullable.
|
|
137
141
|
- `assets validate --release` fails on provenance: keep the route `prototype`
|
|
@@ -145,4 +145,6 @@ per round until every category reads 7+, 6 rounds, or 2 flat rounds.
|
|
|
145
145
|
- [Game example standards](https://github.com/auraoneai/aura3d/blob/main/docs/agents/game-example-standards.md)
|
|
146
146
|
- [Game runtime API](https://github.com/auraoneai/aura3d/blob/main/docs/api/game-runtime.md)
|
|
147
147
|
- [Genre looks in the frame](references/genre-looks.md)
|
|
148
|
+
- [Mistakes already made (read first)](https://github.com/auraoneai/aura3d/blob/main/docs/agents/lessons-learned.md)
|
|
148
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`, `docs/agents/build-a-game.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
|
|
@@ -9,7 +9,7 @@ Aura3D is a TypeScript engine API, an asset CLI, templates, diagnostics, and a
|
|
|
9
9
|
deploy checker. You are not writing three.js; `createAuraApp(...)` owns the
|
|
10
10
|
renderer, scene graph, camera, and frame loop. Every scene gets a look — a
|
|
11
11
|
preset that owns environment light, key shadow, fog, background and grade.
|
|
12
|
-
Shared rules (claim labels, forbidden patterns,
|
|
12
|
+
Shared rules (claim labels, forbidden patterns, resolve-first, typed assets,
|
|
13
13
|
paid generation, benchmark mode) live once in
|
|
14
14
|
[references/boundaries.md](references/boundaries.md).
|
|
15
15
|
|
|
@@ -69,8 +69,8 @@ without a look ships flat shading, void background and floating props.
|
|
|
69
69
|
There is no root `output` or `world` namespace: tone mapping and grade come
|
|
70
70
|
from the look (`looks.appOptions`), environment from `environments.*`.
|
|
71
71
|
|
|
72
|
-
4. If the prompt names a real object,
|
|
73
|
-
|
|
72
|
+
4. If the prompt names a real object, run `assets resolve` before writing
|
|
73
|
+
model code (load `aura3d-assets`).
|
|
74
74
|
5. Load the next skill from the routing table below. Load more than one when
|
|
75
75
|
the task spans them.
|
|
76
76
|
6. Never assemble characters, athletes, enemies, vehicles, aircraft, trees, or
|
|
@@ -112,7 +112,7 @@ without a look ships flat shading, void background and floating props.
|
|
|
112
112
|
| Flipbook VFX sheets, HUD icons, UI sprites | `aura3d-game-art` |
|
|
113
113
|
| Restyling a finished mesh without touching geometry | `aura3d-retexture` |
|
|
114
114
|
| Frame time, bundle size, KTX2, LOD, instancing | `aura3d-performance` |
|
|
115
|
-
| No clean
|
|
115
|
+
| No clean open-source candidate, Meshy generation or import | `meshy-cli` |
|
|
116
116
|
|
|
117
117
|
A listed skill that is not installed in this project is a gap to report, not
|
|
118
118
|
permission to improvise its procedure.
|
|
@@ -34,11 +34,13 @@ camera loop; no memorized or guessed model URLs (they are hallucinated
|
|
|
34
34
|
provenance); no `createAuraApp()` call per frame; no CSS, DOM, or canvas
|
|
35
35
|
overlay standing in for 3D effects, labels on models, or renderer output.
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Resolve-first rule
|
|
38
38
|
|
|
39
|
-
A prompt that names a real object
|
|
40
|
-
any model code
|
|
41
|
-
then
|
|
39
|
+
A prompt that names a real object goes through `npx @aura3d/cli@latest assets
|
|
40
|
+
resolve "<descriptive phrase>" --name <key>` before any model code. It uses an
|
|
41
|
+
admitted project asset, then an open licence-clear source, then Meshy (only with
|
|
42
|
+
`--allow meshy` and a budget), and otherwise prints a primitives recipe for
|
|
43
|
+
simple props. There is no hosted catalog.
|
|
42
44
|
Auto-pullable means verified, redistributable (CC0 or CC-BY), and
|
|
43
45
|
direct-download. Marketplace and deep-link results are user-handled: the user
|
|
44
46
|
downloads and licenses them, then admits the file with `assets add`.
|
|
@@ -61,7 +63,8 @@ id, a URL, a copied GLB, or a draft artifact path.
|
|
|
61
63
|
|
|
62
64
|
## Paid generation controls (Meshy)
|
|
63
65
|
|
|
64
|
-
-
|
|
66
|
+
- Resolve first. Generation is a fallback after `assets resolve` reports no
|
|
67
|
+
project or open-source match.
|
|
65
68
|
- Run `meshy make ... --dry-run` and show the plan before any paid call.
|
|
66
69
|
- Get explicit user approval for the displayed maximum, then pass
|
|
67
70
|
`--max-credits <approved>` on the paid command. Prices are never assumed.
|
|
@@ -130,6 +130,7 @@ benchmark exception are in [boundaries](../aura3d-core/references/boundaries.md)
|
|
|
130
130
|
- [QA and replay kit](https://github.com/auraoneai/aura3d/blob/main/docs/api/qa-kit.md)
|
|
131
131
|
- [Runtime safety net](https://github.com/auraoneai/aura3d/blob/main/docs/api/safety-net.md)
|
|
132
132
|
- [Verification](https://github.com/auraoneai/aura3d/blob/main/docs/agents/verification.md)
|
|
133
|
+
- [Lessons learned and new-game checklist](https://github.com/auraoneai/aura3d/blob/main/docs/agents/lessons-learned.md)
|
|
133
134
|
- [Rendering proof required](https://github.com/auraoneai/aura3d/blob/main/docs/agents/rendering-proof-required.md)
|
|
134
135
|
- [Cinematic scene quality](https://github.com/auraoneai/aura3d/blob/main/docs/agents/cinematic-scene-quality.md)
|
|
135
136
|
- [Deployment](https://aura3d.auraone.ai/docs/deployment.html)
|
|
@@ -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 `<
|
|
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.
|
|
3
|
+
> Aura3D 4.3.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
|
|
4
4
|
|
|
5
5
|
## Fast path (read this first)
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ npm run build && npx @aura3d/cli@latest check-deploy --dist dist
|
|
|
24
24
|
|
|
25
25
|
Other templates: `product-viewer` (default), `cinematic-scene`, `racing-starter`, `falling-blocks-starter`, `fighting-game`, `character-controller`, `arena-shooter`. List them with `npx create-aura3d@latest --help`. Known issue: a stock `vite build` of 4.1.2 fails on a Node-only import; use 4.1.3 or later.
|
|
26
26
|
|
|
27
|
-
Read next, in this order: `docs/agents/README.md` (index), `docs/agents/agent-quickstart.md` (first scene, step by step), `docs/agents/recipes.md` (copy-and-adapt scenes: PBR cube with orbit, forest of instances, skinned character with crossfade, fixed-step game loop, custom shader on a grid), `docs/agents/claims-and-boundaries.md` (what you may claim). This path is meant to get a new agent to a rendering scene in minutes; the controlled cold-start trial that measures it is in `evidence/agent-eval/` (in progress).
|
|
27
|
+
Read next, in this order: `docs/agents/README.md` (index), `docs/agents/agent-quickstart.md` (first scene, step by step), `docs/agents/recipes.md` (copy-and-adapt scenes: PBR cube with orbit, forest of instances, skinned character with crossfade, fixed-step game loop, custom shader on a grid), `docs/agents/claims-and-boundaries.md` (what you may claim). This path is meant to get a new agent to a rendering scene in minutes; the controlled cold-start trial that measures it is in `evidence/agent-eval/` (in progress). Building a game: read `docs/agents/new-game-checklist.md` and `docs/agents/lessons-learned.md` first, then run `node tools/game-checks/run.mjs <game-slug>`.
|
|
28
28
|
|
|
29
29
|
Working inside the Aura3D monorepo itself: run browsers, Playwright and heavy builds on the remote runner (`tools/remote-acr/run.sh`), never local Docker or local Playwright.
|
|
30
30
|
|
|
@@ -88,7 +88,7 @@ Porting existing three.js code: `aura3d migrate three` and the `aura3d-threejs-m
|
|
|
88
88
|
|
|
89
89
|
Never invent asset paths, URLs or ids. Every model comes from a generated `assets.<key>`.
|
|
90
90
|
|
|
91
|
-
- `npx @aura3d/cli@latest assets search "<object>"` searches
|
|
91
|
+
- `npx @aura3d/cli@latest assets search "<object>"` searches licence-tagged open public sources and a starter pack; results are candidates to check, and there is no Aura3D-run search service to rely on.
|
|
92
92
|
- `assets resolve "<object>" --name <name>` pulls the top match and types it as `assets.<name>`.
|
|
93
93
|
- `assets add ./assets/model.glb --name model` adds a local file; then read the generated `src/aura-assets.ts`.
|
|
94
94
|
- No catalog match: generate with Meshy (`meshy-cli` skill), optimize (`assets optimize --file in.glb --out out.glb --role <role>`), then admit (`assets import-meshy`).
|
|
@@ -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 (
|
|
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
|
-
- Last updated: 2026-10-
|
|
141
|
+
- Last updated: 2026-10-25
|
|
@@ -28,7 +28,7 @@ viewer.
|
|
|
28
28
|
downloads artifacts.
|
|
29
29
|
3. Run `npx @aura3d/cli@latest --help` and confirm `assets import-meshy` and
|
|
30
30
|
its `--profile prop|environment|vehicle|humanoid` values.
|
|
31
|
-
4. Confirm
|
|
31
|
+
4. Confirm `assets resolve` was tried first (`aura3d-assets`) and its skip
|
|
32
32
|
reasons were reported. For the full upstream agent skill, review and pin a
|
|
33
33
|
revision of [meshy-3d-agent](https://github.com/meshy-dev/meshy-3d-agent)
|
|
34
34
|
before installing; do not copy its text here.
|
|
@@ -50,19 +50,21 @@ Reject instead of generating when the subject is a named real product,
|
|
|
50
50
|
brand, character or person, or a request to reproduce another game's or
|
|
51
51
|
product's art from its screenshots or frames; when rights evidence for
|
|
52
52
|
the output cannot be recorded; when the user has not approved a maximum; or
|
|
53
|
-
when
|
|
53
|
+
when an open-source candidate already passes the rubric.
|
|
54
54
|
|
|
55
55
|
## Procedure
|
|
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.
|
|
60
|
-
|
|
61
|
-
`
|
|
62
|
-
|
|
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 a catalog 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
|
|
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 a catalog candidate already passes the rubric.
|
|
|
131
132
|
|
|
132
133
|
## Stop and report
|
|
133
134
|
|
|
134
|
-
-
|
|
135
|
-
- Exit code 9 or a plan above the
|
|
136
|
-
job to stay under
|
|
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
|
-
|
|
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`)
|
|
65
|
-
|
|
66
|
-
|
|
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
|
|
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
|
|