create-aura3d 3.0.0 → 4.0.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/README.md +1 -1
- package/dist/agent-skills.d.ts +38 -0
- package/dist/agent-skills.d.ts.map +1 -0
- package/dist/agent-skills.js +103 -0
- package/dist/agent-skills.js.map +1 -0
- package/dist/cli.js +32 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +32 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -10
- package/dist/index.js.map +1 -1
- package/dist/showcase-spec-artifacts.d.ts +1 -1
- package/dist/showcase-spec-game-geometry-extractor.js +8 -11
- package/dist/showcase-spec-game-geometry-extractor.js.map +1 -1
- package/dist/template-hdri.d.ts +12 -0
- package/dist/template-hdri.d.ts.map +1 -0
- package/dist/template-hdri.js +49 -0
- package/dist/template-hdri.js.map +1 -0
- package/hdri/ATTRIBUTION.md +8 -0
- package/hdri/autumn_field_puresky_1k.hdr +0 -0
- package/hdri/kloppenheim_06_puresky_1k.hdr +0 -0
- package/hdri/night-2k.hdr +0 -0
- package/hdri/studio_small_08_1k.hdr +0 -0
- package/package.json +14 -10
- package/skills/agent-files/AGENTS.md +3 -0
- package/skills/aura3d-animation-studio/SKILL.md +153 -0
- package/skills/aura3d-animation-studio/references/shot-looks.md +26 -0
- package/skills/aura3d-art-direction/SKILL.md +84 -0
- package/skills/aura3d-art-direction/references/failure-gallery.md +64 -0
- package/skills/aura3d-art-direction/references/framing-and-shots.md +45 -0
- package/skills/aura3d-art-direction/references/look-recipes.md +32 -0
- package/skills/aura3d-art-direction/references/quality-bar.md +103 -0
- package/skills/aura3d-art-direction/references/reference-frames.md +82 -0
- package/skills/aura3d-assets/SKILL.md +132 -0
- package/skills/aura3d-assets/references/preview-under-look.md +26 -0
- package/skills/aura3d-browser-game/SKILL.md +127 -0
- package/skills/aura3d-browser-game/references/genre-looks.md +52 -0
- package/skills/aura3d-character-animation/SKILL.md +129 -0
- package/skills/aura3d-character-animation/references/stage-and-lighting.md +31 -0
- package/skills/aura3d-core/SKILL.md +121 -0
- package/skills/aura3d-core/references/boundaries.md +91 -0
- package/skills/aura3d-evidence-review/SKILL.md +106 -0
- package/skills/aura3d-game-art/SKILL.md +118 -0
- package/skills/aura3d-game-art/references/sheet-check.mjs +58 -0
- package/skills/aura3d-game-art/references/sprite-palettes.md +25 -0
- package/skills/aura3d-materials-environments/SKILL.md +139 -0
- package/skills/aura3d-performance/SKILL.md +97 -0
- package/skills/aura3d-retexture/SKILL.md +115 -0
- package/skills/aura3d-retexture/references/geometry-hash.mjs +89 -0
- package/skills/aura3d-scene-authoring/SKILL.md +132 -0
- package/skills/aura3d-scene-authoring/references/look-by-family.md +28 -0
- package/skills/aura3d-threejs-migration/SKILL.md +125 -0
- package/skills/aura3d-threejs-migration/references/look-mapping.md +27 -0
- package/skills/llms.txt +117 -0
- package/skills/manifest.json +163 -0
- package/skills/meshy-cli/SKILL.md +133 -0
- package/templates/animation-channel/.claude/CLAUDE.md +3 -0
- package/templates/animation-channel/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/animation-channel/AGENTS.md +3 -0
- package/templates/animation-channel/package.json +4 -3
- package/templates/animation-channel/src/main.ts +5 -6
- package/templates/animation-channel/src/render-plan.ts +5 -3
- package/templates/animation-channel/tests/look-floor.ts +270 -0
- package/templates/animation-channel/tests/route-health.spec.ts +13 -0
- package/templates/animation-channel/tests/screenshot.spec.ts +10 -5
- package/templates/animation-channel/vite.config.ts +7 -0
- package/templates/animation-studio/.claude/CLAUDE.md +3 -0
- package/templates/animation-studio/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/animation-studio/AGENTS.md +2 -70
- package/templates/animation-studio/package.json +5 -4
- package/templates/animation-studio/public/aura-assets/luma.thumb.svg +1 -1
- package/templates/animation-studio/public/aura-assets/miko.thumb.svg +1 -1
- package/templates/{falling-blocks-starter/public/aura-assets/showcaseBlockfallCabinet.thumb.svg → animation-studio/public/aura-assets/moonGarden.thumb.svg} +1 -1
- package/templates/animation-studio/scripts/build-clip-library.ts +6 -5
- package/templates/animation-studio/scripts/resolve-asset.ts +7 -4
- package/templates/animation-studio/src/asset-contract.ts +19 -0
- package/templates/animation-studio/src/aura-assets.ts +651 -54
- package/templates/animation-studio/src/scene-player.ts +6 -6
- package/templates/animation-studio/src/set-templates.ts +13 -9
- package/templates/animation-studio/tests/look-floor.ts +270 -0
- package/templates/animation-studio/tests/route-health.spec.ts +2 -2
- package/templates/animation-studio/tests/screenshot.spec.ts +18 -10
- package/templates/animation-studio/vite.config.ts +2 -0
- package/templates/architecture-interior/.claude/CLAUDE.md +3 -0
- package/templates/architecture-interior/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/architecture-interior/AGENTS.md +3 -0
- package/templates/architecture-interior/README.md +16 -0
- package/templates/architecture-interior/aura.assets.json +24 -0
- package/templates/architecture-interior/package.json +24 -0
- package/templates/architecture-interior/public/aura-assets/kenneyModularDungeonRoomSmall.a7e74a5f.glb +0 -0
- package/templates/architecture-interior/src/aura-assets.ts +16 -0
- package/templates/architecture-interior/src/main.ts +23 -0
- package/templates/architecture-interior/tests/look-floor.ts +270 -0
- package/templates/{three-compat-architecture-interior → architecture-interior}/tests/route-health.spec.ts +3 -3
- package/templates/architecture-interior/tests/screenshot.spec.ts +21 -0
- package/templates/architecture-interior/vite.config.ts +7 -0
- package/templates/arena-shooter/.claude/CLAUDE.md +3 -0
- package/templates/arena-shooter/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/arena-shooter/AGENTS.md +3 -0
- package/templates/arena-shooter/README.md +45 -0
- package/templates/arena-shooter/aura.assets.json +62 -0
- package/templates/arena-shooter/index.html +32 -0
- package/templates/arena-shooter/package.json +23 -0
- package/templates/arena-shooter/playwright.config.ts +15 -0
- package/templates/arena-shooter/public/aura-assets/craft_miner.de323205.glb +0 -0
- package/templates/arena-shooter/public/aura-assets/craft_racer.bce8cb3d.glb +0 -0
- package/templates/arena-shooter/public/aura-assets/meteor_detailed.f30379ab.glb +0 -0
- package/templates/arena-shooter/src/aura-assets.ts +56 -0
- package/templates/arena-shooter/src/main.ts +616 -0
- package/templates/arena-shooter/tests/look-floor.ts +270 -0
- package/templates/arena-shooter/tests/playable.spec.ts +56 -0
- package/templates/arena-shooter/tests/route-health.spec.ts +87 -0
- package/templates/arena-shooter/tests/screenshot.spec.ts +22 -0
- package/templates/arena-shooter/tsconfig.json +15 -0
- package/templates/arena-shooter/vite.config.ts +7 -0
- package/templates/asset-inspector/.claude/CLAUDE.md +3 -0
- package/templates/asset-inspector/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/asset-inspector/AGENTS.md +3 -0
- package/templates/asset-inspector/README.md +13 -0
- package/templates/asset-inspector/aura.assets.json +24 -0
- package/templates/{three-compat-custom-threejs-migration → asset-inspector}/package.json +6 -4
- package/templates/asset-inspector/public/aura-assets/kenneyCarKitSedanSports.2889c428.glb +0 -0
- package/templates/asset-inspector/src/aura-assets.ts +16 -0
- package/templates/asset-inspector/src/main.ts +23 -0
- package/templates/asset-inspector/tests/look-floor.ts +270 -0
- package/templates/{three-compat-character-viewer → asset-inspector}/tests/route-health.spec.ts +3 -3
- package/templates/asset-inspector/tests/screenshot.spec.ts +21 -0
- package/templates/asset-inspector/vite.config.ts +7 -0
- package/templates/character-controller/.claude/CLAUDE.md +3 -0
- package/templates/character-controller/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/character-controller/AGENTS.md +3 -0
- package/templates/character-controller/README.md +7 -1
- package/templates/character-controller/aura.assets.json +29 -22
- package/templates/character-controller/index.html +4 -5
- package/templates/character-controller/package.json +6 -5
- package/templates/character-controller/playwright.config.ts +1 -0
- package/templates/character-controller/public/aura-assets/auraclash-player-rig.glb +0 -0
- package/templates/character-controller/src/aura-assets.ts +25 -7
- package/templates/character-controller/src/main.ts +190 -47
- package/templates/character-controller/tests/certified-rig.spec.ts +2 -2
- package/templates/character-controller/tests/look-floor.ts +270 -0
- package/templates/character-controller/tests/route-health.spec.ts +49 -4
- package/templates/character-controller/tests/screenshot.spec.ts +17 -5
- package/templates/character-controller/vite.config.ts +7 -0
- package/templates/character-viewer/.claude/CLAUDE.md +3 -0
- package/templates/character-viewer/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/character-viewer/AGENTS.md +3 -0
- package/templates/character-viewer/README.md +13 -0
- package/templates/character-viewer/aura.assets.json +24 -0
- package/templates/{three-compat-asset-inspector → character-viewer}/package.json +6 -4
- package/templates/character-viewer/public/aura-assets/kenneyMiniForestCharacterArcher.0fd0f92e.glb +0 -0
- package/templates/character-viewer/src/aura-assets.ts +16 -0
- package/templates/character-viewer/src/main.ts +21 -0
- package/templates/character-viewer/tests/look-floor.ts +270 -0
- package/templates/{three-compat-custom-threejs-migration → character-viewer}/tests/route-health.spec.ts +3 -3
- package/templates/character-viewer/tests/screenshot.spec.ts +21 -0
- package/templates/character-viewer/vite.config.ts +7 -0
- package/templates/cinematic-scene/.claude/CLAUDE.md +3 -0
- package/templates/cinematic-scene/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/cinematic-scene/AGENTS.md +3 -0
- package/templates/cinematic-scene/README.md +11 -2
- package/templates/cinematic-scene/package.json +4 -3
- package/templates/cinematic-scene/src/main.ts +46 -11
- package/templates/cinematic-scene/tests/look-floor.ts +270 -0
- package/templates/cinematic-scene/tests/route-health.spec.ts +31 -3
- package/templates/cinematic-scene/tests/screenshot.spec.ts +34 -45
- package/templates/cinematic-scene/vite.config.ts +7 -0
- package/templates/custom-scene/.claude/CLAUDE.md +3 -0
- package/templates/custom-scene/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/custom-scene/AGENTS.md +3 -0
- package/templates/custom-scene/README.md +13 -0
- package/templates/custom-scene/aura.assets.json +24 -0
- package/templates/{three-compat-character-viewer → custom-scene}/package.json +6 -4
- package/templates/custom-scene/public/aura-assets/kenneyPirateKitShipMedium.279ea019.glb +0 -0
- package/templates/custom-scene/src/aura-assets.ts +16 -0
- package/templates/custom-scene/src/main.ts +23 -0
- package/templates/custom-scene/tests/look-floor.ts +270 -0
- package/templates/{three-compat-asset-inspector → custom-scene}/tests/route-health.spec.ts +3 -3
- package/templates/custom-scene/tests/screenshot.spec.ts +21 -0
- package/templates/custom-scene/vite.config.ts +7 -0
- package/templates/episode-builder/.claude/CLAUDE.md +3 -0
- package/templates/episode-builder/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/episode-builder/AGENTS.md +3 -0
- package/templates/episode-builder/package.json +4 -3
- package/templates/episode-builder/src/main.ts +5 -3
- package/templates/episode-builder/src/render-plan.ts +5 -3
- package/templates/episode-builder/tests/look-floor.ts +270 -0
- package/templates/episode-builder/tests/route-health.spec.ts +11 -0
- package/templates/episode-builder/tests/screenshot.spec.ts +10 -4
- package/templates/episode-builder/vite.config.ts +7 -0
- package/templates/falling-blocks-starter/.claude/CLAUDE.md +3 -0
- package/templates/falling-blocks-starter/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/falling-blocks-starter/AGENTS.md +3 -0
- package/templates/falling-blocks-starter/README.md +10 -1
- package/templates/falling-blocks-starter/aura.assets.json +40 -23
- package/templates/falling-blocks-starter/package.json +4 -3
- package/templates/falling-blocks-starter/public/aura-assets/quaternius-cube-crate.glb +0 -0
- package/templates/falling-blocks-starter/public/aura-assets/quaternius-wall-modular.glb +0 -0
- package/templates/falling-blocks-starter/src/aura-assets.ts +33 -10
- package/templates/falling-blocks-starter/src/main.ts +317 -96
- package/templates/falling-blocks-starter/tests/look-floor.ts +270 -0
- package/templates/falling-blocks-starter/tests/playable.spec.ts +51 -18
- package/templates/falling-blocks-starter/tests/route-health.spec.ts +17 -7
- package/templates/falling-blocks-starter/tests/screenshot.spec.ts +21 -0
- package/templates/falling-blocks-starter/vite.config.ts +7 -0
- package/templates/fighting-game/.claude/CLAUDE.md +3 -0
- package/templates/fighting-game/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/fighting-game/AGENTS.md +3 -0
- package/templates/fighting-game/README.md +2 -0
- package/templates/fighting-game/aura.assets.json +56 -46
- package/templates/fighting-game/package.json +5 -3
- package/templates/fighting-game/public/aura-assets/auraclash-player-rig.glb +0 -0
- package/templates/fighting-game/public/aura-assets/auraclash-rival-rig.glb +0 -0
- package/templates/fighting-game/src/aura-assets.ts +54 -20
- package/templates/fighting-game/src/game/fighters.ts +57 -12
- package/templates/fighting-game/src/main.ts +135 -53
- package/templates/fighting-game/tests/certified-rig.spec.ts +1 -1
- package/templates/fighting-game/tests/gameplay-smoke.spec.ts +25 -33
- package/templates/fighting-game/tests/look-floor.ts +270 -0
- package/templates/fighting-game/tests/route-health.spec.ts +23 -4
- package/templates/fighting-game/tests/screenshot.spec.ts +10 -4
- package/templates/fighting-game/vite.config.ts +7 -0
- package/templates/large-scene/.claude/CLAUDE.md +3 -0
- package/templates/large-scene/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/large-scene/AGENTS.md +3 -0
- package/templates/large-scene/README.md +13 -0
- package/templates/large-scene/aura.assets.json +40 -0
- package/templates/{three-compat-architecture-interior → large-scene}/package.json +6 -4
- package/templates/large-scene/public/aura-assets/kenneyMiniForestRocksHigh.226728a0.glb +0 -0
- package/templates/large-scene/public/aura-assets/kenneyMiniForestTree.0075d505.glb +0 -0
- package/templates/large-scene/src/aura-assets.ts +28 -0
- package/templates/large-scene/src/main.ts +43 -0
- package/templates/large-scene/tests/look-floor.ts +270 -0
- package/templates/large-scene/tests/route-health.spec.ts +16 -0
- package/templates/large-scene/tests/screenshot.spec.ts +21 -0
- package/templates/large-scene/vite.config.ts +7 -0
- package/templates/material-authoring/.claude/CLAUDE.md +3 -0
- package/templates/material-authoring/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/material-authoring/AGENTS.md +3 -0
- package/templates/material-authoring/README.md +15 -0
- package/templates/material-authoring/aura.assets.json +24 -0
- package/templates/material-authoring/package.json +24 -0
- package/templates/material-authoring/public/aura-assets/kenneyCarKitSedanSports.2889c428.glb +0 -0
- package/templates/material-authoring/src/aura-assets.ts +16 -0
- package/templates/material-authoring/src/main.ts +78 -0
- package/templates/material-authoring/tests/look-floor.ts +270 -0
- package/templates/material-authoring/tests/route-health.spec.ts +16 -0
- package/templates/material-authoring/tests/screenshot.spec.ts +21 -0
- package/templates/material-authoring/vite.config.ts +7 -0
- package/templates/mini-game/.claude/CLAUDE.md +3 -0
- package/templates/mini-game/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/mini-game/AGENTS.md +3 -0
- package/templates/mini-game/README.md +9 -6
- package/templates/mini-game/aura.assets.json +177 -36
- package/templates/mini-game/package.json +4 -2
- package/templates/mini-game/public/aura-assets/kaykit-barbarian.glb +0 -0
- package/templates/mini-game/public/aura-assets/kenneyPlatformerKitKey.2e930961.glb +0 -0
- package/templates/mini-game/public/aura-assets/kenneyPlatformerKitStar.a102a1b9.glb +0 -0
- package/templates/mini-game/public/aura-assets/quaternius-crate.glb +0 -0
- package/templates/mini-game/public/aura-assets/quaternius-cube-crate.glb +0 -0
- package/templates/mini-game/src/aura-assets.ts +140 -32
- package/templates/mini-game/src/main.ts +204 -71
- package/templates/mini-game/tests/certified-rig.spec.ts +2 -2
- package/templates/mini-game/tests/look-floor.ts +270 -0
- package/templates/mini-game/tests/playable.spec.ts +23 -2
- package/templates/mini-game/tests/route-health.spec.ts +2 -2
- package/templates/mini-game/tests/screenshot.spec.ts +44 -53
- package/templates/mini-game/vite.config.ts +7 -0
- package/templates/postprocess-scene/.claude/CLAUDE.md +3 -0
- package/templates/postprocess-scene/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/postprocess-scene/AGENTS.md +3 -0
- package/templates/postprocess-scene/README.md +17 -0
- package/templates/postprocess-scene/aura.assets.json +38 -0
- package/templates/postprocess-scene/package.json +24 -0
- package/templates/postprocess-scene/public/aura-assets/showcaseLuma.ef389217.glb +0 -0
- package/templates/postprocess-scene/public/aura-assets/showcaseMiko.fcdc2b75.glb +0 -0
- package/templates/postprocess-scene/src/aura-assets.ts +28 -0
- package/templates/postprocess-scene/src/main.ts +29 -0
- package/templates/postprocess-scene/tests/look-floor.ts +270 -0
- package/templates/postprocess-scene/tests/route-health.spec.ts +16 -0
- package/templates/postprocess-scene/tests/screenshot.spec.ts +21 -0
- package/templates/postprocess-scene/vite.config.ts +7 -0
- package/templates/premium-product-viewer/.claude/CLAUDE.md +3 -0
- package/templates/premium-product-viewer/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/premium-product-viewer/AGENTS.md +3 -0
- package/templates/premium-product-viewer/README.md +18 -0
- package/templates/premium-product-viewer/aura.assets.json +24 -0
- package/templates/premium-product-viewer/package.json +24 -0
- package/templates/premium-product-viewer/public/aura-assets/khronosToyCar.01a60862.glb +0 -0
- package/templates/premium-product-viewer/src/aura-assets.ts +16 -0
- package/templates/premium-product-viewer/src/main.ts +33 -0
- package/templates/premium-product-viewer/tests/look-floor.ts +270 -0
- package/templates/premium-product-viewer/tests/route-health.spec.ts +16 -0
- package/templates/premium-product-viewer/tests/screenshot.spec.ts +21 -0
- package/templates/premium-product-viewer/vite.config.ts +7 -0
- package/templates/product-viewer/.claude/CLAUDE.md +3 -0
- package/templates/product-viewer/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/product-viewer/AGENTS.md +3 -0
- package/templates/product-viewer/README.md +10 -8
- package/templates/product-viewer/package.json +4 -2
- package/templates/product-viewer/src/aura-assets.ts +1 -1
- package/templates/product-viewer/src/main.ts +78 -19
- package/templates/product-viewer/tests/look-floor.ts +270 -0
- package/templates/product-viewer/tests/route-health.spec.ts +19 -1
- package/templates/product-viewer/tests/screenshot.spec.ts +35 -41
- package/templates/product-viewer/vite.config.ts +7 -0
- package/templates/prompt-animation-channel/.claude/CLAUDE.md +3 -0
- package/templates/prompt-animation-channel/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/prompt-animation-channel/AGENTS.md +3 -0
- package/templates/prompt-animation-channel/package.json +4 -3
- package/templates/prompt-animation-channel/src/main.ts +5 -3
- package/templates/prompt-animation-channel/src/render-plan.ts +5 -3
- package/templates/prompt-animation-channel/tests/look-floor.ts +270 -0
- package/templates/prompt-animation-channel/tests/route-health.spec.ts +12 -1
- package/templates/prompt-animation-channel/tests/screenshot.spec.ts +10 -4
- package/templates/prompt-animation-channel/tests/storyboard-playback.spec.ts +1 -1
- package/templates/prompt-animation-channel/vite.config.ts +7 -0
- package/templates/racing-starter/.claude/CLAUDE.md +3 -0
- package/templates/racing-starter/.github/workflows/aura3d-lookdev.yml +67 -0
- package/templates/racing-starter/AGENTS.md +3 -0
- package/templates/racing-starter/README.md +8 -6
- package/templates/racing-starter/package.json +4 -3
- package/templates/racing-starter/src/main.ts +169 -123
- package/templates/racing-starter/tests/geometry-certification.json +34 -0
- package/templates/racing-starter/tests/look-floor.ts +270 -0
- package/templates/racing-starter/tests/playable.spec.ts +63 -80
- package/templates/racing-starter/tests/route-health.spec.ts +14 -12
- package/templates/racing-starter/tests/screenshot.spec.ts +21 -0
- package/templates/racing-starter/vite.config.ts +7 -0
- package/templates/character-controller/public/aura-assets/showcaseWalkAnimatedGirl.93872fc2.glb +0 -0
- package/templates/character-controller/public/aura-assets/showcaseWalkAnimatedGirl.thumb.svg +0 -1
- package/templates/falling-blocks-starter/public/aura-assets/showcaseBlockfallCabinet.679d52fe.glb +0 -0
- package/templates/fighting-game/public/aura-assets/showcaseRunnerRobot.252b3a16.glb +0 -0
- package/templates/fighting-game/public/aura-assets/showcaseRunnerRobot.thumb.svg +0 -1
- package/templates/fighting-game/public/aura-assets/showcaseWalkAnimatedGirl.93872fc2.glb +0 -0
- package/templates/fighting-game/public/aura-assets/showcaseWalkAnimatedGirl.thumb.svg +0 -1
- package/templates/mini-game/public/aura-assets/showcaseKenneyOobiPlatformerHero.3f821141.glb +0 -0
- package/templates/mini-game/public/aura-assets/showcaseKenneyOobiPlatformerHero.thumb.svg +0 -1
- package/templates/three-compat-architecture-interior/aura.assets.json +0 -7
- package/templates/three-compat-architecture-interior/src/aura-assets.ts +0 -3
- package/templates/three-compat-architecture-interior/src/main.ts +0 -27
- package/templates/three-compat-architecture-interior/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-asset-inspector/aura.assets.json +0 -7
- package/templates/three-compat-asset-inspector/src/aura-assets.ts +0 -3
- package/templates/three-compat-asset-inspector/src/main.ts +0 -17
- package/templates/three-compat-asset-inspector/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-character-viewer/aura.assets.json +0 -7
- package/templates/three-compat-character-viewer/src/aura-assets.ts +0 -3
- package/templates/three-compat-character-viewer/src/main.ts +0 -17
- package/templates/three-compat-character-viewer/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-custom-threejs-migration/aura.assets.json +0 -7
- package/templates/three-compat-custom-threejs-migration/src/aura-assets.ts +0 -3
- package/templates/three-compat-custom-threejs-migration/src/main.ts +0 -16
- package/templates/three-compat-custom-threejs-migration/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-large-scene/aura.assets.json +0 -7
- package/templates/three-compat-large-scene/package.json +0 -22
- package/templates/three-compat-large-scene/src/aura-assets.ts +0 -3
- package/templates/three-compat-large-scene/src/main.ts +0 -31
- package/templates/three-compat-large-scene/tests/route-health.spec.ts +0 -16
- package/templates/three-compat-large-scene/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-material-authoring/aura.assets.json +0 -7
- package/templates/three-compat-material-authoring/package.json +0 -22
- package/templates/three-compat-material-authoring/src/aura-assets.ts +0 -3
- package/templates/three-compat-material-authoring/src/main.ts +0 -33
- package/templates/three-compat-material-authoring/tests/route-health.spec.ts +0 -16
- package/templates/three-compat-material-authoring/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-postprocess-scene/aura.assets.json +0 -7
- package/templates/three-compat-postprocess-scene/package.json +0 -22
- package/templates/three-compat-postprocess-scene/src/aura-assets.ts +0 -3
- package/templates/three-compat-postprocess-scene/src/main.ts +0 -17
- package/templates/three-compat-postprocess-scene/tests/route-health.spec.ts +0 -16
- package/templates/three-compat-postprocess-scene/tests/screenshot.spec.ts +0 -15
- package/templates/three-compat-premium-product-viewer/aura.assets.json +0 -7
- package/templates/three-compat-premium-product-viewer/package.json +0 -22
- package/templates/three-compat-premium-product-viewer/src/aura-assets.ts +0 -3
- package/templates/three-compat-premium-product-viewer/src/main.ts +0 -18
- package/templates/three-compat-premium-product-viewer/tests/route-health.spec.ts +0 -16
- package/templates/three-compat-premium-product-viewer/tests/screenshot.spec.ts +0 -15
- /package/templates/{three-compat-architecture-interior → architecture-interior}/index.html +0 -0
- /package/templates/{three-compat-architecture-interior → architecture-interior}/playwright.config.ts +0 -0
- /package/templates/{three-compat-architecture-interior → architecture-interior}/tsconfig.json +0 -0
- /package/templates/{three-compat-asset-inspector → asset-inspector}/index.html +0 -0
- /package/templates/{three-compat-asset-inspector → asset-inspector}/playwright.config.ts +0 -0
- /package/templates/{three-compat-asset-inspector → asset-inspector}/tsconfig.json +0 -0
- /package/templates/{three-compat-character-viewer → character-viewer}/index.html +0 -0
- /package/templates/{three-compat-character-viewer → character-viewer}/playwright.config.ts +0 -0
- /package/templates/{three-compat-character-viewer → character-viewer}/tsconfig.json +0 -0
- /package/templates/{three-compat-custom-threejs-migration → custom-scene}/index.html +0 -0
- /package/templates/{three-compat-custom-threejs-migration → custom-scene}/playwright.config.ts +0 -0
- /package/templates/{three-compat-custom-threejs-migration → custom-scene}/tsconfig.json +0 -0
- /package/templates/{three-compat-large-scene → large-scene}/index.html +0 -0
- /package/templates/{three-compat-large-scene → large-scene}/playwright.config.ts +0 -0
- /package/templates/{three-compat-large-scene → large-scene}/tsconfig.json +0 -0
- /package/templates/{three-compat-material-authoring → material-authoring}/index.html +0 -0
- /package/templates/{three-compat-material-authoring → material-authoring}/playwright.config.ts +0 -0
- /package/templates/{three-compat-material-authoring → material-authoring}/tsconfig.json +0 -0
- /package/templates/{three-compat-postprocess-scene → postprocess-scene}/index.html +0 -0
- /package/templates/{three-compat-postprocess-scene → postprocess-scene}/playwright.config.ts +0 -0
- /package/templates/{three-compat-postprocess-scene → postprocess-scene}/tsconfig.json +0 -0
- /package/templates/{three-compat-premium-product-viewer → premium-product-viewer}/index.html +0 -0
- /package/templates/{three-compat-premium-product-viewer → premium-product-viewer}/playwright.config.ts +0 -0
- /package/templates/{three-compat-premium-product-viewer → premium-product-viewer}/tsconfig.json +0 -0
|
@@ -5,64 +5,74 @@
|
|
|
5
5
|
"typegen": "src/aura-assets.ts",
|
|
6
6
|
"assets": [
|
|
7
7
|
{
|
|
8
|
-
"id": "
|
|
8
|
+
"id": "auraclashPlayerRig",
|
|
9
9
|
"type": "model",
|
|
10
10
|
"format": "glb",
|
|
11
|
-
"source": "public/aura-assets/
|
|
12
|
-
"outputPath": "public/aura-assets/
|
|
13
|
-
"url": "/aura-assets/
|
|
14
|
-
"hash": "sha256-
|
|
15
|
-
"sizeBytes":
|
|
16
|
-
"
|
|
17
|
-
86.929,
|
|
18
|
-
161.836,
|
|
19
|
-
37.758
|
|
20
|
-
],
|
|
21
|
-
"materials": [
|
|
22
|
-
"material_0",
|
|
23
|
-
"material_1",
|
|
24
|
-
"material_0_0",
|
|
25
|
-
"material_0_1",
|
|
26
|
-
"material_0_2",
|
|
27
|
-
"material_0_3",
|
|
28
|
-
"material_0_4"
|
|
29
|
-
],
|
|
11
|
+
"source": "public/aura-assets/auraclash-player-rig.glb",
|
|
12
|
+
"outputPath": "public/aura-assets/auraclash-player-rig.glb",
|
|
13
|
+
"url": "/aura-assets/auraclash-player-rig.glb",
|
|
14
|
+
"hash": "sha256-3318d671632878ed27b8af6de88c6e5ca647e0d4a04cf03780d555fa07cec087",
|
|
15
|
+
"sizeBytes": 7822664,
|
|
16
|
+
"materials": [],
|
|
30
17
|
"animations": [
|
|
31
|
-
"
|
|
18
|
+
"Crouch_Idle_Loop",
|
|
19
|
+
"Death01",
|
|
20
|
+
"Hit_Chest",
|
|
21
|
+
"Hit_Head",
|
|
22
|
+
"Idle_Loop",
|
|
23
|
+
"Jump_Loop",
|
|
24
|
+
"Punch_Cross",
|
|
25
|
+
"Punch_Jab",
|
|
26
|
+
"Sprint_Loop",
|
|
27
|
+
"Sword_Attack",
|
|
28
|
+
"Walk_Loop",
|
|
29
|
+
"Sword_Block"
|
|
32
30
|
],
|
|
33
31
|
"textures": [],
|
|
34
|
-
"
|
|
32
|
+
"libraryId": "auraclash-player-rig",
|
|
33
|
+
"libraryKit": "characters/humanoid-pbr",
|
|
34
|
+
"license": "CC0",
|
|
35
|
+
"attribution": "Quaternius",
|
|
36
|
+
"sourcePage": "https://quaternius.itch.io/modular-character-outfits-fantasy",
|
|
37
|
+
"bounds": [
|
|
38
|
+
1.669,
|
|
39
|
+
1.788,
|
|
40
|
+
0.349
|
|
41
|
+
]
|
|
35
42
|
},
|
|
36
43
|
{
|
|
37
|
-
"id": "
|
|
44
|
+
"id": "auraclashRivalRig",
|
|
38
45
|
"type": "model",
|
|
39
46
|
"format": "glb",
|
|
40
|
-
"source": "public/aura-assets/
|
|
41
|
-
"outputPath": "public/aura-assets/
|
|
42
|
-
"url": "/aura-assets/
|
|
43
|
-
"hash": "sha256-
|
|
44
|
-
"sizeBytes":
|
|
45
|
-
"
|
|
46
|
-
17.509,
|
|
47
|
-
9.101,
|
|
48
|
-
27.461
|
|
49
|
-
],
|
|
50
|
-
"materials": [
|
|
51
|
-
"HEAD",
|
|
52
|
-
"EYES",
|
|
53
|
-
"BODY",
|
|
54
|
-
"HINGE",
|
|
55
|
-
"material",
|
|
56
|
-
"material_5"
|
|
57
|
-
],
|
|
47
|
+
"source": "public/aura-assets/auraclash-rival-rig.glb",
|
|
48
|
+
"outputPath": "public/aura-assets/auraclash-rival-rig.glb",
|
|
49
|
+
"url": "/aura-assets/auraclash-rival-rig.glb",
|
|
50
|
+
"hash": "sha256-c8d844dc4a70bc5d548c1bdd5c20c7a2f336529088fd350098431adf87cdf13b",
|
|
51
|
+
"sizeBytes": 4732472,
|
|
52
|
+
"materials": [],
|
|
58
53
|
"animations": [
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
54
|
+
"Hit_Knockback",
|
|
55
|
+
"Idle_FoldArms_Loop",
|
|
56
|
+
"LayToIdle",
|
|
57
|
+
"Melee_Hook",
|
|
58
|
+
"NinjaJump_Idle_Loop",
|
|
59
|
+
"Shield_Dash_RM",
|
|
60
|
+
"Sword_Block",
|
|
61
|
+
"Sword_Regular_A",
|
|
62
|
+
"Sword_Regular_Combo",
|
|
63
|
+
"Zombie_Walk_Fwd_Loop"
|
|
63
64
|
],
|
|
64
65
|
"textures": [],
|
|
65
|
-
"
|
|
66
|
+
"libraryId": "auraclash-rival-rig",
|
|
67
|
+
"libraryKit": "characters/humanoid-pbr",
|
|
68
|
+
"license": "CC0",
|
|
69
|
+
"attribution": "Quaternius",
|
|
70
|
+
"sourcePage": "https://quaternius.itch.io/modular-character-outfits-fantasy",
|
|
71
|
+
"bounds": [
|
|
72
|
+
1.799,
|
|
73
|
+
1.869,
|
|
74
|
+
0.373
|
|
75
|
+
]
|
|
66
76
|
}
|
|
67
77
|
]
|
|
68
78
|
}
|
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
"test": "playwright test tests/route-health.spec.ts tests/gameplay-smoke.spec.ts tests/certified-rig.spec.ts --workers=1"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@aura3d/engine": "
|
|
15
|
-
"@aura3d/navigation-recast": "
|
|
14
|
+
"@aura3d/engine": "4.0.0",
|
|
15
|
+
"@aura3d/navigation-recast": "4.0.0",
|
|
16
|
+
"@aura3d/assets": "4.0.0"
|
|
16
17
|
},
|
|
17
18
|
"devDependencies": {
|
|
18
|
-
"@playwright/test": "
|
|
19
|
+
"@playwright/test": "1.59.1",
|
|
20
|
+
"@types/node": "^22.15.30",
|
|
19
21
|
"typescript": "^5.8.3",
|
|
20
22
|
"vite": "^7.3.2"
|
|
21
23
|
}
|
|
@@ -2,41 +2,75 @@ import { defineAuraAssets } from "@aura3d/engine";
|
|
|
2
2
|
|
|
3
3
|
export const assets = defineAuraAssets({
|
|
4
4
|
/*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - player:
|
|
8
|
-
* - rival:
|
|
5
|
+
* Library humanoid rigs ship as the default fighters (#481 mapping;
|
|
6
|
+
* characters/humanoid-pbr kit, CC0/Quaternius):
|
|
7
|
+
* - player: auraclashPlayerRig / "Idle_Loop"
|
|
8
|
+
* - rival: auraclashRivalRig / "Zombie_Walk_Fwd_Loop"
|
|
9
9
|
*
|
|
10
10
|
* Swap in your own fighter GLBs with the Aura3D CLI and keep these keys so
|
|
11
11
|
* src/main.ts keeps mounting typed models instead of source placeholders:
|
|
12
12
|
*
|
|
13
|
-
* npx @aura3d/cli@latest assets add ./assets/player-fighter.glb --name
|
|
14
|
-
* npx @aura3d/cli@latest assets add ./assets/rival-fighter.glb --name
|
|
13
|
+
* npx @aura3d/cli@latest assets add ./assets/player-fighter.glb --name auraclashPlayerRig
|
|
14
|
+
* npx @aura3d/cli@latest assets add ./assets/rival-fighter.glb --name auraclashRivalRig
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
auraclashPlayerRig: {
|
|
17
17
|
type: "model",
|
|
18
18
|
format: "glb",
|
|
19
|
-
url: "/aura-assets/
|
|
20
|
-
bounds: [
|
|
21
|
-
hash: "sha256-
|
|
19
|
+
url: "/aura-assets/auraclash-player-rig.glb",
|
|
20
|
+
bounds: [1.669, 1.788, 0.349],
|
|
21
|
+
hash: "sha256-3318d671632878ed27b8af6de88c6e5ca647e0d4a04cf03780d555fa07cec087",
|
|
22
22
|
metadata: {
|
|
23
|
-
materials: [
|
|
24
|
-
animations: [
|
|
23
|
+
materials: [],
|
|
24
|
+
animations: [
|
|
25
|
+
"Crouch_Idle_Loop",
|
|
26
|
+
"Death01",
|
|
27
|
+
"Hit_Chest",
|
|
28
|
+
"Hit_Head",
|
|
29
|
+
"Idle_Loop",
|
|
30
|
+
"Jump_Loop",
|
|
31
|
+
"Punch_Cross",
|
|
32
|
+
"Punch_Jab",
|
|
33
|
+
"Sprint_Loop",
|
|
34
|
+
"Sword_Attack",
|
|
35
|
+
"Walk_Loop",
|
|
36
|
+
"Sword_Block"
|
|
37
|
+
],
|
|
25
38
|
textures: [],
|
|
26
|
-
thumbnailUrl: "
|
|
39
|
+
thumbnailUrl: "",
|
|
40
|
+
libraryId: "auraclash-player-rig",
|
|
41
|
+
libraryKit: "characters/humanoid-pbr",
|
|
42
|
+
license: "CC0",
|
|
43
|
+
attribution: "Quaternius",
|
|
44
|
+
sourcePage: "https://quaternius.itch.io/modular-character-outfits-fantasy"
|
|
27
45
|
}
|
|
28
46
|
},
|
|
29
|
-
|
|
47
|
+
auraclashRivalRig: {
|
|
30
48
|
type: "model",
|
|
31
49
|
format: "glb",
|
|
32
|
-
url: "/aura-assets/
|
|
33
|
-
bounds: [
|
|
34
|
-
hash: "sha256-
|
|
50
|
+
url: "/aura-assets/auraclash-rival-rig.glb",
|
|
51
|
+
bounds: [1.799, 1.869, 0.373],
|
|
52
|
+
hash: "sha256-c8d844dc4a70bc5d548c1bdd5c20c7a2f336529088fd350098431adf87cdf13b",
|
|
35
53
|
metadata: {
|
|
36
|
-
materials: [
|
|
37
|
-
animations: [
|
|
54
|
+
materials: [],
|
|
55
|
+
animations: [
|
|
56
|
+
"Hit_Knockback",
|
|
57
|
+
"Idle_FoldArms_Loop",
|
|
58
|
+
"LayToIdle",
|
|
59
|
+
"Melee_Hook",
|
|
60
|
+
"NinjaJump_Idle_Loop",
|
|
61
|
+
"Shield_Dash_RM",
|
|
62
|
+
"Sword_Block",
|
|
63
|
+
"Sword_Regular_A",
|
|
64
|
+
"Sword_Regular_Combo",
|
|
65
|
+
"Zombie_Walk_Fwd_Loop"
|
|
66
|
+
],
|
|
38
67
|
textures: [],
|
|
39
|
-
thumbnailUrl: "
|
|
68
|
+
thumbnailUrl: "",
|
|
69
|
+
libraryId: "auraclash-rival-rig",
|
|
70
|
+
libraryKit: "characters/humanoid-pbr",
|
|
71
|
+
license: "CC0",
|
|
72
|
+
attribution: "Quaternius",
|
|
73
|
+
sourcePage: "https://quaternius.itch.io/modular-character-outfits-fantasy"
|
|
40
74
|
}
|
|
41
75
|
}
|
|
42
76
|
} as const);
|
|
@@ -8,20 +8,49 @@ import {
|
|
|
8
8
|
primitives
|
|
9
9
|
} from "@aura3d/engine";
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* T0.9a clip-map contract (Q-06-8 / #488). The engine's `validateClipMap` lives
|
|
13
|
+
* on the in-repo lane barrel, which the published `@aura3d/engine` does not
|
|
14
|
+
* export, so a scaffolded project could not type-check or bundle the import.
|
|
15
|
+
* Same contract here: every required state must map to an embedded clip
|
|
16
|
+
* (else FIGHTER_CLIP_MISSING with the list); each stand-in warns once.
|
|
17
|
+
*/
|
|
18
|
+
interface AuraClipMapEntry {
|
|
19
|
+
readonly clip: string;
|
|
20
|
+
readonly standIn?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function validateClipMap<State extends string>(
|
|
24
|
+
map: Record<State, AuraClipMapEntry>,
|
|
25
|
+
options: { readonly availableClips: readonly string[]; readonly requiredStates: readonly State[]; readonly label: string }
|
|
26
|
+
): void {
|
|
27
|
+
const available = new Set(options.availableClips);
|
|
28
|
+
const missing: string[] = [];
|
|
29
|
+
for (const state of options.requiredStates) {
|
|
30
|
+
const entry = map[state];
|
|
31
|
+
if (!entry || !available.has(entry.clip)) {
|
|
32
|
+
missing.push(entry ? `${state}→"${entry.clip}"` : state);
|
|
33
|
+
} else if (entry.standIn === true) {
|
|
34
|
+
console.warn(`FIGHTER_CLIP_STAND_IN: ${options.label} state "${state}" stands in with "${entry.clip}".`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (missing.length > 0) throw new Error(`FIGHTER_CLIP_MISSING (${options.label}): ${missing.join(", ")}`);
|
|
38
|
+
}
|
|
39
|
+
|
|
11
40
|
export type FighterId = "player" | "rival";
|
|
12
41
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* mounted asset id asserts directly against the
|
|
16
|
-
* - player:
|
|
17
|
-
* - rival:
|
|
42
|
+
* Library humanoid rigs mounted as the two fighters (#481 mapping;
|
|
43
|
+
* characters/humanoid-pbr kit). The asset keys ARE the manifest ids, so the
|
|
44
|
+
* mounted asset id asserts directly against the template manifest:
|
|
45
|
+
* - player: auraclashPlayerRig / "Idle_Loop"
|
|
46
|
+
* - rival: auraclashRivalRig / "Zombie_Walk_Fwd_Loop"
|
|
18
47
|
*/
|
|
19
|
-
export const PLAYER_FIGHTER_ASSET = "
|
|
20
|
-
export const RIVAL_FIGHTER_ASSET = "
|
|
48
|
+
export const PLAYER_FIGHTER_ASSET = "auraclashPlayerRig" as const;
|
|
49
|
+
export const RIVAL_FIGHTER_ASSET = "auraclashRivalRig" as const;
|
|
21
50
|
export type FighterAssetKey = typeof PLAYER_FIGHTER_ASSET | typeof RIVAL_FIGHTER_ASSET;
|
|
22
51
|
export const FIGHTER_CERTIFIED_CLIP: Record<FighterId, string> = {
|
|
23
|
-
player: "
|
|
24
|
-
rival: "
|
|
52
|
+
player: "Idle_Loop",
|
|
53
|
+
rival: "Zombie_Walk_Fwd_Loop"
|
|
25
54
|
};
|
|
26
55
|
export type FighterClip = "idle" | "walk" | "jump" | "dash" | "guard" | "light" | "heavy" | "special" | "hitstun";
|
|
27
56
|
|
|
@@ -47,10 +76,10 @@ export const REQUIRED_FIGHTER_CLIPS: readonly FighterClip[] = [
|
|
|
47
76
|
];
|
|
48
77
|
|
|
49
78
|
export const publicAssetInstructions = [
|
|
50
|
-
"certified default heroes:
|
|
79
|
+
"certified default heroes: auraclashPlayerRig (player) + auraclashRivalRig (rival)",
|
|
51
80
|
"npx @aura3d/cli@latest assets search \"animated humanoid fighting character\" --profile fighting-character --json",
|
|
52
|
-
"npx @aura3d/cli@latest assets resolve \"animated humanoid fighting character\" --name
|
|
53
|
-
"npx @aura3d/cli@latest assets resolve \"animated creature fighting character\" --name
|
|
81
|
+
"npx @aura3d/cli@latest assets resolve \"animated humanoid fighting character\" --name auraclashPlayerRig --profile fighting-character",
|
|
82
|
+
"npx @aura3d/cli@latest assets resolve \"animated creature fighting character\" --name auraclashRivalRig --profile fighting-character",
|
|
54
83
|
"npx @aura3d/cli@latest assets validate-game --profile fighting-character --json"
|
|
55
84
|
] as const;
|
|
56
85
|
|
|
@@ -95,6 +124,22 @@ export function createFighterAnimationController(
|
|
|
95
124
|
id: FighterId,
|
|
96
125
|
asset?: AuraAssetRef<"model">
|
|
97
126
|
): AnimationController<FighterClip> {
|
|
127
|
+
if (asset) {
|
|
128
|
+
// Adopt the T0.9a clip-map contract (Q-06-8 / #488): every fighter state
|
|
129
|
+
// resolves through `validateClipMap` against the embedded GLB clips, so an
|
|
130
|
+
// absent clip throws FIGHTER_CLIP_MISSING and stand-ins warn uniformly.
|
|
131
|
+
const certified = FIGHTER_CERTIFIED_CLIP[id];
|
|
132
|
+
// No fallback to the certified clip: an asset without embedded animation
|
|
133
|
+
// metadata must fail validation, not pass it by assumption.
|
|
134
|
+
const embedded = asset.metadata?.animations;
|
|
135
|
+
const availableClips = Array.isArray(embedded)
|
|
136
|
+
? embedded.filter((clip): clip is string => typeof clip === "string")
|
|
137
|
+
: [];
|
|
138
|
+
const clipMap = Object.fromEntries(
|
|
139
|
+
REQUIRED_FIGHTER_CLIPS.map((state) => [state, { clip: certified, standIn: true as const }])
|
|
140
|
+
) as Record<FighterClip, AuraClipMapEntry>;
|
|
141
|
+
validateClipMap(clipMap, { availableClips, requiredStates: REQUIRED_FIGHTER_CLIPS, label: id });
|
|
142
|
+
}
|
|
98
143
|
return new AnimationController<FighterClip>({
|
|
99
144
|
id: `${id}-animation-controller`,
|
|
100
145
|
...(asset ? { clipRegistry: animationClipRegistry(asset) } : {}),
|