@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.
- package/data/root-export-dispositions.json +39 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +49 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/evidence/index.d.ts +3 -0
- package/dist/commands/evidence/index.d.ts.map +1 -0
- package/dist/commands/evidence/index.js +12 -0
- package/dist/commands/evidence/index.js.map +1 -0
- package/dist/commands/evidence/judge.d.ts +18 -0
- package/dist/commands/evidence/judge.d.ts.map +1 -0
- package/dist/commands/evidence/judge.js +194 -0
- package/dist/commands/evidence/judge.js.map +1 -0
- package/dist/commands/evidence/judgeLib.d.ts +84 -0
- package/dist/commands/evidence/judgeLib.d.ts.map +1 -0
- package/dist/commands/evidence/judgeLib.js +178 -0
- package/dist/commands/evidence/judgeLib.js.map +1 -0
- package/dist/commands/registry.d.ts +1 -0
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +1 -0
- package/dist/commands/registry.js.map +1 -1
- package/dist/look/capture.d.ts +15 -7
- package/dist/look/capture.d.ts.map +1 -1
- package/dist/look/capture.js +85 -13
- package/dist/look/capture.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/package.json +5 -5
- package/skills/aura3d-art-direction/SKILL.md +5 -1
- package/skills/aura3d-assets/SKILL.md +16 -19
- package/skills/aura3d-assets/references/preview-under-look.md +16 -0
- package/skills/aura3d-browser-game/SKILL.md +19 -22
- package/skills/aura3d-browser-game/references/genre-gates.md +11 -0
- package/skills/aura3d-browser-game/references/genre-looks.md +48 -0
- package/skills/aura3d-character-animation/SKILL.md +8 -2
- package/skills/aura3d-core/SKILL.md +22 -20
- package/skills/aura3d-core/references/boundaries.md +8 -5
- package/skills/aura3d-evidence-review/SKILL.md +12 -2
- package/skills/aura3d-materials-environments/SKILL.md +25 -19
- package/skills/aura3d-performance/SKILL.md +19 -11
- package/skills/aura3d-retexture/SKILL.md +4 -3
- package/skills/aura3d-scene-authoring/SKILL.md +15 -15
- package/skills/aura3d-threejs-migration/SKILL.md +10 -2
- package/skills/llms.txt +104 -216
- package/skills/meshy-cli/SKILL.md +35 -34
- 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.
|
|
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.
|
|
32
|
-
"@aura3d/
|
|
33
|
-
"
|
|
34
|
-
"
|
|
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
|
|
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
|
|
9
|
-
Shared rules (
|
|
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:
|
|
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
|
-
|
|
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
|
|
139
|
-
`meshy-cli`, dry run
|
|
140
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
24
|
+
## Look target
|
|
17
25
|
|
|
18
|
-
|
|
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;
|
|
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 `
|
|
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
|
-
-
|
|
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
|
|
107
|
-
`
|
|
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,
|
|
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
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
| `PerspectiveCamera` | `camera.perspective(
|
|
58
|
-
| `AmbientLight` | `lights.hemisphere(...)` or the look
|
|
59
|
-
| `DirectionalLight
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `AnimationMixer` | `
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
|
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
|
-
##
|
|
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.
|
|
@@ -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
|
-
|
|
42
|
-
|
|
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
|
|
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
|
|
29
|
-
`@aura3d/environments`
|
|
30
|
-
|
|
31
|
-
|
|
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.
|
|
58
|
-
|
|
59
|
-
`
|
|
60
|
-
preset
|
|
61
|
-
|
|
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:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
|
112
|
-
|
|
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
|
-
|
|
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
|
|