incanto 0.78.0 → 0.78.2

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 CHANGED
@@ -21,9 +21,14 @@ rest declared in JSON. `bun run verify` plays the entire quest **headlessly**
21
21
  and replays recorded input bit-identically: the agent loop is author → verify →
22
22
  fix, no browser needed.
23
23
 
24
- `bunx incanto new --list` shows all five starters, grouped by dimension: three
25
- 3D (island adventure, third-person shooter, quest vignette) and two 2D
26
- (platformer, survivors-like).
24
+ `bunx incanto new --list` shows all six starters, grouped by dimension: three
25
+ 3D (island adventure, third-person shooter, quest vignette) and three 2D
26
+ (platformer, survivors-like, and a whack-a-mole played with the mouse alone).
27
+
28
+ Every starter is **TypeScript + Vite + React**: `src/main.tsx` mounts `<App />`
29
+ and `src/App.tsx` owns the canvas the engine draws into. React is the shell, not
30
+ the game — `incanto/react`'s `<IncantoCanvas>` is the other shape, for putting a
31
+ game inside an app you already have.
27
32
 
28
33
  ## Or wire the engine yourself
29
34
 
@@ -53,7 +58,7 @@ engine.start();
53
58
  | `incanto/net` | multiplayer over a pluggable `NetworkTransport` — built-in offline Loopback + [@agent8/gameserver](https://www.npmjs.com/package/@agent8/gameserver) adapter (optional peer); custom backends implement one interface |
54
59
 
55
60
  - `schemas/scene.schema.json` — generated JSON Schema for scene files (the agent contract)
56
- - `templates/agent8-server.js` — the multiplayer server kernel for the agent8 platform
61
+ - `templates/agent8-server.ts` — the multiplayer server kernel for the agent8 platform (`.js` beside it for the legacy single-file server)
57
62
 
58
63
  ## Debug mode
59
64
 
@@ -99,6 +104,6 @@ It follows `debug`, so an overlay build already has it. `editor: false` opts out
99
104
  the same switch as a function. The editor loads lazily (`incanto/editor`) the first time it is
100
105
  asked for — a game that never opens it never downloads it.
101
106
 
102
- Docs, agent skills, examples, and architecture: **https://github.com/rareboe/Incanto**
107
+ Docs, agent skills, examples, and architecture: **https://github.com/planetarium/Incanto**
103
108
 
104
109
  © 2026 Verse8. All rights reserved. Proprietary — see [LICENSE](./LICENSE). Bundled third-party OSS notices: [THIRD-PARTY-NOTICES.md](./THIRD-PARTY-NOTICES.md).
package/dist/index.js CHANGED
@@ -9,5 +9,5 @@ import { t as showBootFailure } from "./boot-failure-CKYrEcGF.js";
9
9
  import { a as logText, i as logReport, o as parseDrive, r as resolveRendering, t as isWebGLAvailable } from "./webgl-unavailable-C8aDbGmR.js";
10
10
  import { t as createNoise2D } from "./noise-D3nPpmFg.js";
11
11
  import { a as PARTICLE_PRESETS, i as ParticleSim, n as resolveFrames, o as PARTICLE_PRESET_NAMES, s as applyParticlePreset, t as resolveAnimation } from "./sprite-animation-SQa5gIu2.js";
12
- import { a as findPath, i as preloadUrls, n as assetUrls, o as gridFromRows, r as preloadSceneAssets, t as VERSION } from "./src-DzPtpk1t.js";
12
+ import { a as findPath, i as preloadUrls, n as assetUrls, o as gridFromRows, r as preloadSceneAssets, t as VERSION } from "./src-rS7AyeKD.js";
13
13
  export { AudioBuses, AudioPlayer, BASE_LOCALE, Behavior, CONST_REF_KEY, EffectLog, Engine, HudLayer, IncantoError, InputMap, Localization, LogManager, MusicManager, Node, ORDER_GROUP_BASE, PARTICLE_PRESETS, PARTICLE_PRESET_NAMES, ParticleSim, ROLLOFF_MODELS, Respawn, Rng, SCENE_FORMAT, SFX_PRESETS, SFX_PRESET_NAMES, SaveSlots, Scene, SceneTree, Settings, SfxEngine, Signal, T_PREFIX, Timer, TouchControls, UiBanner, UiBar, UiButton, UiDialogue, UiFrameCapSelect, UiImage, UiLanguageSelect, UiMinimap, UiMuteToggle, UiPanel, UiQualitySelect, UiRenderScaleSelect, UiSelect, UiSlider, UiText, UiToggle, UiVolumeSlider, UiWaypoint, VERSION, WebAudioMusicBackend, applyParticlePreset, assetUrls, attachTouchControls, auditScene, behaviorSchema, behaviorSignals, behaviorsWithoutSave, captureBehaviors, clearBehaviors, clearRegistry, computeViewport, createNode, createNoise2D, createSaveStore, crossfadeGains, describeRefProblem, duplicateNode, effectiveOrder, fadeGain, findPath, getBehavior, getNodeSchema, getNodeSignals, getNodeType, gridFromRows, isAudioContextAvailable, isConstRef, isWebGLAvailable, joystickVector, jsonClone, jsonEquals, jsonKind, loadScene, logReport, logText, mergeStaticSignals, newUid, nodeRefWarnings, parseDrive, parseNodePath, preloadSceneAssets, preloadUrls, qualityEnvironment, readDeviceHints, registerBehavior, registerCoreNodes, registerNode, registeredBehaviors, registeredTypes, replay, resolveAnimation, resolveConstants, resolveFrames, resolveOrderGroups, resolveRefInJson, resolveRendering, resolveViewport, restoreBehaviors, savesWithoutUid, serializeNode, sfxDuration, showBootFailure, spatialGain, spatialPan, startRecording, suggestLocale, suggestQuality, synthSfx, translationKey };
@@ -199,6 +199,6 @@ async function preloadSceneAssets(assets, title) {
199
199
  //#endregion
200
200
  //#region src/index.ts
201
201
  /** Engine version. Kept in sync with package.json by the release pipeline. */
202
- const VERSION = "0.78.0";
202
+ const VERSION = "0.78.2";
203
203
  //#endregion
204
204
  export { findPath as a, preloadUrls as i, assetUrls as n, gridFromRows as o, preloadSceneAssets as r, VERSION as t };
package/dist/vite.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as parseJsonText } from "./json-CfTjpvW8.js";
2
2
  import { P as newUid } from "./pose-ByFB_J3O.js";
3
3
  import { t as IncantoError } from "./errors-BpWbnbb_.js";
4
- import { t as VERSION } from "./src-DzPtpk1t.js";
4
+ import { t as VERSION } from "./src-rS7AyeKD.js";
5
5
  import { n as diffSignatures } from "./frame-report-D-_7YF2G.js";
6
6
  import { s as validateScene } from "./test-CVbxnXlv.js";
7
7
  import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incanto",
3
- "version": "0.78.0",
3
+ "version": "0.78.2",
4
4
  "description": "Vibe-coding-first web game engine SDK — JSON-driven scenes on three.js",
5
5
  "keywords": [
6
6
  "game-engine",
@@ -15,7 +15,7 @@
15
15
  "license": "UNLICENSED",
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "git+https://github.com/rareboe/Incanto.git",
18
+ "url": "git+https://github.com/planetarium/Incanto.git",
19
19
  "directory": "packages/engine"
20
20
  },
21
21
  "type": "module",
@@ -91,8 +91,8 @@
91
91
  "incanto-feel": "bin/incanto-feel.mjs",
92
92
  "incanto-new": "bin/incanto-new.mjs",
93
93
  "incanto-frame": "bin/incanto-frame.mjs",
94
- "incanto-verify": "./bin/incanto-verify.mjs",
95
- "incanto-logs": "./bin/incanto-logs.mjs",
96
- "incanto-serve": "./bin/incanto-serve.mjs"
94
+ "incanto-verify": "bin/incanto-verify.mjs",
95
+ "incanto-logs": "bin/incanto-logs.mjs",
96
+ "incanto-serve": "bin/incanto-serve.mjs"
97
97
  }
98
98
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/rareboe/Incanto/schemas/scene.schema.json",
3
+ "$id": "https://github.com/planetarium/Incanto/schemas/scene.schema.json",
4
4
  "title": "Incanto scene (format 1)",
5
5
  "type": "object",
6
6
  "properties": {
@@ -352,7 +352,7 @@ Child of a `CharacterBody2D` (hard error otherwise):
352
352
  now, not a silent wrong call; `incanto check` warns on the same pair from the
353
353
  file alone. Prefix handlers with `on`.
354
354
 
355
- Reference: [examples/2d-phaser-sprite-character-gravity](https://github.com/rareboe/Incanto/tree/main/examples/2d-phaser-sprite-character-gravity) — engine nodes + one small PlayerControl behavior
355
+ Reference: [examples/2d-phaser-sprite-character-gravity](https://github.com/planetarium/Incanto/tree/main/examples/2d-phaser-sprite-character-gravity) — engine nodes + one small PlayerControl behavior
356
356
  (`CoinCounter`, `Pickup`) wired entirely through JSON connections. Verified in Chromium.
357
357
 
358
358
  ## Spawning nodes at runtime
@@ -312,7 +312,7 @@ between a readable and an unusable phone build.
312
312
  (master/sfx/music + mute). Browsers gate audio behind a gesture; `createGame2D`
313
313
  retries blocked plays on the first pointerdown. Headless-safe no-op. Full guide:
314
314
  **incanto-audio.md**.
315
- - Reference example: [examples/2d-phaser-sprite-character-gravity](https://github.com/rareboe/Incanto/tree/main/examples/2d-phaser-sprite-character-gravity) —
315
+ - Reference example: [examples/2d-phaser-sprite-character-gravity](https://github.com/planetarium/Incanto/tree/main/examples/2d-phaser-sprite-character-gravity) —
316
316
  spritesheet character with a walk/jump/attack behavior state machine.
317
317
  - **Tap / drag / click**: `createGame2D({ pointer: true })` attaches pointer
318
318
  input — MOUSE, FINGER and pen alike — and then
@@ -360,7 +360,7 @@ Injected state combines with key state (vectors clamped to unit length).
360
360
  angle was applied once at creation, the mesh turned and the collider stayed put.)
361
361
  A free dynamic body's rotation belongs to the solver and is left alone.
362
362
  Launch: write `linearVelocity`.
363
- - Reference: [examples/2d-phaser-sprite-character-gravity](https://github.com/rareboe/Incanto/tree/main/examples/2d-phaser-sprite-character-gravity) — gravity, jump, attack lockout, custom
363
+ - Reference: [examples/2d-phaser-sprite-character-gravity](https://github.com/planetarium/Incanto/tree/main/examples/2d-phaser-sprite-character-gravity) — gravity, jump, attack lockout, custom
364
364
  `Player` node type. Verified in Chromium end-to-end.
365
365
 
366
366
  ## Platformer staples (2D)
@@ -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.78.0",
17
+ "incanto": "^0.78.2",
18
18
  "react": "^18.3.1",
19
19
  "react-dom": "^18.3.1",
20
20
  "three": "^0.184.0"
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.78.0",
14
+ "incanto": "^0.78.2",
15
15
  "react": "^18.3.1",
16
16
  "react-dom": "^18.3.1",
17
17
  "three": "^0.184.0"
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.78.0",
14
+ "incanto": "^0.78.2",
15
15
  "react": "^18.3.1",
16
16
  "react-dom": "^18.3.1",
17
17
  "three": "^0.184.0"
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@dimforge/rapier2d-compat": "0.19.3",
14
- "incanto": "^0.78.0",
14
+ "incanto": "^0.78.2",
15
15
  "react": "^18.3.1",
16
16
  "react-dom": "^18.3.1",
17
17
  "three": "^0.184.0"
@@ -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.78.0",
16
+ "incanto": "^0.78.2",
17
17
  "react": "^18.3.1",
18
18
  "react-dom": "^18.3.1",
19
19
  "three": "^0.184.0"
@@ -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.78.0",
16
+ "incanto": "^0.78.2",
17
17
  "react": "^18.3.1",
18
18
  "react-dom": "^18.3.1",
19
19
  "three": "^0.184.0"