@auraindustry/aurajs 0.0.7 → 0.1.1
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 +98 -2
- package/benchmarks/perf-thresholds.json +54 -0
- package/package.json +4 -7
- package/src/asset-pack.mjs +8 -1
- package/src/authored-project.mjs +1449 -0
- package/src/authored-runtime.mjs +2016 -0
- package/src/authoring/avatar-animation-graph.mjs +648 -0
- package/src/bin-integrity.mjs +272 -0
- package/src/build-contract/assets.mjs +130 -0
- package/src/build-contract/capabilities.mjs +116 -0
- package/src/build-contract/constants.mjs +6 -0
- package/src/build-contract/helpers.mjs +44 -0
- package/src/build-contract/web-templates.mjs +5993 -0
- package/src/build-contract.mjs +27 -2910
- package/src/bundler.mjs +188 -55
- package/src/cli.mjs +4840 -1512
- package/src/commands/project-authoring.mjs +454 -0
- package/src/config.mjs +44 -0
- package/src/conformance/cases/app-and-ui-runtime-cases.mjs +3309 -0
- package/src/conformance/cases/core-runtime-cases.mjs +1431 -0
- package/src/conformance/cases/index.mjs +11 -0
- package/src/conformance/cases/scene3d-and-media-cases.mjs +2094 -0
- package/src/conformance/cases/systems-and-gameplay-cases.mjs +1776 -0
- package/src/conformance/shared.mjs +27 -0
- package/src/conformance-runner.mjs +25 -13
- package/src/conformance.mjs +619 -4020
- package/src/cutscene.mjs +362 -5
- package/src/dev-cli-action.mjs +249 -0
- package/src/dev-cli-inspect.mjs +92 -0
- package/src/dev-cli-state.mjs +80 -0
- package/src/external-asset-cache.mjs +587 -0
- package/src/external-asset-policy.mjs +217 -0
- package/src/external-package-surface.mjs +206 -0
- package/src/game-action-runtime.mjs +869 -0
- package/src/game-state-runtime.mjs +206 -6
- package/src/headless-action.mjs +186 -0
- package/src/headless-test/runtime-animation.mjs +1173 -0
- package/src/headless-test/runtime-coordinator.mjs +1514 -0
- package/src/headless-test/runtime-primitives.mjs +320 -0
- package/src/headless-test/runtime-world.mjs +2253 -0
- package/src/headless-test.mjs +392 -4298
- package/src/host-binary.mjs +342 -14
- package/src/icon-discovery.mjs +64 -0
- package/src/make-catalog.mjs +109 -0
- package/src/make.mjs +197 -0
- package/src/package-integrity.mjs +586 -0
- package/src/perf-benchmark.mjs +353 -0
- package/src/postinstall.mjs +5 -5
- package/src/prefabs/index.mjs +34 -0
- package/src/prefabs/scene-serialization.mjs +184 -0
- package/src/project-importer.mjs +620 -0
- package/src/project-registry.mjs +24 -0
- package/src/publish-command.mjs +195 -0
- package/src/publish-env-example.mjs +83 -0
- package/src/publish-validation.mjs +708 -0
- package/src/retro/assets/compile.mjs +232 -0
- package/src/retro/backend-gba/authoring.mjs +1029 -0
- package/src/retro/backend-gba/rom.mjs +363 -0
- package/src/retro/backend-gbc/rom.mjs +85 -0
- package/src/retro/build.mjs +278 -0
- package/src/retro/cli/commands.mjs +292 -0
- package/src/retro/cli/templates.mjs +84 -0
- package/src/retro/diagnostics/catalog.mjs +110 -0
- package/src/retro/diagnostics/emit.mjs +72 -0
- package/src/retro/emulator/case-overlay.mjs +64 -0
- package/src/retro/emulator/discovery.mjs +158 -0
- package/src/retro/emulator/macos-case-overlay.swift +220 -0
- package/src/retro/emulator/profiles.mjs +146 -0
- package/src/retro/emulator/runner.mjs +289 -0
- package/src/retro/frontend/load-project.mjs +98 -0
- package/src/retro/index.mjs +30 -0
- package/src/retro/ir/build-ir.mjs +108 -0
- package/src/retro/runtime-gba/contract.mjs +151 -0
- package/src/retro/runtime-gbc/contract.mjs +117 -0
- package/src/retro/shared/span.mjs +26 -0
- package/src/retro/shared/targets.mjs +64 -0
- package/src/retro/validator/check-project.mjs +114 -0
- package/src/runtime-hotspot-audit.mjs +707 -0
- package/src/scaffold/config.mjs +1000 -0
- package/src/scaffold/fs.mjs +56 -0
- package/src/scaffold/layout.mjs +318 -0
- package/src/scaffold/project-docs.mjs +439 -0
- package/src/scaffold.mjs +93 -596
- package/src/scene-composition/index.mjs +326 -0
- package/src/scene-composition/runtime.mjs +751 -0
- package/src/self-hosted-assets.mjs +604 -0
- package/src/session-client.mjs +750 -0
- package/src/session-native-launcher.mjs +74 -0
- package/src/session-protocol.mjs +75 -0
- package/src/session-runtime.mjs +321 -0
- package/src/session-server.mjs +360 -0
- package/src/shader-kits/index.mjs +773 -0
- package/src/starter-content-registry.mjs +292 -0
- package/src/state-artifacts.mjs +662 -24
- package/src/state-dev-reload.mjs +99 -2
- package/src/terminal-ui.mjs +245 -0
- package/src/web-conformance.mjs +219 -0
- package/templates/create/2d/config/gameplay/shooter.config.js +26 -0
- package/templates/create/2d/content/gameplay/waves.json +26 -0
- package/templates/create/2d/content/registries/.gitkeep +1 -0
- package/templates/create/2d/docs/design/.gitkeep +1 -0
- package/templates/create/2d/docs/design/loop.md +5 -0
- package/templates/create/2d/prefabs/enemies.prefab.js +90 -0
- package/templates/create/2d/prefabs/enemy-basic.prefab.js +18 -0
- package/templates/create/2d/prefabs/player.prefab.js +36 -0
- package/templates/create/2d/prefabs/projectiles.prefab.js +35 -0
- package/templates/create/2d/scenes/boot.scene.js +12 -0
- package/templates/create/2d/scenes/gameplay.scene.js +230 -0
- package/templates/create/2d/scenes/menu.scene.js +9 -0
- package/templates/create/2d/src/main.js +6 -185
- package/templates/create/2d/src/runtime/app.js +49 -0
- package/templates/create/2d/src/runtime/capabilities.js +35 -0
- package/templates/create/2d/ui/hud.screen.js +40 -0
- package/templates/create/2d/ui/pause.screen.js +149 -0
- package/templates/create/2d/ui/settings.screen.js +347 -0
- package/templates/create/2d/ui/title.screen.js +13 -0
- package/templates/create/2d-adventure/aura.config.json +28 -0
- package/templates/create/2d-adventure/config/gameplay/adventure.config.js +14 -0
- package/templates/create/2d-adventure/content/gameplay/world.js +46 -0
- package/templates/create/2d-adventure/content/registries/.gitkeep +1 -0
- package/templates/create/2d-adventure/docs/design/loop.md +5 -0
- package/templates/create/2d-adventure/prefabs/player.prefab.js +54 -0
- package/templates/create/2d-adventure/prefabs/relic.prefab.js +38 -0
- package/templates/create/2d-adventure/prefabs/world.prefab.js +125 -0
- package/templates/create/2d-adventure/scenes/gameplay.scene.js +256 -0
- package/templates/create/2d-adventure/src/runtime/capabilities.js +34 -0
- package/templates/create/2d-adventure/ui/hud.screen.js +60 -0
- package/templates/create/2d-survivor/config/gameplay/survivor.config.js +33 -0
- package/templates/create/2d-survivor/content/gameplay/spawn-zones.json +29 -0
- package/templates/create/2d-survivor/content/registries/.gitkeep +1 -0
- package/templates/create/2d-survivor/docs/design/.gitkeep +1 -0
- package/templates/create/2d-survivor/docs/design/loop.md +5 -0
- package/templates/create/2d-survivor/prefabs/enemies.prefab.js +178 -0
- package/templates/create/2d-survivor/prefabs/enemy-swarm.prefab.js +18 -0
- package/templates/create/2d-survivor/prefabs/player.prefab.js +42 -0
- package/templates/create/2d-survivor/prefabs/projectiles.prefab.js +56 -0
- package/templates/create/2d-survivor/scenes/boot.scene.js +12 -0
- package/templates/create/2d-survivor/scenes/gameplay.scene.js +314 -0
- package/templates/create/2d-survivor/scenes/menu.scene.js +9 -0
- package/templates/create/2d-survivor/src/main.js +5 -332
- package/templates/create/2d-survivor/src/runtime/app.js +49 -0
- package/templates/create/2d-survivor/src/runtime/capabilities.js +35 -0
- package/templates/create/2d-survivor/ui/hud.screen.js +45 -0
- package/templates/create/2d-survivor/ui/title.screen.js +13 -0
- package/templates/create/3d/assets/models/starter-avatar.gltf +184 -0
- package/templates/create/3d/config/gameplay/.gitkeep +1 -0
- package/templates/create/3d/content/gameplay/checkpoints.json +33 -0
- package/templates/create/3d/content/gameplay/course.js +40 -0
- package/templates/create/3d/content/registries/.gitkeep +1 -0
- package/templates/create/3d/docs/design/.gitkeep +1 -0
- package/templates/create/3d/docs/design/loop.md +5 -0
- package/templates/create/3d/prefabs/checkpoint.prefab.js +15 -0
- package/templates/create/3d/prefabs/player.prefab.js +204 -0
- package/templates/create/3d/prefabs/world.prefab.js +112 -0
- package/templates/create/3d/scenes/boot.scene.js +12 -0
- package/templates/create/3d/scenes/checkpoint.scene.js +9 -0
- package/templates/create/3d/scenes/gameplay.scene.js +292 -0
- package/templates/create/3d/src/main.js +6 -295
- package/templates/create/3d/src/runtime/app.js +49 -0
- package/templates/create/3d/src/runtime/capabilities.js +53 -0
- package/templates/create/3d/src/runtime/materials.js +34 -0
- package/templates/create/3d/src/runtime/state.js +39 -0
- package/templates/create/3d/ui/hud.screen.js +75 -0
- package/templates/create/3d/ui/pause.screen.js +166 -0
- package/templates/create/3d/ui/settings.screen.js +387 -0
- package/templates/create/3d-adventure/assets/models/starter-avatar.gltf +184 -0
- package/templates/create/3d-adventure/aura.config.json +28 -0
- package/templates/create/3d-adventure/config/gameplay/adventure.config.js +9 -0
- package/templates/create/3d-adventure/content/gameplay/course.js +62 -0
- package/templates/create/3d-adventure/content/registries/.gitkeep +1 -0
- package/templates/create/3d-adventure/docs/design/loop.md +5 -0
- package/templates/create/3d-adventure/prefabs/player.prefab.js +168 -0
- package/templates/create/3d-adventure/prefabs/relic.prefab.js +35 -0
- package/templates/create/3d-adventure/prefabs/world.prefab.js +119 -0
- package/templates/create/3d-adventure/scenes/gameplay.scene.js +358 -0
- package/templates/create/3d-adventure/src/runtime/capabilities.js +56 -0
- package/templates/create/3d-adventure/src/runtime/materials.js +39 -0
- package/templates/create/3d-adventure/src/runtime/state.js +31 -0
- package/templates/create/3d-adventure/ui/hud.screen.js +70 -0
- package/templates/create/3d-adventure/ui/pause.screen.js +437 -0
- package/templates/create/3d-collectathon/assets/models/starter-avatar.gltf +184 -0
- package/templates/create/3d-collectathon/config/gameplay/.gitkeep +1 -0
- package/templates/create/3d-collectathon/content/gameplay/collectibles.json +26 -0
- package/templates/create/3d-collectathon/content/gameplay/course.js +46 -0
- package/templates/create/3d-collectathon/content/registries/.gitkeep +1 -0
- package/templates/create/3d-collectathon/docs/design/.gitkeep +1 -0
- package/templates/create/3d-collectathon/docs/design/loop.md +5 -0
- package/templates/create/3d-collectathon/prefabs/collectible.prefab.js +15 -0
- package/templates/create/3d-collectathon/prefabs/player.prefab.js +207 -0
- package/templates/create/3d-collectathon/prefabs/world.prefab.js +112 -0
- package/templates/create/3d-collectathon/scenes/boot.scene.js +12 -0
- package/templates/create/3d-collectathon/scenes/checkpoint.scene.js +9 -0
- package/templates/create/3d-collectathon/scenes/gameplay.scene.js +200 -0
- package/templates/create/3d-collectathon/src/main.js +5 -355
- package/templates/create/3d-collectathon/src/runtime/app.js +49 -0
- package/templates/create/3d-collectathon/src/runtime/capabilities.js +53 -0
- package/templates/create/3d-collectathon/src/runtime/materials.js +34 -0
- package/templates/create/3d-collectathon/src/runtime/state.js +27 -0
- package/templates/create/3d-collectathon/ui/hud.screen.js +66 -0
- package/templates/create/3d-collectathon/ui/pause.screen.js +13 -0
- package/templates/create/blank/config/gameplay/.gitkeep +1 -0
- package/templates/create/blank/content/gameplay/.gitkeep +1 -0
- package/templates/create/blank/content/registries/.gitkeep +1 -0
- package/templates/create/blank/docs/design/.gitkeep +1 -0
- package/templates/create/blank/docs/design/loop.md +5 -0
- package/templates/create/blank/prefabs/.gitkeep +1 -0
- package/templates/create/blank/scenes/.gitkeep +1 -0
- package/templates/create/blank/src/runtime/.gitkeep +1 -0
- package/templates/create/blank/ui/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/assets/audio/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/assets/fonts/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/assets/sprites/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/assets/starter/README.md +11 -0
- package/templates/create/deckbuilder-2d/assets/ui/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/aura.config.json +28 -0
- package/templates/create/deckbuilder-2d/config/gameplay/deckbuilder.config.js +26 -0
- package/templates/create/deckbuilder-2d/content/cards/guard.card.js +19 -0
- package/templates/create/deckbuilder-2d/content/cards/spark.card.js +20 -0
- package/templates/create/deckbuilder-2d/content/cards/starter.deck.js +69 -0
- package/templates/create/deckbuilder-2d/content/cards/strike.card.js +19 -0
- package/templates/create/deckbuilder-2d/content/cards/survey.card.js +20 -0
- package/templates/create/deckbuilder-2d/content/encounters/training-battle.encounter.js +14 -0
- package/templates/create/deckbuilder-2d/content/encounters/training-battle.js +65 -0
- package/templates/create/deckbuilder-2d/content/enemies/training-automaton.enemy.js +48 -0
- package/templates/create/deckbuilder-2d/content/gameplay/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/content/registries/cards.registry.js +26 -0
- package/templates/create/deckbuilder-2d/content/registries/encounters.registry.js +20 -0
- package/templates/create/deckbuilder-2d/content/registries/enemies.registry.js +20 -0
- package/templates/create/deckbuilder-2d/content/registries/relics.registry.js +20 -0
- package/templates/create/deckbuilder-2d/content/relics/ember-charm.relic.js +18 -0
- package/templates/create/deckbuilder-2d/docs/design/loop.md +12 -0
- package/templates/create/deckbuilder-2d/prefabs/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/scenes/boot.scene.js +84 -0
- package/templates/create/deckbuilder-2d/scenes/gameplay.scene.js +641 -0
- package/templates/create/deckbuilder-2d/src/components/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/src/main.js +17 -0
- package/templates/create/deckbuilder-2d/src/runtime/capabilities.js +22 -0
- package/templates/create/deckbuilder-2d/src/shared/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/src/systems/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/tests/smoke/.gitkeep +1 -0
- package/templates/create/deckbuilder-2d/ui/hud.screen.js +80 -0
- package/templates/create/deckbuilder-2d/ui/pause.screen.js +146 -0
- package/templates/create/deckbuilder-2d/ui/settings.screen.js +342 -0
- package/templates/create/local-multiplayer/aura.config.json +41 -0
- package/templates/create/local-multiplayer/config/gameplay/local-multiplayer.config.js +26 -0
- package/templates/create/local-multiplayer/content/gameplay/room-layout.js +13 -0
- package/templates/create/local-multiplayer/content/registries/.gitkeep +1 -0
- package/templates/create/local-multiplayer/docs/design/loop.md +16 -0
- package/templates/create/local-multiplayer/prefabs/player.prefab.js +99 -0
- package/templates/create/local-multiplayer/scenes/boot.scene.js +12 -0
- package/templates/create/local-multiplayer/scenes/gameplay.scene.js +472 -0
- package/templates/create/local-multiplayer/src/main.js +17 -0
- package/templates/create/local-multiplayer/src/runtime/capabilities.js +28 -0
- package/templates/create/local-multiplayer/ui/hud.screen.js +65 -0
- package/templates/create/shared/src/runtime/project-inspector.js +105 -0
- package/templates/create/shared/src/runtime/scene-flow.js +290 -0
- package/templates/create/shared/src/runtime/screen-shell.js +222 -0
- package/templates/create/shared/src/runtime/ui-forms.js +209 -0
- package/templates/create/shared/src/runtime/ui-settings.js +237 -0
- package/templates/create/shared/src/runtime/ui-theme.js +352 -0
- package/templates/create/shared/src/starter-utils/adventure-objectives.js +102 -0
- package/templates/create/shared/src/starter-utils/animation-2d.js +337 -0
- package/templates/create/shared/src/starter-utils/avatar-3d.js +404 -0
- package/templates/create/shared/src/starter-utils/combat-feedback-2d.js +320 -0
- package/templates/create/shared/src/starter-utils/core.js +39 -3
- package/templates/create/shared/src/starter-utils/index.js +8 -2
- package/templates/create/shared/src/starter-utils/platformer-3d.js +34 -3
- package/templates/create/shared/src/starter-utils/triggers.js +662 -0
- package/templates/create/shared/src/starter-utils/tween-2d.js +615 -0
- package/templates/create/video-cutscene/assets/video/.gitkeep +0 -0
- package/templates/create/video-cutscene/aura.config.json +28 -0
- package/templates/create/video-cutscene/config/gameplay/.gitkeep +0 -0
- package/templates/create/video-cutscene/content/gameplay/.gitkeep +0 -0
- package/templates/create/video-cutscene/content/registries/.gitkeep +0 -0
- package/templates/create/video-cutscene/docs/design/loop.md +22 -0
- package/templates/create/video-cutscene/prefabs/.gitkeep +0 -0
- package/templates/create/video-cutscene/scenes/boot.scene.js +11 -0
- package/templates/create/video-cutscene/scenes/cutscene.scene.js +113 -0
- package/templates/create/video-cutscene/scenes/gameplay.scene.js +50 -0
- package/templates/create/video-cutscene/src/main.js +17 -0
- package/templates/create/video-cutscene/src/runtime/app.js +52 -0
- package/templates/create/video-cutscene/src/runtime/capabilities.js +35 -0
- package/templates/create/video-cutscene/src/runtime/state.js +13 -0
- package/templates/create/video-cutscene/ui/.gitkeep +0 -0
- package/templates/create-bin/play.js +1192 -0
- package/templates/make/README.md +46 -0
- package/templates/make/catalog.json +51 -0
- package/templates/make/component/files/{{MAKE_NAME}}.component.js +20 -0
- package/templates/make/component/manifest.json +9 -0
- package/templates/make/data/files/{{MAKE_NAME}}.json +14 -0
- package/templates/make/data/manifest.json +9 -0
- package/templates/make/material/files/{{MAKE_NAME}}.material.json +17 -0
- package/templates/make/material/manifest.json +9 -0
- package/templates/make/prefab/files/{{MAKE_NAME}}.prefab.js +20 -0
- package/templates/make/prefab/manifest.json +9 -0
- package/templates/make/scene/files/{{MAKE_NAME}}.scene.js +31 -0
- package/templates/make/scene/manifest.json +9 -0
- package/templates/make/shader/files/{{MAKE_NAME}}.shader.js +23 -0
- package/templates/make/shader/manifest.json +9 -0
- package/templates/make/system/files/{{MAKE_NAME}}.system.js +15 -0
- package/templates/make/system/manifest.json +9 -0
- package/templates/make/ui-screen/files/{{MAKE_NAME}}.screen.js +16 -0
- package/templates/make/ui-screen/files/{{MAKE_NAME}}.screen.json +23 -0
- package/templates/make/ui-screen/manifest.json +10 -0
- package/templates/make-starters/deckbuilder-2d/card/files/{{MAKE_NAME}}.card.js +22 -0
- package/templates/make-starters/deckbuilder-2d/card/manifest.json +9 -0
- package/templates/make-starters/deckbuilder-2d/catalog.json +34 -0
- package/templates/make-starters/deckbuilder-2d/encounter/files/{{MAKE_NAME}}.encounter.js +18 -0
- package/templates/make-starters/deckbuilder-2d/encounter/manifest.json +9 -0
- package/templates/make-starters/deckbuilder-2d/enemy/files/{{MAKE_NAME}}.enemy.js +28 -0
- package/templates/make-starters/deckbuilder-2d/enemy/manifest.json +9 -0
- package/templates/make-starters/deckbuilder-2d/relic/files/{{MAKE_NAME}}.relic.js +23 -0
- package/templates/make-starters/deckbuilder-2d/relic/manifest.json +9 -0
- package/templates/retro/platformer/README.md +10 -0
- package/templates/retro/platformer/assets/retro/assets.json +91 -0
- package/templates/retro/platformer/aura.config.json +7 -0
- package/templates/retro/platformer/package.json +5 -0
- package/templates/retro/platformer/src/main.js +40 -0
- package/templates/retro/puzzle-grid/README.md +10 -0
- package/templates/retro/puzzle-grid/assets/retro/assets.json +90 -0
- package/templates/retro/puzzle-grid/aura.config.json +7 -0
- package/templates/retro/puzzle-grid/package.json +5 -0
- package/templates/retro/puzzle-grid/src/main.js +29 -0
- package/templates/retro/tactics-grid/README.md +10 -0
- package/templates/retro/tactics-grid/assets/retro/assets.json +90 -0
- package/templates/retro/tactics-grid/aura.config.json +7 -0
- package/templates/retro/tactics-grid/package.json +5 -0
- package/templates/retro/tactics-grid/src/main.js +35 -0
- package/templates/retro/topdown-adventure/README.md +10 -0
- package/templates/retro/topdown-adventure/assets/retro/assets.json +95 -0
- package/templates/retro/topdown-adventure/aura.config.json +7 -0
- package/templates/retro/topdown-adventure/package.json +5 -0
- package/templates/retro/topdown-adventure/src/main.js +29 -0
- package/templates/skills/aurajs/SKILL.md +61 -5
package/README.md
CHANGED
|
@@ -13,22 +13,118 @@ cd my-game
|
|
|
13
13
|
npm run dev
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
+
One-off bootstrap without a global install:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx auramaxx
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Scaffolded projects also expose the shorter `aura` alias for in-project engine
|
|
23
|
+
commands.
|
|
24
|
+
|
|
25
|
+
## Local-First Dev Loop
|
|
26
|
+
|
|
27
|
+
AuraJS currently leads with the scaffolded native loop:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
cd my-game
|
|
31
|
+
npm run dev
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
When you want the live developer session surface in parallel with the native
|
|
35
|
+
window, stay in the same project wrapper:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm run state -- export --session <session-id> --compact
|
|
39
|
+
npm run inspect -- export --session <session-id> --compact
|
|
40
|
+
npm run action -- schema --session <session-id> --compact
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Generated projects wire those commands through `bin/play.js`. Raw `aura dev`
|
|
44
|
+
still exists as the engine command, but it is no longer the public first step
|
|
45
|
+
for a new local project.
|
|
46
|
+
|
|
47
|
+
The same native play lane also exposes `aura play` / `npm run play` for the
|
|
48
|
+
foreground live-session loop. Press `F1` in that runtime to open the dev-only
|
|
49
|
+
playtest HUD, jump between authored scenes, and use the compact record,
|
|
50
|
+
screenshot, restart, pause, and minimize controls.
|
|
51
|
+
|
|
52
|
+
This wrapper-driven native lane is the current product center for `aura dev`. Browser rebuilds exist, but
|
|
53
|
+
they are a secondary surface in this stage rather than the default authoring
|
|
54
|
+
loop.
|
|
55
|
+
|
|
56
|
+
## Room-Code Multiplayer
|
|
57
|
+
|
|
58
|
+
The public first stop is the single-project local-first starter:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
auramaxx create my-room-game --template multiplayer
|
|
62
|
+
cd my-room-game
|
|
63
|
+
npm run dev
|
|
64
|
+
|
|
65
|
+
# second terminal
|
|
66
|
+
npm run join -- AURA2P
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Fastest internet-backed upgrade for the same starter:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
AURA_MULTIPLAYER_RELAY_HOST=relay.aurajs.gg npm run dev
|
|
73
|
+
AURA_MULTIPLAYER_RELAY_HOST=relay.aurajs.gg npm run join -- AURA2P
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The lower-level proof path is still two native `aura dev --session`
|
|
77
|
+
processes on one machine using a room code. See:
|
|
78
|
+
|
|
79
|
+
- [`../../docs/local-multiplayer-dev-playbook.md`](../../docs/local-multiplayer-dev-playbook.md)
|
|
80
|
+
- [`../../examples/README.md`](../../examples/README.md)
|
|
81
|
+
|
|
16
82
|
## Publish And Play
|
|
17
83
|
|
|
18
84
|
In a scaffolded AuraJS game:
|
|
19
85
|
|
|
20
86
|
```bash
|
|
87
|
+
aura publish --dry-run
|
|
21
88
|
npm run publish
|
|
22
89
|
npm run play
|
|
90
|
+
npx <game> fork ./mygame-local
|
|
23
91
|
```
|
|
24
92
|
|
|
25
|
-
`
|
|
93
|
+
`aura publish` is the canonical npm-first publish command. In generated projects,
|
|
94
|
+
`npm run publish` delegates to the same engine-owned lane, which then dispatches
|
|
95
|
+
to `npm publish` with scoped packages defaulting to public access. The dry-run
|
|
96
|
+
lane validates the native build contract first and writes
|
|
97
|
+
`.aura/publish/publish-report.json` before dispatch. Change `package.json -> name`
|
|
98
|
+
first if you are publishing outside the `@aurajs` scope.
|
|
99
|
+
|
|
100
|
+
Raw `npm publish` remains available as an escape hatch, but it is not the
|
|
101
|
+
engine-owned product path for this stage and does not replace the publish
|
|
102
|
+
report/validation contract.
|
|
26
103
|
|
|
27
|
-
|
|
104
|
+
Published game wrappers also expose `fork`, which copies the installed package
|
|
105
|
+
surface into a new local directory for editing. After `npx <game> fork
|
|
106
|
+
./mygame-local`, run `npm install` inside the fork before starting `npm run
|
|
107
|
+
dev`.
|
|
28
108
|
|
|
109
|
+
## Secondary API Surfaces
|
|
110
|
+
|
|
111
|
+
- Cutscene/media helpers: `@auraindustry/aurajs/cutscene`
|
|
112
|
+
- JS-first retained 3D scene helpers: `@auraindustry/aurajs/scene-composition`
|
|
113
|
+
- Scene prefab and serialization helpers: `@auraindustry/aurajs/prefabs`
|
|
114
|
+
- Shader kits over custom materials: `@auraindustry/aurajs/shader-kits`
|
|
29
115
|
- React embedding: `@auraindustry/aurajs/react`
|
|
30
116
|
- Web runtime helpers: `@auraindustry/aurajs/web`
|
|
31
117
|
|
|
118
|
+
These package surfaces stay available, but native local development is the
|
|
119
|
+
priority path in the current stage and browser work remains secondary.
|
|
120
|
+
|
|
121
|
+
Current media truth:
|
|
122
|
+
|
|
123
|
+
- native desktop `.mp4` playback is supported through `aura.video` and the
|
|
124
|
+
cutscene helpers
|
|
125
|
+
- browser `.mp4` parity is not part of the current contract
|
|
126
|
+
- frame sequences or sprite sheets remain the portable fallback
|
|
127
|
+
|
|
32
128
|
## Docs
|
|
33
129
|
|
|
34
130
|
- Repo README: <https://github.com/Aura-Industry/auramaxx>
|
|
@@ -40,6 +40,24 @@
|
|
|
40
40
|
"maxP95FrameTimeMs": 36,
|
|
41
41
|
"maxP99FrameTimeMs": 48,
|
|
42
42
|
"maxStutterBurstCount": 12
|
|
43
|
+
},
|
|
44
|
+
"ui_composition_surface_stress": {
|
|
45
|
+
"maxAvgFrameTimeMs": 26,
|
|
46
|
+
"maxJitterMs": 10,
|
|
47
|
+
"minFps": 24,
|
|
48
|
+
"maxP50FrameTimeMs": 26,
|
|
49
|
+
"maxP95FrameTimeMs": 38,
|
|
50
|
+
"maxP99FrameTimeMs": 50,
|
|
51
|
+
"maxStutterBurstCount": 12
|
|
52
|
+
},
|
|
53
|
+
"ui_masking_compositor_fx_stress": {
|
|
54
|
+
"maxAvgFrameTimeMs": 28,
|
|
55
|
+
"maxJitterMs": 11,
|
|
56
|
+
"minFps": 22,
|
|
57
|
+
"maxP50FrameTimeMs": 28,
|
|
58
|
+
"maxP95FrameTimeMs": 42,
|
|
59
|
+
"maxP99FrameTimeMs": 54,
|
|
60
|
+
"maxStutterBurstCount": 14
|
|
43
61
|
}
|
|
44
62
|
},
|
|
45
63
|
"coldStart": {
|
|
@@ -79,6 +97,24 @@
|
|
|
79
97
|
"maxP95FrameTimeMs": 44,
|
|
80
98
|
"maxP99FrameTimeMs": 56,
|
|
81
99
|
"maxStutterBurstCount": 3
|
|
100
|
+
},
|
|
101
|
+
"ui_composition_surface_stress": {
|
|
102
|
+
"maxAvgFrameTimeMs": 34,
|
|
103
|
+
"maxJitterMs": 12,
|
|
104
|
+
"minFps": 20,
|
|
105
|
+
"maxP50FrameTimeMs": 34,
|
|
106
|
+
"maxP95FrameTimeMs": 46,
|
|
107
|
+
"maxP99FrameTimeMs": 58,
|
|
108
|
+
"maxStutterBurstCount": 3
|
|
109
|
+
},
|
|
110
|
+
"ui_masking_compositor_fx_stress": {
|
|
111
|
+
"maxAvgFrameTimeMs": 36,
|
|
112
|
+
"maxJitterMs": 13,
|
|
113
|
+
"minFps": 18,
|
|
114
|
+
"maxP50FrameTimeMs": 36,
|
|
115
|
+
"maxP95FrameTimeMs": 50,
|
|
116
|
+
"maxP99FrameTimeMs": 62,
|
|
117
|
+
"maxStutterBurstCount": 4
|
|
82
118
|
}
|
|
83
119
|
}
|
|
84
120
|
},
|
|
@@ -119,6 +155,24 @@
|
|
|
119
155
|
"maxP95FrameTimeMs": 32,
|
|
120
156
|
"maxP99FrameTimeMs": 40,
|
|
121
157
|
"maxStutterBurstCount": 10
|
|
158
|
+
},
|
|
159
|
+
"ui_composition_surface_stress": {
|
|
160
|
+
"maxAvgFrameTimeMs": 24,
|
|
161
|
+
"maxJitterMs": 8,
|
|
162
|
+
"minFps": 28,
|
|
163
|
+
"maxP50FrameTimeMs": 24,
|
|
164
|
+
"maxP95FrameTimeMs": 34,
|
|
165
|
+
"maxP99FrameTimeMs": 42,
|
|
166
|
+
"maxStutterBurstCount": 10
|
|
167
|
+
},
|
|
168
|
+
"ui_masking_compositor_fx_stress": {
|
|
169
|
+
"maxAvgFrameTimeMs": 26,
|
|
170
|
+
"maxJitterMs": 9,
|
|
171
|
+
"minFps": 26,
|
|
172
|
+
"maxP50FrameTimeMs": 26,
|
|
173
|
+
"maxP95FrameTimeMs": 38,
|
|
174
|
+
"maxP99FrameTimeMs": 46,
|
|
175
|
+
"maxStutterBurstCount": 12
|
|
122
176
|
}
|
|
123
177
|
}
|
|
124
178
|
},
|
package/package.json
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auraindustry/aurajs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Write games in JavaScript, build native binaries.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./cutscene": "./src/cutscene.mjs",
|
|
8
|
+
"./scene-composition": "./src/scene-composition/index.mjs",
|
|
9
|
+
"./prefabs": "./src/prefabs/index.mjs",
|
|
10
|
+
"./shader-kits": "./src/shader-kits/index.mjs",
|
|
8
11
|
"./react": "./src/react/index.mjs",
|
|
9
12
|
"./web": "./src/web-api.mjs",
|
|
10
13
|
"./package.json": "./package.json"
|
|
@@ -37,12 +40,6 @@
|
|
|
37
40
|
"react": "^18.3.1",
|
|
38
41
|
"react-test-renderer": "^18.3.1"
|
|
39
42
|
},
|
|
40
|
-
"optionalDependencies": {
|
|
41
|
-
"@aurajs/darwin-arm64": "github:Aura-Industry/aurajs-darwin-arm64",
|
|
42
|
-
"@aurajs/darwin-x64": "github:Aura-Industry/aurajs-darwin-x64",
|
|
43
|
-
"@aurajs/linux-x64": "github:Aura-Industry/aurajs-linux-x64",
|
|
44
|
-
"@aurajs/win32-x64": "github:Aura-Industry/aurajs-win32-x64"
|
|
45
|
-
},
|
|
46
43
|
"keywords": [
|
|
47
44
|
"game",
|
|
48
45
|
"gamedev",
|
package/src/asset-pack.mjs
CHANGED
|
@@ -18,6 +18,9 @@ const SUPPORTED = {
|
|
|
18
18
|
wav: 'audio',
|
|
19
19
|
ogg: 'audio',
|
|
20
20
|
mp3: 'audio',
|
|
21
|
+
mp4: 'video',
|
|
22
|
+
gltf: 'model',
|
|
23
|
+
glb: 'model',
|
|
21
24
|
ttf: 'font',
|
|
22
25
|
otf: 'font',
|
|
23
26
|
json: 'json',
|
|
@@ -38,7 +41,8 @@ const SUPPORTED = {
|
|
|
38
41
|
|
|
39
42
|
const APPROVED_FORMATS = [
|
|
40
43
|
'.png', '.jpg', '.jpeg',
|
|
41
|
-
'.wav', '.ogg', '.mp3',
|
|
44
|
+
'.wav', '.ogg', '.mp3', '.mp4',
|
|
45
|
+
'.gltf', '.glb',
|
|
42
46
|
'.ttf', '.otf',
|
|
43
47
|
'.json',
|
|
44
48
|
'.txt', '.csv', '.xml', '.toml', '.yaml', '.yml', '.ini', '.cfg', '.log', '.md',
|
|
@@ -272,6 +276,9 @@ function collectAssets(assetsRoot) {
|
|
|
272
276
|
function walkDir(dir, out) {
|
|
273
277
|
const items = readdirSync(dir).sort((a, b) => a.localeCompare(b));
|
|
274
278
|
for (const item of items) {
|
|
279
|
+
if (item === '.gitkeep' || item === '.DS_Store') {
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
275
282
|
const full = join(dir, item);
|
|
276
283
|
const stat = statSync(full);
|
|
277
284
|
if (stat.isDirectory()) {
|