incanto 0.24.0 → 0.25.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/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-B5y_MdYb.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-COVjwWy3.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="./assets/GameServer-C56iOUgF.js">
10
10
  <link rel="stylesheet" crossorigin href="./assets/index-D8QvwvOm.css">
11
11
  </head>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incanto",
3
- "version": "0.24.0",
3
+ "version": "0.25.1",
4
4
  "description": "Vibe-coding-first web game engine SDK — JSON-driven scenes on three.js",
5
5
  "keywords": [
6
6
  "game-engine",
@@ -789,6 +789,21 @@ Swimming down is a different optical world, and the engine renders it as one:
789
789
  "caustics": { "intensity": 0.6 } } } }
790
790
  ```
791
791
 
792
+ ### Where water meets ground
793
+
794
+ The waterline is the thing that gives game water away. Incanto fades it in
795
+ SCREEN SPACE, not in metres: a beach's water column climbs from nothing to
796
+ knee-deep in centimetres of ground on a steep shore and in metres on a flat
797
+ one, so any fixed depth ramp is invisible on the first and swallows the second.
798
+ The shader divides the column by its own screen-space gradient, which turns the
799
+ fade into a constant band of pixels — no slope and no camera angle can cut it
800
+ back into a line. The band is then broken with world noise, breathed in and out
801
+ with the swash (`shoreWaves`), and its last stretch froths.
802
+
803
+ That means a shoreline needs nothing wired: no foam prop, no decal, no second
804
+ mesh. If you want MORE of it, `shoreWaves` drives the breathing and the
805
+ breakers, and `Terrain3D.wetline` darkens the sand the water just left.
806
+
792
807
  ### What water COSTS, and every dial that lowers it
793
808
 
794
809
  Fancy water is not one draw — it is extra SCENE RENDERS, and each one
@@ -802,6 +817,11 @@ with grass, trees and a mirror):
802
817
  | cube reflection | `reflection: true` | 256² × 6 faces | 6, every `reflectionInterval` ms (≥2 s while `mirror` is on — it is only the off-screen fallback then) |
803
818
  | the surface itself | always | — | a ~1.5 quads/m grid, capped 160² |
804
819
 
820
+ The fragment shader also LODs itself: every ripple octave, the caustic loops
821
+ and the whitecap noise are SKIPPED once distance has faded their contribution,
822
+ rather than being computed and multiplied by zero. A pixel of horizon water
823
+ used to pay for four noise octaves to throw three away.
824
+
805
825
  Grass, flowers, particles and trails are dropped from the side passes: they are
806
826
  most of a meadow's triangles and none of what anyone reads in a reflection or a
807
827
  depth mask.
@@ -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.24.0",
17
+ "incanto": "^0.25.1",
18
18
  "three": "^0.184.0"
19
19
  },
20
20
  "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.24.0",
16
+ "incanto": "^0.25.1",
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.24.0",
16
+ "incanto": "^0.25.1",
17
17
  "three": "^0.184.0"
18
18
  },
19
19
  "devDependencies": {