incanto 0.18.0 → 0.19.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.
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-L774mpvF.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-B7gj1VII.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.18.0",
3
+ "version": "0.19.0",
4
4
  "description": "Vibe-coding-first web game engine SDK — JSON-driven scenes on three.js",
5
5
  "keywords": [
6
6
  "game-engine",
@@ -553,7 +553,7 @@ is radians of `atan(|∇h|)`. Default textures stream from the live agent8 CDN
553
553
  | `islandEdge` | `null` | `null` = theme decides; force the rim wrap on/off with a boolean |
554
554
  | `layers` | `[]` | custom splat layers (theme `custom` only) |
555
555
  | `textureBase` | agent8 CDN | base URL: `<base>/<name>.png` + `<base>/<name>_normal.png` |
556
- | `basins` | `[]` | lake/pond bowls — `[{ x, z, radius, depth }]` (centered meters) carved into the surface (smooth, 0-slope rim); `heightAt`, the collider AND draped grass all see them |
556
+ | `basins` | `[]` | lake/pond bowls — `[{ x, z, radius, depth }]` (centered meters) carved into the surface (smooth, 0-slope rim); **negative `depth` RAISES a smooth dome mound instead** (a hill, an islet); `heightAt`, the collider AND draped grass all see them |
557
557
  | `wetline` | `null` | WET SAND band — `{ y, band? }` darkens + glosses the splat in a noisy, breathing band just above height `y` (a waterline): the trace of the last swash runup. `band` (default `1.1` m) caps how high above `y` reads wet. `null` = off |
558
558
 
559
559
  **Wet sand at a shoreline.** Set `wetline.y` to the SAME world height as the
@@ -567,6 +567,26 @@ On a near-flat sandbar remember the band is VERTICAL meters: a 1 m band on a
567
567
  1:50 slope is a ~50 m apron — drop `band` to `0.4–0.6` if only a narrow strip
568
568
  should read wet.
569
569
 
570
+ **A round sand islet in the open sea** (the postcard drone shot): don't hunt
571
+ for a dune that pokes out — SHAPE the island with nested negative-depth
572
+ basins on a low desert field, then flood to just below the dome top:
573
+ ```ts
574
+ // all-sand splat, ~0.5 m of noise so the waterline contour stays organic
575
+ { theme: 'desert', size: 150, maxHeight: 0.1, islandEdge: true,
576
+ flatThreshold: 20, // disable the flat-snap — at tiny maxHeight the ±0.6 m
577
+ // band swallows the field and its per-vertex boundary
578
+ // rips a sawtooth across the underwater flat
579
+ basins: [
580
+ { x: 0, z: 0, radius: 55, depth: -3 }, // broad shield → turquoise ring
581
+ { x: 0, z: 0, radius: 30, depth: -4.2 }, // dome → the sand cap (max nests)
582
+ ] }
583
+ // water at domeTop − 0.9: a ~20 m round cap, glowing shallows, rim wraps deep
584
+ ```
585
+ The sea cuts the dome's CURVED flank, so the waterline is a round organic
586
+ contour — a flat bar's waterline slices along the desert lows' planar patches
587
+ and reads as long straight cellophane edges. Pair with a second deep Terrain3D
588
+ (e.g. 12 m down) so the surround reads saturated blue, not endless pale flat.
589
+
570
590
  **Carving a lake.** A flat Water3D plane on rolling/dome terrain reads as a wet
571
591
  patch, not a lake. Carve a `basins` bowl so water fills a real depression with a
572
592
  shoreline, then drop a `Water3D` at the floor + a little:
@@ -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.18.0",
17
+ "incanto": "^0.19.0",
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.18.0",
16
+ "incanto": "^0.19.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.18.0",
16
+ "incanto": "^0.19.0",
17
17
  "three": "^0.184.0"
18
18
  },
19
19
  "devDependencies": {