incanto 0.3.1 → 0.3.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/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-C82h2nk2.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-CXElxUZa.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="./assets/GameServer-C56iOUgF.js">
10
10
  <link rel="stylesheet" crossorigin href="./assets/index-DF3tMeKJ.css">
11
11
  </head>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incanto",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Vibe-coding-first web game engine SDK — JSON-driven scenes on three.js",
5
5
  "keywords": [
6
6
  "game-engine",
@@ -570,6 +570,11 @@
570
570
  "type": "boolean",
571
571
  "default": false
572
572
  },
573
+ "shadowMode": {
574
+ "type": "string",
575
+ "enum": ["silhouette", "blob"],
576
+ "default": "silhouette"
577
+ },
573
578
  "sheet": {
574
579
  "type": "string",
575
580
  "default": ""
@@ -3651,6 +3656,11 @@
3651
3656
  "castShadow": {
3652
3657
  "type": "boolean",
3653
3658
  "default": false
3659
+ },
3660
+ "shadowMode": {
3661
+ "type": "string",
3662
+ "enum": ["silhouette", "blob"],
3663
+ "default": "silhouette"
3654
3664
  }
3655
3665
  },
3656
3666
  "additionalProperties": false
@@ -83,6 +83,7 @@ billboard spin. `Sprite3D`:
83
83
  | `pixelArt` | `true` | nearest-filter for crisp pixels (`false` = smooth linear) |
84
84
  | `alphaTest` | `0.5` | discard texels below this alpha — a crisp cutout that depth-sorts against 3D geometry (a tree occludes it; it occludes the ground). Use `0` + `opacity < 1` for soft/feathered sprites (smoke, glow) |
85
85
  | `castShadow` | `false` | cast a **sprite-shaped** (alpha-tested) shadow — the shadow follows the texture's cutout + current animation frame, not the whole quad. The caster auto-aims at the light during the depth pass, so the shadow stays solid from **every camera angle** (a camera-facing billboard otherwise turns edge-on to the light and the shadow vanishes). Needs a shadow-casting light + a `receiveShadow` ground |
86
+ | `shadowMode` | `"silhouette"` | `"silhouette"` = physical projected alpha-cutout shadow through the real shadow map; `"blob"` = simple soft oval under the feet |
86
87
 
87
88
  `AnimatedSprite3D` adds spritesheet animation (ALL Sprite3D props, plus):
88
89
 
@@ -55,6 +55,7 @@ Signals: `animationFinished(name)`
55
55
  | `pixelArt` | `true` | boolean |
56
56
  | `alphaTest` | `0.5` | number |
57
57
  | `castShadow` | `false` | boolean |
58
+ | `shadowMode` | `"silhouette"` | one of: `silhouette` `blob` |
58
59
  | `sheet` | `""` | string |
59
60
  | `frameWidth` | `0` | number |
60
61
  | `frameHeight` | `0` | number |
@@ -526,6 +527,7 @@ Signals: `triggerEnter(other)` · `triggerExit(other)`
526
527
  | `pixelArt` | `true` | boolean |
527
528
  | `alphaTest` | `0.5` | number |
528
529
  | `castShadow` | `false` | boolean |
530
+ | `shadowMode` | `"silhouette"` | one of: `silhouette` `blob` |
529
531
 
530
532
  ## `StaticBody2D` — `incanto/2d`
531
533