incanto 0.73.0 → 0.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/2d.js +3 -3
  2. package/dist/3d.js +4 -4
  3. package/dist/{create-game-CAu-ucHg.js → create-game-BAiA-FjP.js} +4 -4
  4. package/dist/{create-game-CbTLFjis.js → create-game-ssvGvP7W.js} +4 -4
  5. package/dist/{environment-presets-BsFJM3v0.js → environment-presets-BkqlWewf.js} +1 -1
  6. package/dist/{gameplay-CRte0OVf.js → gameplay-Bxe1sMVT.js} +35 -17
  7. package/dist/gameplay.d.ts +5 -3
  8. package/dist/gameplay.js +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/{physics-2d-CovokK7s.js → physics-2d-C-SfvjzH.js} +1 -1
  11. package/dist/{physics-3d-BiK6Emwn.js → physics-3d-rOzeg890.js} +2 -2
  12. package/dist/{picking-Dtd8JInh.js → picking-BMV34Pjl.js} +1 -1
  13. package/dist/react.js +1 -1
  14. package/dist/{register-CY9QCCZs.js → register-DRQyZKGU.js} +1 -1
  15. package/dist/{src-D-dnVrFY.js → src-CqtvYtSN.js} +1 -1
  16. package/dist/{test-DZmCFz0Q.js → test-CEl0y2Sw.js} +7 -7
  17. package/dist/test.js +1 -1
  18. package/dist/vite.js +2 -2
  19. package/editor/assets/{agent8-GuZ5u5bi.js → agent8-BlzturGi.js} +1 -1
  20. package/editor/assets/{debug-BbxionO2.js → debug-BMUi8usj.js} +1 -1
  21. package/editor/assets/{index-CNlTzQbm.js → index-CrUCQoaB.js} +2 -2
  22. package/editor/index.html +1 -1
  23. package/package.json +1 -1
  24. package/skills/incanto-gameplay-behaviors.md +7 -3
  25. package/skills/incanto-node-reference.md +2 -0
  26. package/templates-app/beacon-isle-3d/package.json +1 -1
  27. package/templates-app/molehill-2d/package.json +1 -1
  28. package/templates-app/platformer-2d/package.json +1 -1
  29. package/templates-app/star-survivor/package.json +1 -1
  30. package/templates-app/tps-3d/package.json +1 -1
  31. package/templates-app/village-quest-3d/package.json +1 -1
package/editor/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Incanto Scene Editor</title>
7
7
  <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect width='16' height='16' rx='3' fill='%236ee7dc'/><text x='8' y='12' text-anchor='middle' font-size='11' font-family='monospace' fill='%230e1018'>i</text></svg>" />
8
- <script type="module" crossorigin src="./assets/index-CNlTzQbm.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-CrUCQoaB.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="./assets/GameServer-C56iOUgF.js">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incanto",
3
- "version": "0.73.0",
3
+ "version": "0.74.0",
4
4
  "description": "Vibe-coding-first web game engine SDK — JSON-driven scenes on three.js",
5
5
  "keywords": [
6
6
  "game-engine",
@@ -394,7 +394,7 @@ in-range actor). Declare the input action in the scene `input{}`.
394
394
  | `range` | `2` | max distance an actor may be |
395
395
  | `actorGroup` | `"player"` | only nodes in this group can interact |
396
396
  | `prompt` | `""` | what the actor sees on it — `Open drawer`; read by whoever draws the "[E] …" line |
397
- | `focus` | `"any"` | which one answers when SEVERAL are in range: `any` (all of them) · `nearest` (the closest) · `facing` (the closest inside `coneDeg` of the current camera's forward, pitch included — the one the player is LOOKING at, so the note on the desk and the drawer under it are two looks; with no `Camera3D`, same as `nearest`) |
397
+ | `focus` | `"any"` | which one answers when SEVERAL are in range: `any` (all of them) · `nearest` (the closest) · `facing` (of those inside `coneDeg` of the current camera's forward, the one nearest the CENTRE of the view — a crosshair, pitch included — so the note on the desk and the drawer under it are two looks, and in third person the plot the farmer looks at beats the plot under the farmer's feet; with no `Camera3D`, same as `nearest`) |
398
398
  | `coneDeg` | `40` | full width of the `facing` cone — a generous crosshair |
399
399
 
400
400
  Signals: `interacted(actor)` · `focused(actor)` · `unfocused(actor)`. Getter:
@@ -1533,7 +1533,9 @@ runtime, which it keeps looking for.
1533
1533
  Signals: `dayPhaseChanged('dawn'|'day'|'dusk'|'night')` on transitions — hook
1534
1534
  spawners, music, or monster aggression to it. The `hour` field (0-24) is
1535
1535
  writable: jump to a time of day in one assignment. For one-off look changes
1536
- use `setEnvironment3D(engine, patch)` from `incanto/3d` directly.
1536
+ use `setEnvironment3D(engine, patch)` from `incanto/3d` directly. A written `hour`
1537
+ announces its new phase on the NEXT update (a bed that jumps to dawn fires
1538
+ `dayPhaseChanged('dawn')` one frame later); only the sky patch is throttled.
1537
1539
 
1538
1540
  ## Boot loading overlay
1539
1541
 
@@ -1608,5 +1610,7 @@ default, corner-cutting forbidden; `{ diagonal: false }` for 4-way).
1608
1610
  the AI-on-a-child pattern `Chase`/`Patrol`/`Wander` share, so a unit keeps
1609
1611
  its `Health` on the body and its path on a child — and the move lands through
1610
1612
  `moveBody`, so a kinematic unit walks its path with its collisions rather than
1611
- through the crate in the way. Corners never eat frame budget — the
1613
+ through the crate in the way. `facePath`/`turnSpeed` turn a node (a skin, a
1614
+ hull) toward the direction of travel, the way every other mover does — a ship
1615
+ on a rail flew every bend sideways without it. Corners never eat frame budget — the
1612
1616
  speed is exact across bends.
@@ -1739,6 +1739,8 @@ Methods: `start()`
1739
1739
  | `speed` | `120` | number |
1740
1740
  | `loop` | `false` | boolean |
1741
1741
  | `moveParent` | `false` | boolean |
1742
+ | `facePath` | `""` | node path |
1743
+ | `turnSpeed` | `100` | number |
1742
1744
 
1743
1745
  Signals: `waypointReached` · `arrived`
1744
1746
 
@@ -14,7 +14,7 @@
14
14
  "@dimforge/rapier2d-compat": "0.19.3",
15
15
  "@dimforge/rapier3d-compat": "0.19.3",
16
16
  "@pixiv/three-vrm": "^3.5.3",
17
- "incanto": "^0.73.0",
17
+ "incanto": "^0.74.0",
18
18
  "three": "^0.184.0"
19
19
  },
20
20
  "devDependencies": {
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.73.0",
14
+ "incanto": "^0.74.0",
15
15
  "three": "^0.184.0"
16
16
  },
17
17
  "devDependencies": {
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.73.0",
14
+ "incanto": "^0.74.0",
15
15
  "three": "^0.184.0"
16
16
  },
17
17
  "devDependencies": {
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.73.0",
14
+ "incanto": "^0.74.0",
15
15
  "three": "^0.184.0"
16
16
  },
17
17
  "devDependencies": {
@@ -13,7 +13,7 @@
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
14
  "@dimforge/rapier3d-compat": "0.19.3",
15
15
  "@pixiv/three-vrm": "^3.5.3",
16
- "incanto": "^0.73.0",
16
+ "incanto": "^0.74.0",
17
17
  "three": "^0.184.0"
18
18
  },
19
19
  "devDependencies": {
@@ -13,7 +13,7 @@
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
14
  "@dimforge/rapier3d-compat": "0.19.3",
15
15
  "@pixiv/three-vrm": "^3.5.3",
16
- "incanto": "^0.73.0",
16
+ "incanto": "^0.74.0",
17
17
  "three": "^0.184.0"
18
18
  },
19
19
  "devDependencies": {