create-aura3d 1.0.6 → 1.0.8
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.js +0 -0
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/templates/fighting-game/README.md +11 -5
- package/templates/fighting-game/package.json +1 -1
- package/templates/fighting-game/playwright.config.ts +4 -4
- package/templates/fighting-game/src/game/fighters.ts +4 -3
- package/templates/fighting-game/src/game/stage.ts +4 -4
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -28,7 +28,7 @@ export function createA3DProject(options) {
|
|
|
28
28
|
const packageJson = JSON.parse(readFileSync(packagePath, "utf8"));
|
|
29
29
|
packageJson.dependencies = {
|
|
30
30
|
...(packageJson.dependencies ?? {}),
|
|
31
|
-
"@aura3d/engine": options.packageVersion ?? "1.0.
|
|
31
|
+
"@aura3d/engine": options.packageVersion ?? "1.0.6"
|
|
32
32
|
};
|
|
33
33
|
writeFileSync(packagePath, `${JSON.stringify(packageJson, null, 2)}\n`);
|
|
34
34
|
return {
|
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
This template demonstrates Aura3D's public game runtime APIs:
|
|
4
4
|
|
|
5
|
-
- `
|
|
5
|
+
- `createGameApp(...)` for one mounted Aura game app with lifecycle evidence.
|
|
6
6
|
- `.runtime(game.runtimeNode("id"))` for mutable fighter and camera nodes.
|
|
7
|
-
- `
|
|
7
|
+
- `gameApp.input` / `gameApp.inputController(...)` for runtime-owned keyboard/gamepad input.
|
|
8
8
|
- `game.inputReplay(...)` and `game.inputReplayDriver(...)` for deterministic replay smoke paths.
|
|
9
9
|
- `game.kinematicBody(...)` and `game.jumpAssist(...)` for 2.5D movement, gravity, coyote time, jump buffering, dash, and knockback.
|
|
10
10
|
- `game.combatWorld(...)` for hitboxes, hurtboxes, guard, hit-stop, stun, recovery, and typed combat events.
|
|
@@ -43,8 +43,9 @@ Controls:
|
|
|
43
43
|
Add fighter assets:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
npx @aura3d/cli@latest assets
|
|
47
|
-
npx @aura3d/cli@latest assets
|
|
46
|
+
npx @aura3d/cli@latest assets search "animated humanoid fighting character" --profile fighting-character --json
|
|
47
|
+
npx @aura3d/cli@latest assets resolve "animated humanoid fighting character" --name playerFighter --profile fighting-character
|
|
48
|
+
npx @aura3d/cli@latest assets resolve "animated humanoid fighting character" --name rivalFighter --profile fighting-character
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
The CLI writes typed definitions to `src/aura-assets.ts`. The starter imports
|
|
@@ -55,9 +56,14 @@ or `unsafeModelUrl(...)`.
|
|
|
55
56
|
Before claiming the route is asset-ready, run:
|
|
56
57
|
|
|
57
58
|
```bash
|
|
58
|
-
npx @aura3d/cli@latest assets validate-game
|
|
59
|
+
npx @aura3d/cli@latest assets validate-game --profile fighting-character --json
|
|
59
60
|
```
|
|
60
61
|
|
|
62
|
+
If the catalog returns no production-ready fighting-character candidate, keep
|
|
63
|
+
the route in placeholder mode and do not invent a GLB URL. The refusal is a
|
|
64
|
+
valid safety result; production proof requires two distinct typed fighter
|
|
65
|
+
assets that pass the profile gate.
|
|
66
|
+
|
|
61
67
|
The source-level readiness declaration in `src/game/stage.ts` is not launch
|
|
62
68
|
evidence. Before claiming build, package, visual, accessibility, or launch
|
|
63
69
|
readiness, archive the matching command output, runtime evidence JSON,
|
|
@@ -2,11 +2,11 @@ import { defineConfig } from "@playwright/test";
|
|
|
2
2
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
webServer: {
|
|
5
|
-
command: "npm run dev",
|
|
6
|
-
url: "http://127.0.0.1:
|
|
7
|
-
reuseExistingServer:
|
|
5
|
+
command: "npm run dev -- --port 5186",
|
|
6
|
+
url: "http://127.0.0.1:5186",
|
|
7
|
+
reuseExistingServer: false
|
|
8
8
|
},
|
|
9
9
|
use: {
|
|
10
|
-
baseURL: "http://127.0.0.1:
|
|
10
|
+
baseURL: "http://127.0.0.1:5186"
|
|
11
11
|
}
|
|
12
12
|
});
|
|
@@ -34,9 +34,10 @@ export const REQUIRED_FIGHTER_CLIPS: readonly FighterClip[] = [
|
|
|
34
34
|
];
|
|
35
35
|
|
|
36
36
|
export const publicAssetInstructions = [
|
|
37
|
-
"npx @aura3d/cli@latest assets
|
|
38
|
-
"npx @aura3d/cli@latest assets
|
|
39
|
-
"npx @aura3d/cli@latest assets
|
|
37
|
+
"npx @aura3d/cli@latest assets search \"animated humanoid fighting character\" --profile fighting-character --json",
|
|
38
|
+
"npx @aura3d/cli@latest assets resolve \"animated humanoid fighting character\" --name playerFighter --profile fighting-character",
|
|
39
|
+
"npx @aura3d/cli@latest assets resolve \"animated humanoid fighting character\" --name rivalFighter --profile fighting-character",
|
|
40
|
+
"npx @aura3d/cli@latest assets validate-game --profile fighting-character --json"
|
|
40
41
|
] as const;
|
|
41
42
|
|
|
42
43
|
export const fighterAnimationClips: readonly AuraNamedAnimationClipDefinition<FighterClip>[] = REQUIRED_FIGHTER_CLIPS.map((id) => ({
|
|
@@ -30,12 +30,12 @@ export const fightingRouteReadiness = {
|
|
|
30
30
|
entry: "src/main.ts",
|
|
31
31
|
sourceFiles: ["src/main.ts", "src/aura-assets.ts", "src/game/fighters.ts", "src/game/moves.ts", "src/game/stage.ts"],
|
|
32
32
|
publicEngineApis: [
|
|
33
|
-
"
|
|
33
|
+
"createGameApp",
|
|
34
34
|
"scene",
|
|
35
35
|
"model(typed AuraAssetRef)",
|
|
36
36
|
"game.runtimeNode",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
37
|
+
"gameApp.onFrame",
|
|
38
|
+
"gameApp.input",
|
|
39
39
|
"game.evidence",
|
|
40
40
|
"game.kinematicBody",
|
|
41
41
|
"game.jumpAssist",
|
|
@@ -57,7 +57,7 @@ export const fightingRouteReadiness = {
|
|
|
57
57
|
gameplaySmokeSpec: "tests/gameplay-smoke.spec.ts",
|
|
58
58
|
localCommandsNotRunByTemplate: ["npm run typecheck", "npm run build", "npm run test"],
|
|
59
59
|
evidenceRequiredBeforeLaunchReady: [
|
|
60
|
-
"npx @aura3d/cli@latest assets validate-game output",
|
|
60
|
+
"npx @aura3d/cli@latest assets validate-game --profile fighting-character --json output",
|
|
61
61
|
"npm run test scaffold output proving route load and replay hit",
|
|
62
62
|
"browser screenshot showing a typed GLB fighter moved by runtime node mutation",
|
|
63
63
|
"archived collectGameRuntimeEvidence/app.evidence JSON under tests/reports/game-runtime/",
|