@aura3d/cli 4.1.2 → 4.2.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.
Files changed (57) hide show
  1. package/data/root-export-dispositions.json +39 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +49 -17
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/evidence/index.d.ts +3 -0
  6. package/dist/commands/evidence/index.d.ts.map +1 -0
  7. package/dist/commands/evidence/index.js +12 -0
  8. package/dist/commands/evidence/index.js.map +1 -0
  9. package/dist/commands/evidence/judge.d.ts +18 -0
  10. package/dist/commands/evidence/judge.d.ts.map +1 -0
  11. package/dist/commands/evidence/judge.js +194 -0
  12. package/dist/commands/evidence/judge.js.map +1 -0
  13. package/dist/commands/evidence/judgeLib.d.ts +84 -0
  14. package/dist/commands/evidence/judgeLib.d.ts.map +1 -0
  15. package/dist/commands/evidence/judgeLib.js +178 -0
  16. package/dist/commands/evidence/judgeLib.js.map +1 -0
  17. package/dist/commands/registry.d.ts +1 -0
  18. package/dist/commands/registry.d.ts.map +1 -1
  19. package/dist/commands/registry.js +1 -0
  20. package/dist/commands/registry.js.map +1 -1
  21. package/dist/look/capture.d.ts +15 -7
  22. package/dist/look/capture.d.ts.map +1 -1
  23. package/dist/look/capture.js +85 -13
  24. package/dist/look/capture.js.map +1 -1
  25. package/dist/pull-bridge/adapters.d.ts +9 -1
  26. package/dist/pull-bridge/adapters.d.ts.map +1 -1
  27. package/dist/pull-bridge/adapters.js +30 -7
  28. package/dist/pull-bridge/adapters.js.map +1 -1
  29. package/dist/pull-bridge/search.d.ts +5 -0
  30. package/dist/pull-bridge/search.d.ts.map +1 -1
  31. package/dist/pull-bridge/search.js +7 -1
  32. package/dist/pull-bridge/search.js.map +1 -1
  33. package/dist/pull-bridge.js +1 -1
  34. package/dist/pull-bridge.js.map +1 -1
  35. package/dist/resolve-ladder.d.ts +123 -0
  36. package/dist/resolve-ladder.d.ts.map +1 -0
  37. package/dist/resolve-ladder.js +410 -0
  38. package/dist/resolve-ladder.js.map +1 -0
  39. package/package.json +5 -5
  40. package/skills/aura3d-art-direction/SKILL.md +5 -1
  41. package/skills/aura3d-assets/SKILL.md +16 -19
  42. package/skills/aura3d-assets/references/preview-under-look.md +16 -0
  43. package/skills/aura3d-browser-game/SKILL.md +19 -22
  44. package/skills/aura3d-browser-game/references/genre-gates.md +11 -0
  45. package/skills/aura3d-browser-game/references/genre-looks.md +48 -0
  46. package/skills/aura3d-character-animation/SKILL.md +8 -2
  47. package/skills/aura3d-core/SKILL.md +22 -20
  48. package/skills/aura3d-core/references/boundaries.md +8 -5
  49. package/skills/aura3d-evidence-review/SKILL.md +12 -2
  50. package/skills/aura3d-materials-environments/SKILL.md +25 -19
  51. package/skills/aura3d-performance/SKILL.md +19 -11
  52. package/skills/aura3d-retexture/SKILL.md +4 -3
  53. package/skills/aura3d-scene-authoring/SKILL.md +15 -15
  54. package/skills/aura3d-threejs-migration/SKILL.md +10 -2
  55. package/skills/llms.txt +104 -216
  56. package/skills/meshy-cli/SKILL.md +35 -34
  57. package/skills/meshy-cli/references/asset-tooling.md +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-ladder.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/resolve-ladder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura3d/cli",
3
- "version": "4.1.2",
3
+ "version": "4.2.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
- "@aura3d/asset-index": "4.1.2",
32
- "@aura3d/rendering": "4.1.2",
33
- "@aura3d/audio": "4.1.2",
34
- "create-aura3d": "4.1.2"
31
+ "@aura3d/asset-index": "4.2.0",
32
+ "@aura3d/audio": "4.2.0",
33
+ "create-aura3d": "4.2.0",
34
+ "@aura3d/rendering": "4.2.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": [
@@ -48,7 +48,7 @@ description: Sets the visual target and runs the look-dev loop for any Aura3D sc
48
48
 
49
49
  Run until every rubric category scores >= 7, or 6 rounds, or 2 rounds with no gain:
50
50
 
51
- 1. Capture: `aura3d look capture --route / --shots opening,mid,action --viewports desktop,mobile` (`--runner gh-actions` is the default where the template ships `.github/workflows/aura3d-lookdev.yml`; `--runner local` is the downstream user's choice).
51
+ 1. Capture opening, mid and action frames at desktop and mobile. In the Aura3D repository and on AuraOne machines (no GitHub Actions, no local Playwright) run the route's screenshot spec on the remote runner: `RUN_ID=look-1 SPECS="tests/browser/<route-look>.spec.ts" tools/remote-acr/run.sh`, then read the PNGs from `tests/reports/remote-acr/look-1/artifacts/`. In your own project: `aura3d look capture --route / --shots opening,mid,action --viewports desktop,mobile --runner gh-actions|local` (`gh-actions` is the CLI default and needs the template's `aura3d-lookdev` workflow plus `gh`; `local` needs Playwright installed). Use only the path your environment allows.
52
52
  2. Judge: open each PNG and fill `look-judgement.json` against `references/quality-bar.md`; validate with `aura3d look judge --validate look-judgement.json`. Read `aura3d look lint` plus `app.diagnostics().look`.
53
53
  3. Change the single highest-leverage thing: lint codes first, then the lowest category. One change per round.
54
54
  4. Repeat. Record remaining gaps with their lint code or engine limitation — never paint over a gap with fake geometry.
@@ -74,6 +74,10 @@ Hard checklist (all must hold before claiming done):
74
74
  - Label `prototype` when the loop could not run (no capture runner available): say which step failed.
75
75
  - A self-judgement is not a pass of the quality bar; only a panel round passes it. Report medians and the weakest category.
76
76
 
77
+ ## Default-look facts
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`); the legacy post chain makes frames with bloom or vignette 25% to 40% darker (`POSTPROCESS_V2_UNMIGRATED`, known issue); 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
+
77
81
  ## References
78
82
 
79
83
  - `references/look-recipes.md` — the 13 genre rows (look, camera, key, palette, atmosphere, post, VFX, assets, reference frames)
@@ -5,9 +5,13 @@ 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 catalog hit to a typed `assets.<key>`.
9
- Shared rules (catalog-first, typed assets, paid generation) are in
10
- [boundaries](../aura3d-core/references/boundaries.md).
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
+ [boundaries](../aura3d-core/references/boundaries.md). The canonical end-to-end
11
+ page (catalog, Meshy, optimise, isolated admission, rig and clips, production
12
+ rules, budgets) is
13
+ [asset workflow](https://github.com/auraoneai/aura3d/blob/main/docs/agents/asset-workflow.md);
14
+ this skill is the short procedure.
11
15
 
12
16
  ## Look target
13
17
 
@@ -40,9 +44,12 @@ lighting you evaluate materials and silhouettes against.
40
44
 
41
45
  Use `--type texture|environment|audio|navigation` for non-model files, and
42
46
  `--public-path /cdn/aura-assets/` when assets are served from a CDN.
43
- 2. Prompt names a real object: search with a descriptive phrase.
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.
44
50
 
45
51
  ```bash
52
+ npx @aura3d/cli@latest assets resolve "battle-worn knight helmet" --dry-run
46
53
  npx @aura3d/cli@latest assets search "battle-worn knight helmet" --json
47
54
  npx @aura3d/cli@latest assets search "animated humanoid fighting character" \
48
55
  --profile fighting-character --json
@@ -92,18 +99,7 @@ lighting you evaluate materials and silhouettes against.
92
99
  rigged characters (`skins > 0`) with `handle.setAnimation({ clip, loop: true,
93
100
  speed })`, and never build stick-figure humans or box cars from primitives.
94
101
 
95
- ```ts
96
- import { createAuraApp, groundedRenderedAssetPlacement, looks, model, scene } from "@aura3d/engine";
97
- import { assets } from "./aura-assets";
98
-
99
- const place = groundedRenderedAssetPlacement(assets.helmet, { targetMaxDimension: 1.2, floorY: 0 });
100
- createAuraApp("#app", {
101
- scene: scene()
102
- .add(looks.preset("product-studio"))
103
- .add(model(assets.helmet).position(...place.position).scale(place.scale)),
104
- ...looks.appOptions("product-studio")
105
- });
106
- ```
102
+ Worked example: [preview under look](references/preview-under-look.md#grounded-placement-example).
107
103
 
108
104
  8. Games and examples without a project manifest declare models with
109
105
  `defineModelAssets` (same-origin URL, `sha256`, license; `?models=0` falls
@@ -135,9 +131,10 @@ lighting you evaluate materials and silhouettes against.
135
131
 
136
132
  - Search returns no auto-pullable candidate, or every candidate fails the
137
133
  reject list: stop, list the query, profile, and rejection reasons, and offer
138
- two options: a user-supplied licensed file, or Meshy generation (load
139
- `meshy-cli`, dry run first). Do not model the subject from primitives.
140
- - Search prints a catalog fetch warning (for example an HTTP 404): report it
134
+ 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
+ from screenshots or frames of another game or product). Do not model the subject from primitives.
137
+ - Search prints a source fetch warning (for example an HTTP 404): report it
141
138
  verbatim, label asset-dependent work `blocked`, and never treat fallback
142
139
  deep-links as auto-pullable.
143
140
  - `assets validate --release` fails on provenance: keep the route `prototype`
@@ -24,3 +24,19 @@ Evaluate candidates under the route's look preset.
24
24
  4. Palette: the asset's dominant hue must sit inside the genre palette or be
25
25
  the declared accent — clashing saturation reads as wrong-asset even when
26
26
  the mesh is fine.
27
+
28
+ ## Grounded placement example
29
+
30
+ ```ts
31
+ import { createAuraApp, groundedRenderedAssetPlacement, looks, model, scene } from "@aura3d/engine";
32
+ import { assets } from "./aura-assets";
33
+
34
+ const place = groundedRenderedAssetPlacement(assets.helmet, { targetMaxDimension: 1.2, floorY: 0 });
35
+ createAuraApp("#app", {
36
+ scene: scene()
37
+ .add(looks.preset("product-studio"))
38
+ .add(model(assets.helmet).position(...place.position).scale(place.scale)),
39
+ ...looks.appOptions("product-studio")
40
+ });
41
+ ```
42
+
@@ -11,17 +11,19 @@ an objective and a progression loop in the browser AND looks like its genre.
11
11
  Shared rules (claim labels, forbidden patterns, typed assets, benchmark mode)
12
12
  are in [boundaries](../aura3d-core/references/boundaries.md).
13
13
 
14
- ## Look target
14
+ ## Start here
15
+
16
+ Read `docs/agents/build-a-game.md` (one page, type-checked sample) and
17
+ `docs/api/game-cheatsheet.md`. Build the route from the library shell
18
+ (`createGame` from `@aura3d/engine/game`, `createFixedStepLoop`,
19
+ `installQaHooks`, `defineModelAssets`, `installSafetyNet`); do not hand-roll a
20
+ HUD, touch layer, loop, QA hooks, synth or black-frame guard. Verify remotely
21
+ only (`tools/remote-acr/run.sh`): software WebGL2 is correctness and draw-call
22
+ evidence, never GPU performance evidence.
15
23
 
16
- Genre → recipe row (full table: `../aura3d-art-direction/references/look-recipes.md`):
24
+ ## Look target
17
25
 
18
- | Template | Look | Camera | Frame mood |
19
- | --- | --- | --- | --- |
20
- | `mini-game` | `outdoor-day` | `follow` (side-on) fov 50 | saturated greens, sky blue, warm wood + coin gold; fog 0.0025; `daylight-outdoor` post; coin sparkle + land dust |
21
- | `racing-starter` | `golden-hour` | `chase` fov 60 | warm asphalt, burnt orange, charcoal + headlight amber; low sun haze; `cinematic-film` post; brake glow |
22
- | `falling-blocks-starter` | `neon-arcade` | `orthographic` (top-down) fov 45 | neon palette per piece colour, dark glossy board + accent rim; `neon-night` post; line-clear flash |
23
- | `fighting-game` | `arena-fight` | `follow` (side-on) fov 45 | arena dark, rope colour, crowd shadow + spotlight rim; haze cone; `arena-fight` post; hit sparks |
24
- | `character-controller` | `outdoor-day` | `shoulder` fov 55 | open world greens + cloth accent; fog to horizon; `daylight-outdoor` post |
26
+ Pick the genre's recipe row before adding props: [genre looks](references/genre-looks.md) (template, look id, camera, mood) and the full table in `../aura3d-art-direction/references/look-recipes.md`.
25
27
 
26
28
  ## Establish the contract
27
29
 
@@ -71,7 +73,8 @@ Genre → recipe row (full table: `../aura3d-art-direction/references/look-recip
71
73
  `lights.studio()` / `lights.directional()` on top, pass `{ fogDensityScale: 0,
72
74
  exposureEv: -0.1 }` to `looks.preset(...)` if fog whitewashes a fast route,
73
75
  and never pin post-processing or the compiler off with a `qualityRebuild` flag
74
- list (the engine defaults are right; install the safety net instead), and never
76
+ list (the engine defaults are right; `@aura3d/engine/game` already turns the
77
+ `game` lane on; install the safety net instead), and never
75
78
  set `emissive: "#ffffff"` on instanced pool materials (`instanceColors`
76
79
  multiply `u_baseColor`, not `u_emissiveColor`).
77
80
  3. Mount typed 3D GLBs for every character, athlete, enemy, vehicle, weapon,
@@ -84,7 +87,7 @@ Genre → recipe row (full table: `../aura3d-art-direction/references/look-recip
84
87
  (`idle`, `walk`, `run`, `attack`) for real pixel motion under the key shadow
85
88
  instead of sliding rigid statues. Never build stick-figure humans or box cars
86
89
  from primitives; ground `model()` actors (`minY = 0`) at `y + sy / 2` of
87
- centered platforms; wind custom `primitives.mesh` triangles CCW from `+Y`; and
90
+ centered platforms; wind custom `geometry.custom` triangles CCW from `+Y`; and
88
91
  run Meshy GLBs through `assets optimize --role` before admission and mount
89
92
  them with a valid 64-char `sha256-...` `hash` (`defineModelAssets`).
90
93
  4. Camera state drives `app.camera` every frame — size `html, body, #app, canvas`
@@ -102,16 +105,7 @@ Genre → recipe row (full table: `../aura3d-art-direction/references/look-recip
102
105
  6. Reset without tearing down the scene: mutate runtime node handles
103
106
  (`app.nodes.require(...)`) instead of calling `app.setScene()` on same-stage
104
107
  (`stageId` / `worldId`) restarts so shadow and postprocess grade never drop.
105
- 7. Genre gates (plan for 60 seconds of meaningful play):
106
-
107
- | Genre | Must have |
108
- | --- | --- |
109
- | racing | throttle, brake, steer, ordered checkpoints, lap or finish, penalty or timeout |
110
- | platformer | move, jump, fall, collision matching visible ledges, collectibles, hazards, camera keeps player visible |
111
- | falling blocks | move, rotate, soft + hard drop, lock, line clear, scoring, levels, game over |
112
- | fighting | strikes/blocks, hit reactions, round + KO state, both fighters readable |
113
- | character controller | walk/run/jump clips playing, camera shoulder follow, locomotion direction matches travel |
114
-
108
+ 7. Genre gates (plan for 60 seconds of meaningful play): [genre gates](references/genre-gates.md).
115
109
  8. `npx @aura3d/cli@latest assets validate --no-placeholders --require-license`
116
110
  and `assets validate-game`; racing/platformer also
117
111
  `assets certify-game-geometry --asset track --category racing`.
@@ -145,8 +139,11 @@ per round until every category reads 7+, 6 rounds, or 2 flat rounds.
145
139
  - [Shared boundaries](../aura3d-core/references/boundaries.md)
146
140
  - [Look recipes](../aura3d-art-direction/references/look-recipes.md)
147
141
  - [Quality bar](../aura3d-art-direction/references/quality-bar.md)
148
- - [Build a browser game](https://github.com/auraoneai/aura3d/blob/main/docs/guides/build-a-browser-game.md)
142
+ - Build a game (one page, type-checked sample): `docs/agents/build-a-game.md`
143
+ - Game kit cheat sheet: `docs/api/game-cheatsheet.md`
144
+ - [Build a browser game guide](https://github.com/auraoneai/aura3d/blob/main/docs/guides/build-a-browser-game.md)
149
145
  - [Game example standards](https://github.com/auraoneai/aura3d/blob/main/docs/agents/game-example-standards.md)
150
146
  - [Game runtime API](https://github.com/auraoneai/aura3d/blob/main/docs/api/game-runtime.md)
151
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)
152
149
  - [Kits and hooks (4.1)](references/kits-and-hooks.md)
@@ -0,0 +1,11 @@
1
+ # Genre gates
2
+
3
+ Plan for 60 seconds of meaningful play.
4
+
5
+ | Genre | Must have |
6
+ | --- | --- |
7
+ | racing | throttle, brake, steer, ordered checkpoints, lap or finish, penalty or timeout |
8
+ | platformer | move, jump, fall, collision matching visible ledges, collectibles, hazards, camera keeps player visible |
9
+ | falling blocks | move, rotate, soft + hard drop, lock, line clear, scoring, levels, game over |
10
+ | fighting | strikes/blocks, hit reactions, round + KO state, both fighters readable |
11
+ | character controller | walk/run/jump clips playing, camera shoulder follow, locomotion direction matches travel |
@@ -50,3 +50,51 @@ overlay reads as a bug).
50
50
  - fighting: drama lives in the dark crowd and the spot's hard edge.
51
51
  - blocks: rhythm is the palette — every piece hue distinct at a glance.
52
52
  - character: the silhouette is the gameplay; rim keeps it readable.
53
+
54
+ ## Recipe rows by template
55
+
56
+ ### mini-game
57
+
58
+ - Look preset: `outdoor-day`
59
+ - Camera: `follow` (side-on) fov 50
60
+ - Palette and mood: saturated greens, sky blue, warm wood + coin gold
61
+ - Atmosphere and finish: fog 0.0025; `daylight-outdoor` post; coin sparkle + land dust
62
+
63
+ ### racing-starter
64
+
65
+ - Look preset: `golden-hour`
66
+ - Camera: `chase` fov 60
67
+ - Palette and mood: warm asphalt, burnt orange, charcoal + headlight amber
68
+ - Atmosphere and finish: low sun haze; `cinematic-film` post; brake glow
69
+
70
+ ### falling-blocks-starter
71
+
72
+ - Look preset: `neon-arcade`
73
+ - Camera: `orthographic` (top-down) fov 45
74
+ - Palette and mood: neon palette per piece colour, dark glossy board + accent rim
75
+ - Atmosphere and finish: `neon-night` post; line-clear flash
76
+
77
+ ### fighting-game
78
+
79
+ - Look preset: `arena-fight`
80
+ - Camera: `follow` (side-on) fov 45
81
+ - Palette and mood: arena dark, rope colour, crowd shadow + spotlight rim
82
+ - Atmosphere and finish: haze cone; `arena-fight` post; hit sparks
83
+
84
+ ### character-controller
85
+
86
+ - Look preset: `outdoor-day`
87
+ - Camera: `shoulder` fov 55
88
+ - Palette and mood: open world greens + cloth accent
89
+ - Atmosphere and finish: fog to horizon; `daylight-outdoor` post
90
+
91
+
92
+ ## Frame composition rules
93
+
94
+ - Read the key light direction from the long shadows on the ground, not from the sky.
95
+ - Keep the horizon in the upper third so fog has room to fade the distance.
96
+ - Hold the palette to the recipe row; accent colours go on pickups and hazards only.
97
+ - Separate the hero silhouette from the backdrop in luminance, not only in hue.
98
+ - In dark scenes add a rim on the hero edge so the shape survives the grade.
99
+ - Warm key against cool shadow keeps the mood readable at small sizes.
100
+ - Let bloom touch emissive accents only; a bloomed backdrop flattens the contrast.
@@ -23,6 +23,11 @@ in flat light can vanish inside night-city shadow pools or golden-hour haze.
23
23
  `assets validate-animation`, and `assets assemble-character` flags it prints.
24
24
  2. Read `src/aura-assets.ts` and `aura.assets.json`. The character must be a
25
25
  typed key with role `character`. No key: load `aura3d-assets` first.
26
+ Need a new humanoid? Generate it from a text prompt (a-pose or t-pose
27
+ preview, remesh to about 10,000 triangles, rig, animate, `assets
28
+ merge-clips`) as laid out in section 5 of the
29
+ [asset workflow](https://github.com/auraoneai/aura3d/blob/main/docs/agents/asset-workflow.md);
30
+ rigging adds walk and run, each extra `animate` task is one action.
26
31
  3. Inspect the rig and record the real names:
27
32
 
28
33
  ```bash
@@ -103,8 +108,9 @@ in flat light can vanish inside night-city shadow pools or golden-hour haze.
103
108
  map; do not claim arbitrary-rig retargeting or full-body IK.
104
109
  8. Normal mode: `npm run build` locally. Browser proof (deterministic capture
105
110
  times inside the clip's keyframe range, stable camera, character-region
106
- pixel delta, backend and fallback named) runs remotely via the template
107
- `npm run test` or CI. Hand results to `aura3d-evidence-review`.
111
+ pixel delta, backend and fallback named) runs on a remote runner
112
+ (`tools/remote-acr/run.sh` in the monorepo, or the template's `npm run test`
113
+ on a remote worker), never local Playwright. Hand results to `aura3d-evidence-review`.
108
114
 
109
115
  ## Stop and report
110
116
 
@@ -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, catalog-first, typed assets,
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
 
@@ -48,25 +48,29 @@ without a look ships flat shading, void background and floating props.
48
48
  });
49
49
  ```
50
50
 
51
- 3. Translate any three.js instinct with this table:
51
+ 3. Translate any three.js instinct with this table (every row compiles against
52
+ the engine types; the full table and the mistakes agents make are in
53
+ [agent-quickstart.md](https://github.com/auraoneai/aura3d/blob/main/docs/agents/agent-quickstart.md)):
52
54
 
53
55
  | three.js habit | Aura3D |
54
56
  | --- | --- |
55
- | `Mesh` plus a glTF loader | `model(assets.x)` (typed asset) |
56
- | `new Scene()` | `scene()` |
57
- | `PerspectiveCamera` | `camera.perspective(...)`, `camera.rigs.*` |
58
- | `AmbientLight` | `lights.hemisphere(...)` or the look fill |
59
- | `DirectionalLight`/`PointLight` | the look's key/rim slots, `lights.*` |
60
- | `scene.environment` + PMREM | `environments.studio`/`hdri`, `world.biome` |
61
- | `toneMapping`, exposure | `output.preset`, the look's grade |
62
- | `setPixelRatio` | `quality: "auto"` via `looks.appOptions` |
63
- | `castShadow` | `shadow: true` |
64
- | `EffectComposer` passes | `output.preset` + `effects.*` |
65
- | `AnimationMixer` | `AnimationController` |
66
- | OrbitControls | `interactions.orbit(...)` |
67
-
68
- 4. If the prompt names a real object, resolve it through the catalog before
69
- writing model code (load `aura3d-assets`).
57
+ | `new Scene()` | `scene()`, then `.add(node)` |
58
+ | `GLTFLoader` + `Mesh` | `model(assets.x, { targetHeight })` |
59
+ | `PerspectiveCamera` | `scene({ camera: camera.perspective({ fov, position, target }) })` |
60
+ | `AmbientLight`/`HemisphereLight` | `lights.ambient(...)`/`lights.hemisphere(...)` or the look |
61
+ | `DirectionalLight` + `castShadow` | `lights.directional({ shadow: true })`; models cast by default |
62
+ | `FogExp2` | `effects.fog({ density })` |
63
+ | `EffectComposer` + bloom | `effects.bloom()` |
64
+ | `ShaderMaterial` | `material.custom({ glsl: { fragment }, uniforms: { uTime: { type: "f32", value: 0 } } })` |
65
+ | `InstancedMesh` | `instances.cone/box/sphere({ transforms, colors })` |
66
+ | `OrbitControls` | `interactions.orbit({ target: "<node name>" })` |
67
+ | `AnimationMixer` | `app.nodes.require(name).play(clip, { crossFade })` |
68
+
69
+ There is no root `output` or `world` namespace: tone mapping and grade come
70
+ from the look (`looks.appOptions`), environment from `environments.*`.
71
+
72
+ 4. If the prompt names a real object, run `assets resolve` before writing
73
+ model code (load `aura3d-assets`).
70
74
  5. Load the next skill from the routing table below. Load more than one when
71
75
  the task spans them.
72
76
  6. Never assemble characters, athletes, enemies, vehicles, aircraft, trees, or
@@ -108,7 +112,7 @@ without a look ships flat shading, void background and floating props.
108
112
  | Flipbook VFX sheets, HUD icons, UI sprites | `aura3d-game-art` |
109
113
  | Restyling a finished mesh without touching geometry | `aura3d-retexture` |
110
114
  | Frame time, bundle size, KTX2, LOD, instancing | `aura3d-performance` |
111
- | No clean catalog candidate, Meshy generation or import | `meshy-cli` |
115
+ | No clean open-source candidate, Meshy generation or import | `meshy-cli` |
112
116
 
113
117
  A listed skill that is not installed in this project is a gap to report, not
114
118
  permission to improvise its procedure.
@@ -139,6 +143,4 @@ spec lives in `aura3d-art-direction`.
139
143
  - [Known pitfalls](references/pitfalls.md)
140
144
  - [Agent guide llms.txt](https://github.com/auraoneai/aura3d/blob/main/llms.txt)
141
145
  - [Claims and boundaries](https://github.com/auraoneai/aura3d/blob/main/docs/agents/claims-and-boundaries.md)
142
- - [No hackjob rules](https://github.com/auraoneai/aura3d/blob/main/docs/agents/no-hackjob-rules.md)
143
- - [Anti-hallucination rules](https://github.com/auraoneai/aura3d/blob/main/docs/agents/anti-hallucination-rules.md)
144
146
  - [Agent quickstart](https://aura3d.auraone.ai/docs/agent-quickstart.html)
@@ -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
- ## Catalog-first rule
37
+ ## Resolve-first rule
38
38
 
39
- A prompt that names a real object resolves through the asset catalog before
40
- any model code: `npx @aura3d/cli@latest assets search "<descriptive phrase>"`,
41
- then `assets resolve "<phrase>" --name <key>` for an auto-pullable candidate.
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
- - Catalog first. Generation is a fallback after a reported catalog rejection.
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.
@@ -38,8 +38,17 @@ benchmark exception are in [boundaries](../aura3d-core/references/boundaries.md)
38
38
  ```
39
39
 
40
40
  Read `failures` in the JSON, not only the exit code. Keep the reports.
41
- 3. Run the browser gate (`npm run test`) in CI or a remote runner, not in the
42
- local agent process. It writes route-health output and
41
+ `check-deploy` covers assets only: hashed files present in `dist`, no
42
+ unreferenced files under the asset base path, derived files present, and
43
+ the asset validation (`--release` adds provenance and license gates). It
44
+ never proves a frame draws; `assertAuraScreenshotNotBlank` and
45
+ `assertAuraRouteReady` from `@aura3d/engine/devtools` do the pixel side
46
+ inside the browser gate.
47
+ 3. Run the browser gate (`npm run test`, a Playwright suite) on a remote runner,
48
+ never in the local agent process, never as local Playwright, never through
49
+ GitHub Actions. In the Aura3D repository:
50
+ `RUN_ID=ev-1 SPECS="tests/browser/<route>.spec.ts" tools/remote-acr/run.sh`
51
+ (artifacts in `tests/reports/remote-acr/ev-1/artifacts/`). It writes route-health output and
43
52
  `tests/reports/screenshot.png` plus pixel metrics. Capture desktop and
44
53
  mobile viewports and retain the PNGs with hashes.
45
54
  Games and simulations: drive the page through `installQaHooks`
@@ -121,6 +130,7 @@ benchmark exception are in [boundaries](../aura3d-core/references/boundaries.md)
121
130
  - [QA and replay kit](https://github.com/auraoneai/aura3d/blob/main/docs/api/qa-kit.md)
122
131
  - [Runtime safety net](https://github.com/auraoneai/aura3d/blob/main/docs/api/safety-net.md)
123
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)
124
134
  - [Rendering proof required](https://github.com/auraoneai/aura3d/blob/main/docs/agents/rendering-proof-required.md)
125
135
  - [Cinematic scene quality](https://github.com/auraoneai/aura3d/blob/main/docs/agents/cinematic-scene-quality.md)
126
136
  - [Deployment](https://aura3d.auraone.ai/docs/deployment.html)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: aura3d-materials-environments
3
- description: Chooses and verifies surface looks and lighting environments: built-in `material.*`, `environments.*`, `sky.dayNight`, `weather`, and `water` first, then licensed local textures or HDRIs admitted with `assets add --type texture`, with seam, PBR-channel, and visual-QA checks. Use when a route needs a material, texture set, PBR maps, HDRI or IBL, skybox, night or daytime sky, rain, snow, water, KTX2 textures, or `@aura3d/materials` / `@aura3d/environments` validation.
3
+ description: Chooses and verifies surface looks and lighting environments: built-in `material.*`, `environments.*`, `sky.dayNight`, `weather`, and `water` first, then licensed local textures or HDRIs admitted with `assets add --type texture`, with seam, PBR-channel, and visual-QA checks. Use when a route needs a material, texture set, PBR maps, HDRI or IBL, skybox, night or daytime sky, rain, snow, water, or KTX2 textures.
4
4
  ---
5
5
 
6
6
  # Aura3D materials and environments
@@ -25,10 +25,14 @@ descend into manual environments when the look cannot express the mood.
25
25
  `--type texture|environment` option.
26
26
  2. Read `src/aura-assets.ts` and `aura.assets.json`. Map slots take typed
27
27
  `assets.<key>` refs only, never a URL string.
28
- 3. Check the installed `@aura3d/engine`, `@aura3d/materials`, and
29
- `@aura3d/environments` versions. The validators below come from the
30
- `/node` subpaths (`@aura3d/materials/node`, `@aura3d/environments/node`)
31
- and run in Node scripts, not in browser routes.
28
+ 3. Check the installed `@aura3d/engine` version. `@aura3d/materials` and
29
+ `@aura3d/environments` were retired in 4.0.0: everything here ships from
30
+ `@aura3d/engine` (`material`, `environments`, `sky`, `weather`, `water`,
31
+ `looks`). The Node-side material and HDRI validators (names such as
32
+ `validateGameReadyMaterialPreset`, `inspectProductionHDR`) live in
33
+ `packages/engine/src/devtools/` and are not exported from the root or the
34
+ `@aura3d/engine/devtools` subpath, so do not import them from a project;
35
+ use the capture checks below.
32
36
  4. Benchmark mode: `npm install && npm run build`, then stop.
33
37
 
34
38
  ## Procedure
@@ -54,11 +58,12 @@ Step 1, presets (always try first):
54
58
  `weather.wetGround(...)`; `water.surface({ preset: "calm" | "moderate" |
55
59
  "rough" | "storm" })`. Add their `nodes` with `scene().addMany(...)` and use
56
60
  the returned `background`.
57
- 4. Library references for choosing values: `GAME_READY_MATERIAL_PRESETS` (car
58
- paint, thin glass, brushed metal, skin approximation, and more),
59
- `listThreeCompatPbrMaterials()`, and `THREE_COMPAT_TEXTURE_SETS`. Check a
60
- preset in Node with `validateGameReadyMaterialPreset(preset)` or the whole
61
- library with `validateGameReadyMaterialLibrary()`.
61
+ 4. Choosing values: start from `material.presets()` and the named builders
62
+ above (car paint is `material.clearcoatPaint`, thin glass is
63
+ `material.glass`, brushed metal is `material.brushedMetal`); the in-repo
64
+ preset library (`GAME_READY_MATERIAL_PRESETS` in
65
+ `packages/engine/src/devtools/materials/MaterialValidation.ts`) is a source
66
+ reference for values, not an import.
62
67
 
63
68
  Step 2, a licensed local file (Poly Haven or another CC0 / CC-BY source you
64
69
  downloaded yourself):
@@ -89,11 +94,10 @@ route `prototype` until the checks below pass.
89
94
 
90
95
  Checks (all steps):
91
96
 
92
- 8. HDRI file: in Node, `inspectProductionHDR(path, [width, height])` must
93
- report a Radiance header and a 2:1 `declaredResolution`. For a manifest
94
- preset, `verifyThreeCompatHdriFile(preset)` checks the file hash and
95
- `createThreeCompatEnvironmentDiagnostics(preset)` reports memory and PMREM
96
- warnings.
97
+ 8. HDRI file: it must be a Radiance `.hdr` with a 2:1 aspect ratio (check with
98
+ `file` or an image viewer before `assets add`); `assets add` records the
99
+ hash, and `assets validate` fails on a missing or changed file. Watch the
100
+ console for memory and PMREM warnings on the first load.
97
101
  9. Equirect seam: capture the sky at a yaw that puts the left and right edge
98
102
  in frame and confirm no visible seam. `environments.hdri` renders a
99
103
  procedural studio fallback first and swaps in the HDRI after load, so
@@ -108,8 +112,10 @@ Checks (all steps):
108
112
  renderer coverage exists only for selected tested cases. Keep a
109
113
  PNG/JPG fallback, and make no compression or memory claim without a
110
114
  route-level capture.
111
- 13. Screenshots (normal mode only) run through `npm run test` on CI or a remote
112
- worker. Hand the claim label to `aura3d-evidence-review`.
115
+ 13. Screenshots (normal mode only) run through `npm run test` on a remote
116
+ runner, never local Playwright or GitHub Actions (`RUN_ID=mat-1
117
+ SPECS="tests/browser/<route>.spec.ts" tools/remote-acr/run.sh` in the
118
+ Aura3D repository). Hand the claim label to `aura3d-evidence-review`.
113
119
 
114
120
  14. Custom shaders (`material.custom`): write linear light, use
115
121
  `#include <colorspace_decode>` with `toneMapping: "none"` for authored hex
@@ -119,8 +125,8 @@ Checks (all steps):
119
125
 
120
126
  ## Look-dev loop
121
127
 
122
- `aura3d look capture` → judge against the quality-bar rubric → `aura3d look
123
- lint`. Judge only frames where the HDRI actually loaded (`iblPixelBacked`
128
+ Capture (remote runner, see `aura3d-art-direction`) → judge against the
129
+ quality-bar rubric → `aura3d look lint`. Judge only frames where the HDRI actually loaded (`iblPixelBacked`
124
130
  true); a seam visible in one capture re-checks at a different yaw. One change
125
131
  per round.
126
132