incanto 0.35.1 → 0.36.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.
Files changed (51) hide show
  1. package/dist/2d.d.ts +5 -5
  2. package/dist/2d.js +3 -3
  3. package/dist/3d.d.ts +6 -6
  4. package/dist/3d.js +4 -4
  5. package/dist/{audit-C5oZGAru.js → audit-D7F3n3Nt.js} +1 -1
  6. package/dist/{behavior-CGSCWOHB.d.ts → behavior-DibCwrW7.d.ts} +52 -3
  7. package/dist/{create-game-B0Wfhi2-.js → create-game-D-StzrTj.js} +6 -6
  8. package/dist/{create-game-BUD89Kqh.js → create-game-DnOu2aAa.js} +6 -6
  9. package/dist/debug.d.ts +1 -1
  10. package/dist/debug.js +1 -1
  11. package/dist/{duplicate-C716f-97.js → duplicate-Cvb1BSca.js} +2 -16
  12. package/dist/{editor-switch-DyXEtH36.d.ts → editor-switch-DVwIGZdK.d.ts} +1 -1
  13. package/dist/editor.js +929 -867
  14. package/dist/env.d.ts +1 -1
  15. package/dist/{environment-presets-TAGvmM3z.js → environment-presets-fK9oyrrR.js} +3 -3
  16. package/dist/{errors-BY2kL0hv.d.ts → errors-DGRtWlSx.d.ts} +1 -1
  17. package/dist/{gameplay-BvhcQbfJ.js → gameplay-C0MUMSak.js} +3 -3
  18. package/dist/gameplay.d.ts +2 -2
  19. package/dist/gameplay.js +1 -1
  20. package/dist/index.d.ts +7 -24
  21. package/dist/index.js +7 -7
  22. package/dist/{loader-CUcj00M8.d.ts → loader-BqigZsfF.d.ts} +2 -2
  23. package/dist/{loader-Mig5fY4n.js → loader-DAZlgqeC.js} +47 -10
  24. package/dist/net.d.ts +2 -2
  25. package/dist/net.js +3 -3
  26. package/dist/{particle-sim-B-vZBF5R.d.ts → particle-sim-BzJ1yxoE.d.ts} +1 -1
  27. package/dist/{pathfinding-DgOo2KNF.d.ts → pathfinding-B3QtdhvZ.d.ts} +1 -1
  28. package/dist/{physics-2d-DqAclql-.js → physics-2d-B4v39hca.js} +2 -2
  29. package/dist/{physics-3d-DxBH4sIF.js → physics-3d-DFJVMYET.js} +3 -3
  30. package/dist/react.d.ts +2 -2
  31. package/dist/react.js +1 -1
  32. package/dist/{register-BFLg0-_i.js → register-BHAwM4bK.js} +8 -2
  33. package/dist/{register-DSmIRAf7.js → register-COGCNitr.js} +4 -5
  34. package/dist/{register-BjbPMA5B.js → register-DXwtIVqP.js} +3 -3
  35. package/dist/{registry-CJdGpT2V.js → registry-IyWCGe4q.js} +6 -4
  36. package/dist/{schema-3ywbdlrv.d.ts → schema-CFeioQRE.d.ts} +10 -0
  37. package/dist/{teardown-ByzfDPyu.js → teardown-CCtAMDLB.js} +26 -1
  38. package/dist/{test-9EokzbRd.js → test-X_xE6Yay.js} +11 -11
  39. package/dist/test.d.ts +4 -4
  40. package/dist/test.js +2 -2
  41. package/dist/vite.js +1 -1
  42. package/editor/assets/{agent8-DJlovKKL.js → agent8-tvTJH3IX.js} +1 -1
  43. package/editor/assets/{debug-OR_wzFkM.js → debug-CPbraUYm.js} +1 -1
  44. package/editor/assets/{index-DIhjbZt8.js → index-DPJkbebq.js} +176 -96
  45. package/editor/index.html +1 -1
  46. package/package.json +1 -1
  47. package/schemas/scene.schema.json +21 -0
  48. package/skills/incanto-scene-json-authoring.md +30 -0
  49. package/templates-app/beacon-isle-3d/package.json +1 -1
  50. package/templates-app/tps-3d/package.json +1 -1
  51. package/templates-app/village-quest-3d/package.json +1 -1
package/dist/2d.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { N as Scene$1, S as Scheduler, T as RendererStats, b as Engine, bt as Node, d as PropSchema, n as BehaviorCtor, w as GameStats } from "./behavior-CGSCWOHB.js";
2
- import { n as DiagnosticSink, t as EditorSwitchOptions } from "./editor-switch-DyXEtH36.js";
3
- import { i as SceneJson, s as JsonObject } from "./schema-3ywbdlrv.js";
4
- import { t as LoadSceneOptions } from "./loader-CUcj00M8.js";
5
- import { t as ParticleSim } from "./particle-sim-B-vZBF5R.js";
1
+ import { N as Scene$1, S as Scheduler, T as RendererStats, Tt as Node, b as Engine, d as PropSchema, n as BehaviorCtor, w as GameStats } from "./behavior-DibCwrW7.js";
2
+ import { n as DiagnosticSink, t as EditorSwitchOptions } from "./editor-switch-DVwIGZdK.js";
3
+ import { i as SceneJson, s as JsonObject } from "./schema-CFeioQRE.js";
4
+ import { t as LoadSceneOptions } from "./loader-BqigZsfF.js";
5
+ import { t as ParticleSim } from "./particle-sim-BzJ1yxoE.js";
6
6
  import { Group, Mesh, Object3D, Scene, Texture } from "three";
7
7
  import * as RapierNs from "@dimforge/rapier2d-compat";
8
8
 
package/dist/2d.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as IncantoError } from "./errors-BpWbnbb_.js";
2
- import { a as AssetStore2D, i as syncTree2D, r as Renderer2D, t as createGame2D } from "./create-game-B0Wfhi2-.js";
3
- import { _ as RigidBody2D, a as parseCells, c as ColorRect2D, d as AnimatedSprite2D, f as Sprite2D, g as PhysicsBody2D, h as CharacterBody2D, i as mergeSolidRects, l as CharacterController2D, m as Area2D, n as UILayer, o as Particles2D, p as Joint2D, r as TileMap2D, s as Label, t as registerNodes2D, u as Camera2D, v as StaticBody2D, y as Node2D } from "./register-DSmIRAf7.js";
4
- import { n as enablePhysics2D, t as Physics2D } from "./physics-2d-DqAclql-.js";
2
+ import { a as AssetStore2D, i as syncTree2D, r as Renderer2D, t as createGame2D } from "./create-game-D-StzrTj.js";
3
+ import { _ as RigidBody2D, a as parseCells, c as ColorRect2D, d as AnimatedSprite2D, f as Sprite2D, g as PhysicsBody2D, h as CharacterBody2D, i as mergeSolidRects, l as CharacterController2D, m as Area2D, n as UILayer, o as Particles2D, p as Joint2D, r as TileMap2D, s as Label, t as registerNodes2D, u as Camera2D, v as StaticBody2D, y as Node2D } from "./register-COGCNitr.js";
4
+ import { n as enablePhysics2D, t as Physics2D } from "./physics-2d-B4v39hca.js";
5
5
  //#region src/2d/library-sprite.ts
6
6
  /**
7
7
  * Turn a library sprite-animation JSON into a scene-ready spritesheet asset
package/dist/3d.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { N as Scene$1, S as Scheduler, T as RendererStats, b as Engine, bt as Node, d as PropSchema, n as BehaviorCtor, w as GameStats } from "./behavior-CGSCWOHB.js";
2
- import { n as DiagnosticSink, t as EditorSwitchOptions } from "./editor-switch-DyXEtH36.js";
3
- import { i as SceneJson, s as JsonObject } from "./schema-3ywbdlrv.js";
4
- import { t as LoadSceneOptions } from "./loader-CUcj00M8.js";
5
- import { t as ParticleSim } from "./particle-sim-B-vZBF5R.js";
6
- import { n as PathGrid, s as SpatialPose } from "./pathfinding-DgOo2KNF.js";
1
+ import { N as Scene$1, S as Scheduler, T as RendererStats, Tt as Node, b as Engine, d as PropSchema, n as BehaviorCtor, w as GameStats } from "./behavior-DibCwrW7.js";
2
+ import { n as DiagnosticSink, t as EditorSwitchOptions } from "./editor-switch-DVwIGZdK.js";
3
+ import { i as SceneJson, s as JsonObject } from "./schema-CFeioQRE.js";
4
+ import { t as LoadSceneOptions } from "./loader-BqigZsfF.js";
5
+ import { t as ParticleSim } from "./particle-sim-BzJ1yxoE.js";
6
+ import { n as PathGrid, s as SpatialPose } from "./pathfinding-B3QtdhvZ.js";
7
7
  import { AnimationClip, AnimationMixer, BufferGeometry, Color, DirectionalLight, Group, InstancedMesh, Mesh, MeshPhysicalMaterial, Object3D, PerspectiveCamera, Scene, ShaderMaterial, Texture, Vector3, WebGLRenderer } from "three";
8
8
  import { VRM } from "@pixiv/three-vrm";
9
9
  import { Sky } from "three/examples/jsm/objects/Sky.js";
package/dist/3d.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { t as IncantoError } from "./errors-BpWbnbb_.js";
2
- import { A as Water3D, F as PhysicsBody3D, I as RigidBody3D, L as StaticBody3D, M as WaterCutout3D, N as Area3D, P as CharacterBody3D, R as Node3D, V as WATER_MAX_RIPPLES, j as WATER_CUTOUT_MAX } from "./gameplay-BvhcQbfJ.js";
3
- import { A as Terrain3D, B as keyboardIntensity, C as resolveFlowerDensity, D as BoneLookAt3D, E as Camera3D, F as InstancedMesh3D, G as acquireTexture, H as rigPose, I as MeshInstance3D, M as TERRAIN_THEMES, N as terrainThemeLayers, O as BoneAttachment3D, P as Joint3D, R as QUARTER_PITCH, S as Flowers3D, T as CharacterController3D, U as TextureCache3D, V as movementState, W as acquireOwnTexture, _ as LoftMesh3D, a as Tree3D, b as Foliage3D, c as buildRiverRings, d as riverCarveChannels, f as riverStepFor, g as ModelInstance3D, h as Particles3D, i as VoxelGrid3D, j as DEFAULT_TERRAIN_TEXTURE_BASE, k as Billboard3D, l as findRiverCoverageGaps, m as traceDownhillPath, n as registerNodes3D, o as Trail3D, p as smoothCourse, r as VOXEL_PALETTE, s as River3D, u as projectToRiver, v as DirectionalLight3D, w as FLOWER_VARIETIES, x as DENSITY_PRESETS, y as OmniLight3D, z as cameraRelative } from "./environment-presets-TAGvmM3z.js";
4
- import { a as Environment3D, c as sunDirectionFromElevationAzimuth, i as syncTree, l as sunDirectionFromSky, o as horizonColorFromSky, r as Renderer3D, s as parseEnvironment3D, t as createGame3D, u as AssetStore3D } from "./create-game-BUD89Kqh.js";
2
+ import { A as Water3D, F as PhysicsBody3D, I as RigidBody3D, L as StaticBody3D, M as WaterCutout3D, N as Area3D, P as CharacterBody3D, R as Node3D, V as WATER_MAX_RIPPLES, j as WATER_CUTOUT_MAX } from "./gameplay-C0MUMSak.js";
3
+ import { A as Terrain3D, B as keyboardIntensity, C as resolveFlowerDensity, D as BoneLookAt3D, E as Camera3D, F as InstancedMesh3D, G as acquireTexture, H as rigPose, I as MeshInstance3D, M as TERRAIN_THEMES, N as terrainThemeLayers, O as BoneAttachment3D, P as Joint3D, R as QUARTER_PITCH, S as Flowers3D, T as CharacterController3D, U as TextureCache3D, V as movementState, W as acquireOwnTexture, _ as LoftMesh3D, a as Tree3D, b as Foliage3D, c as buildRiverRings, d as riverCarveChannels, f as riverStepFor, g as ModelInstance3D, h as Particles3D, i as VoxelGrid3D, j as DEFAULT_TERRAIN_TEXTURE_BASE, k as Billboard3D, l as findRiverCoverageGaps, m as traceDownhillPath, n as registerNodes3D, o as Trail3D, p as smoothCourse, r as VOXEL_PALETTE, s as River3D, u as projectToRiver, v as DirectionalLight3D, w as FLOWER_VARIETIES, x as DENSITY_PRESETS, y as OmniLight3D, z as cameraRelative } from "./environment-presets-fK9oyrrR.js";
4
+ import { a as Environment3D, c as sunDirectionFromElevationAzimuth, i as syncTree, l as sunDirectionFromSky, o as horizonColorFromSky, r as Renderer3D, s as parseEnvironment3D, t as createGame3D, u as AssetStore3D } from "./create-game-DnOu2aAa.js";
5
5
  import { n as splatWeights, t as buildHeightmap } from "./heightmap-CRK0M4jT.js";
6
- import { n as enablePhysics3D, t as Physics3D } from "./physics-3d-DxBH4sIF.js";
6
+ import { n as enablePhysics3D, t as Physics3D } from "./physics-3d-DFJVMYET.js";
7
7
  //#region src/3d/environment-runtime.ts
8
8
  /**
9
9
  * Live environment editing — the renderer re-applies `scene.environment`
@@ -1,4 +1,4 @@
1
- import { A as translationKey } from "./register-BFLg0-_i.js";
1
+ import { A as translationKey } from "./register-BHAwM4bK.js";
2
2
  //#region src/core/audit.ts
3
3
  const ANIMATED_TYPES = new Set([
4
4
  "Particles2D",
@@ -1,4 +1,4 @@
1
- import { a as Rng, c as JsonValue, i as SceneJson, s as JsonObject } from "./schema-3ywbdlrv.js";
1
+ import { a as Rng, c as JsonValue, i as SceneJson, s as JsonObject } from "./schema-CFeioQRE.js";
2
2
 
3
3
  //#region src/core/signal.d.ts
4
4
  /**
@@ -869,6 +869,48 @@ declare class Localization {
869
869
  */
870
870
  declare function suggestLocale(available: readonly string[], languages?: readonly string[]): string;
871
871
  //#endregion
872
+ //#region src/core/order-groups.d.ts
873
+ /**
874
+ * Named draw-order bands — Unity's "sorting layers" for both dimensions.
875
+ * A node's effective render order is `base(orderGroup) + renderOrder`, so
876
+ * `renderOrder` stays a FINE offset within its band and whole categories
877
+ * layer correctly without magic numbers:
878
+ *
879
+ * background < terrain < default < characters < effects < overlay
880
+ *
881
+ * Engine type defaults: particles sit in `effects`, Terrain3D in `terrain`;
882
+ * everything else is `default` (base 0 — identical to pre-band behavior).
883
+ */
884
+ type OrderGroup = "background" | "terrain" | "default" | "characters" | "effects" | "overlay";
885
+ declare const ORDER_GROUP_BASE: Record<OrderGroup, number>;
886
+ /**
887
+ * A scene's own bands, on top of the six built in.
888
+ *
889
+ * A band is a NUMBER, not a name — `base(orderGroup) + renderOrder` is the whole
890
+ * mechanism — so a game that wants "ui-back sits between effects and overlay"
891
+ * declares what it is worth:
892
+ *
893
+ * ```json
894
+ * { "orderGroups": { "ui-back": 2500, "ui-front": 3500 } }
895
+ * ```
896
+ *
897
+ * Declaring a built-in name RE-BASES it for this scene, which is deliberate
898
+ * (a 2D game with no terrain can reclaim that band) and is why the merge is
899
+ * scene-last.
900
+ */
901
+ type OrderGroupTable = Readonly<Record<string, number>>;
902
+ /** Built-ins with a scene's declarations layered over them. */
903
+ declare function resolveOrderGroups(declared?: Record<string, number>): OrderGroupTable;
904
+ /**
905
+ * base + fine offset.
906
+ *
907
+ * An unknown name resolves to 0 (`default`) rather than throwing, because this
908
+ * runs per node per frame and a scene that got here has already been validated:
909
+ * `loadScene` hard-fails an `orderGroup` naming a band nothing declares, which
910
+ * is where a typo should be caught.
911
+ */
912
+ declare function effectiveOrder(group: string, renderOrder: number, table?: OrderGroupTable): number;
913
+ //#endregion
872
914
  //#region src/core/save.d.ts
873
915
  /**
874
916
  * Namespaced game persistence — high scores, unlocks, settings. localStorage
@@ -1003,6 +1045,8 @@ declare class Scene {
1003
1045
  readonly input: JsonObject | undefined;
1004
1046
  /** Translations by locale (merged into `Engine.locale` on setScene). */
1005
1047
  readonly strings: Record<string, Record<string, string>> | undefined;
1048
+ /** Extra draw-order bands (`name → base`), layered over the built-ins. */
1049
+ readonly orderGroups: Record<string, number> | undefined;
1006
1050
  /** Physics config (gravity etc. — interpreted by the physics modules). */
1007
1051
  readonly physics: JsonObject | undefined;
1008
1052
  /** Multiplayer config (room etc. — interpreted by incanto/net). */
@@ -1191,6 +1235,11 @@ declare class Engine {
1191
1235
  * anything a locale does not declare falls back to it silently.
1192
1236
  */
1193
1237
  readonly locale: Localization;
1238
+ /**
1239
+ * Draw-order bands in force: the six built in, plus whatever the current
1240
+ * scene declares. Read by `Node2D`/`Node3D.effectiveRenderOrder`.
1241
+ */
1242
+ orderGroups: OrderGroupTable;
1194
1243
  /** Low-latency procedural-SFX player (WebAudio, headless-safe). AudioPlayer
1195
1244
  * presets play through it; games may call `engine.sfx.play(...)` directly. */
1196
1245
  readonly sfx: SfxEngine;
@@ -1376,7 +1425,7 @@ declare function getNodeSignals(typeName: string): string[];
1376
1425
  * Instantiate a registered type, assign schema defaults (cloned), then the
1377
1426
  * given props — validating every key and its JSON kind against the default.
1378
1427
  */
1379
- declare function createNode(typeName: string, props?: Record<string, JsonValue>): Node;
1428
+ declare function createNode(typeName: string, props?: Record<string, JsonValue>, extraOptions?: Record<string, readonly string[]>): Node;
1380
1429
  //#endregion
1381
1430
  //#region src/core/behavior.d.ts
1382
1431
  interface BehaviorCtor {
@@ -1471,4 +1520,4 @@ declare function registeredBehaviors(): string[];
1471
1520
  /** Test isolation helper. */
1472
1521
  declare function clearBehaviors(): void;
1473
1522
  //#endregion
1474
- export { Voice as $, qualityEnvironment as A, restoreBehaviors as B, EngineStats as C, LogEntry as Ct, QualityTier as D, SignalListener as Dt, DeviceHints as E, Signal as Et, RestoreReport as F, Localization as G, createSaveStore as H, SaveSlot as I, translationKey as J, T_PREFIX as K, SaveSlots as L, suggestQuality as M, Scene as N, Settings as O, BehaviorState as P, isAudioContextAvailable as Q, behaviorsWithoutSave as R, Scheduler as S, SceneTree as St, RendererStats as T, LogManager as Tt, BASE_LOCALE as U, SaveStore as V, LocaleTables as W, SfxEngine as X, InputMap as Y, SfxPlayOptions as Z, mergeStaticSignals as _, PlayMusicOptions as _t, clearBehaviors as a, Vec3 as at, Engine as b, Node as bt, registeredBehaviors as c, SFX_PRESETS as ct, PropSchema as d, SfxWave as dt, VoicePreset as et, clearRegistry as f, SynthOptions as ft, getNodeType as g, MusicTrack as gt, getNodeSignals as h, MusicManager as ht, behaviorSignals as i, SpatialParams as it, readDeviceHints as j, SettingsValues as k, NodeCtor as l, SFX_PRESET_NAMES as lt, getNodeSchema as m, MusicBackend as mt, BehaviorCtor as n, ROLLOFF_MODELS as nt, getBehavior as o, spatialGain as ot, createNode as p, synthSfx as pt, suggestLocale as q, behaviorSchema as r, RolloffModel as rt, registerBehavior as s, spatialPan as st, Behavior as t, Listener as tt, PropDef as u, SfxParams as ut, registerNode as v, AudioBuses as vt, GameStats as w, LogLevel as wt, EngineOptions as x, NodeLifecycle as xt, registeredTypes as y, BusName as yt, captureBehaviors as z };
1523
+ export { translationKey as $, qualityEnvironment as A, LogManager as At, restoreBehaviors as B, EngineStats as C, AudioBuses as Ct, QualityTier as D, SceneTree as Dt, DeviceHints as E, NodeLifecycle as Et, RestoreReport as F, OrderGroupTable as G, createSaveStore as H, SaveSlot as I, BASE_LOCALE as J, effectiveOrder as K, SaveSlots as L, suggestQuality as M, SignalListener as Mt, Scene as N, Settings as O, LogEntry as Ot, BehaviorState as P, suggestLocale as Q, behaviorsWithoutSave as R, Scheduler as S, PlayMusicOptions as St, RendererStats as T, Node as Tt, ORDER_GROUP_BASE as U, SaveStore as V, OrderGroup as W, Localization as X, LocaleTables as Y, T_PREFIX as Z, mergeStaticSignals as _, SynthOptions as _t, clearBehaviors as a, VoicePreset as at, Engine as b, MusicManager as bt, registeredBehaviors as c, RolloffModel as ct, PropSchema as d, spatialGain as dt, InputMap as et, clearRegistry as f, spatialPan as ft, getNodeType as g, SfxWave as gt, getNodeSignals as h, SfxParams as ht, behaviorSignals as i, Voice as it, readDeviceHints as j, Signal as jt, SettingsValues as k, LogLevel as kt, NodeCtor as l, SpatialParams as lt, getNodeSchema as m, SFX_PRESET_NAMES as mt, BehaviorCtor as n, SfxPlayOptions as nt, getBehavior as o, Listener as ot, createNode as p, SFX_PRESETS as pt, resolveOrderGroups as q, behaviorSchema as r, isAudioContextAvailable as rt, registerBehavior as s, ROLLOFF_MODELS as st, Behavior as t, SfxEngine as tt, PropDef as u, Vec3 as ut, registerNode as v, synthSfx as vt, GameStats as w, BusName as wt, EngineOptions as x, MusicTrack as xt, registeredTypes as y, MusicBackend as yt, captureBehaviors as z };
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { h as diagnose, n as loadScene, o as computeViewport, s as resolveViewport, x as registerBehavior } from "./loader-Mig5fY4n.js";
3
- import { h as Engine, m as AudioPlayer } from "./register-BFLg0-_i.js";
2
+ import { n as loadScene, o as computeViewport, s as resolveViewport, v as diagnose, w as registerBehavior } from "./loader-DAZlgqeC.js";
3
+ import { h as Engine, m as AudioPlayer } from "./register-BHAwM4bK.js";
4
4
  import { t as IncantoError } from "./errors-BpWbnbb_.js";
5
5
  import { i as resolveRendering, n as attachTouchControls } from "./touch-BoNg_MnF.js";
6
- import { i as openBundledEditor, n as crossFade, r as devServerLibrary, t as teardown } from "./teardown-ByzfDPyu.js";
7
- import { n as registerGameplayBehaviors } from "./gameplay-BvhcQbfJ.js";
8
- import { g as PhysicsBody2D, n as UILayer, t as registerNodes2D, u as Camera2D, y as Node2D } from "./register-DSmIRAf7.js";
6
+ import { i as openBundledEditor, n as crossFade, r as devServerLibrary, t as teardown } from "./teardown-CCtAMDLB.js";
7
+ import { n as registerGameplayBehaviors } from "./gameplay-C0MUMSak.js";
8
+ import { g as PhysicsBody2D, n as UILayer, t as registerNodes2D, u as Camera2D, y as Node2D } from "./register-COGCNitr.js";
9
9
  import { t as debugSources } from "./debug-draw-BM3DsvtT.js";
10
- import { n as enablePhysics2D } from "./physics-2d-DqAclql-.js";
10
+ import { n as enablePhysics2D } from "./physics-2d-B4v39hca.js";
11
11
  import { Box3, BufferAttribute, BufferGeometry, Color, LineBasicMaterial, LineSegments, LinearFilter, NearestFilter, OrthographicCamera, Raycaster, SRGBColorSpace, Scene, TextureLoader, Vector2, Vector3, WebGLRenderer } from "three";
12
12
  //#region src/2d/assets.ts
13
13
  /**
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { h as diagnose, n as loadScene, x as registerBehavior } from "./loader-Mig5fY4n.js";
3
- import { h as Engine, m as AudioPlayer } from "./register-BFLg0-_i.js";
2
+ import { n as loadScene, v as diagnose, w as registerBehavior } from "./loader-DAZlgqeC.js";
3
+ import { h as Engine, m as AudioPlayer } from "./register-BHAwM4bK.js";
4
4
  import { t as IncantoError } from "./errors-BpWbnbb_.js";
5
5
  import { i as resolveRendering, n as attachTouchControls } from "./touch-BoNg_MnF.js";
6
- import { a as poseFromRenderer, i as openBundledEditor, n as crossFade, r as devServerLibrary, t as teardown } from "./teardown-ByzfDPyu.js";
7
- import { B as createCausticsQuad, F as PhysicsBody3D, R as Node3D, n as registerGameplayBehaviors } from "./gameplay-BvhcQbfJ.js";
6
+ import { a as poseFromRenderer, i as openBundledEditor, n as crossFade, r as devServerLibrary, t as teardown } from "./teardown-CCtAMDLB.js";
7
+ import { B as createCausticsQuad, F as PhysicsBody3D, R as Node3D, n as registerGameplayBehaviors } from "./gameplay-C0MUMSak.js";
8
8
  import { t as debugSources } from "./debug-draw-BM3DsvtT.js";
9
- import { E as Camera3D, U as TextureCache3D, g as ModelInstance3D, n as registerNodes3D, t as resolveEnvironmentHdri, v as DirectionalLight3D } from "./environment-presets-TAGvmM3z.js";
10
- import { n as enablePhysics3D } from "./physics-3d-DxBH4sIF.js";
9
+ import { E as Camera3D, U as TextureCache3D, g as ModelInstance3D, n as registerNodes3D, t as resolveEnvironmentHdri, v as DirectionalLight3D } from "./environment-presets-fK9oyrrR.js";
10
+ import { n as enablePhysics3D } from "./physics-3d-DFJVMYET.js";
11
11
  import { ACESFilmicToneMapping, AmbientLight, Box3, BufferAttribute, BufferGeometry, Color, DepthTexture, EquirectangularReflectionMapping, FloatType, Fog, HalfFloatType, LineBasicMaterial, LineSegments, Matrix4, Mesh, PCFShadowMap, PMREMGenerator, PerspectiveCamera, PlaneGeometry, Quaternion, Raycaster, Scene, ShaderMaterial, Vector2, Vector3, WebGLRenderTarget, WebGLRenderer } from "three";
12
12
  import { VRMLoaderPlugin, VRMUtils } from "@pixiv/three-vrm";
13
13
  import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
package/dist/debug.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { T as RendererStats, b as Engine, wt as LogLevel } from "./behavior-CGSCWOHB.js";
1
+ import { T as RendererStats, b as Engine, kt as LogLevel } from "./behavior-DibCwrW7.js";
2
2
 
3
3
  //#region src/debug/panel.d.ts
4
4
  /** Minimal document surface the overlay needs (injectable for tests). */
package/dist/debug.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as jsonClone } from "./json-BLk7H2Qa.js";
2
- import { s as mergeStaticProps } from "./registry-CJdGpT2V.js";
2
+ import { s as mergeStaticProps } from "./registry-IyWCGe4q.js";
3
3
  import { t as debugSources } from "./debug-draw-BM3DsvtT.js";
4
4
  //#region src/debug/panel.ts
5
5
  /** Keep a panel rect on screen and above the minimum usable size. */
@@ -1,18 +1,4 @@
1
- import { i as serializeNode, t as buildNodeJson } from "./loader-Mig5fY4n.js";
2
- //#region src/core/order-groups.ts
3
- const ORDER_GROUP_BASE = {
4
- background: -2e3,
5
- terrain: -1e3,
6
- default: 0,
7
- characters: 1e3,
8
- effects: 2e3,
9
- overlay: 3e3
10
- };
11
- /** base + fine offset (unknown group names fall back to `default`). */
12
- function effectiveOrder(group, renderOrder) {
13
- return (ORDER_GROUP_BASE[group] ?? 0) + renderOrder;
14
- }
15
- //#endregion
1
+ import { i as serializeNode, t as buildNodeJson } from "./loader-DAZlgqeC.js";
16
2
  //#region src/core/scene/duplicate.ts
17
3
  function stripUids(json) {
18
4
  const { uid: _uid, ...rest } = json;
@@ -33,4 +19,4 @@ function duplicateNode(node) {
33
19
  return buildNodeJson(stripUids(serializeNode(node)));
34
20
  }
35
21
  //#endregion
36
- export { ORDER_GROUP_BASE as n, effectiveOrder as r, duplicateNode as t };
22
+ export { duplicateNode as t };
@@ -1,4 +1,4 @@
1
- import { s as JsonObject } from "./schema-3ywbdlrv.js";
1
+ import { s as JsonObject } from "./schema-CFeioQRE.js";
2
2
 
3
3
  //#region src/core/diagnostics.d.ts
4
4
  /** The minimum an engine has to look like to receive a diagnostic. */