incanto 0.13.0 → 0.14.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/dist/3d.d.ts +25 -11
- package/dist/3d.js +3 -3
- package/dist/{create-game-J6g4QInv.js → create-game-OSntcIiM.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{physics-3d-DhaAaKJo.js → physics-3d-D_kUdOjr.js} +1 -1
- package/dist/react.js +1 -1
- package/dist/{register-BFw4c83z.js → register-C9-16x_t.js} +54 -34
- package/dist/test.js +3 -3
- package/editor/assets/{agent8-BF8Jfbkl.js → agent8-BDC4LhjC.js} +1 -1
- package/editor/assets/{index-DSq0gdhE.js → index-7qOYg7t8.js} +3 -3
- package/editor/index.html +1 -1
- package/package.json +1 -1
- package/schemas/scene.schema.json +3 -6
- package/skills/incanto-environment.md +15 -16
- package/skills/incanto-node-reference.md +3 -3
- package/templates-app/beacon-isle-3d/generate-world.ts +0 -2
- package/templates-app/beacon-isle-3d/package.json +1 -1
- package/templates-app/beacon-isle-3d/src/game.scene.json +23 -46
- package/templates-app/tps-3d/package.json +1 -1
- package/templates-app/village-quest-3d/package.json +1 -1
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-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-7qOYg7t8.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
|
@@ -2371,8 +2371,7 @@
|
|
|
2371
2371
|
"default": 0.5
|
|
2372
2372
|
},
|
|
2373
2373
|
"drape": {
|
|
2374
|
-
"
|
|
2375
|
-
"default": false
|
|
2374
|
+
"default": null
|
|
2376
2375
|
},
|
|
2377
2376
|
"terrain": {
|
|
2378
2377
|
"type": "string",
|
|
@@ -2559,8 +2558,7 @@
|
|
|
2559
2558
|
"default": 1
|
|
2560
2559
|
},
|
|
2561
2560
|
"drape": {
|
|
2562
|
-
"
|
|
2563
|
-
"default": false
|
|
2561
|
+
"default": null
|
|
2564
2562
|
},
|
|
2565
2563
|
"terrain": {
|
|
2566
2564
|
"type": "string",
|
|
@@ -5656,8 +5654,7 @@
|
|
|
5656
5654
|
"default": true
|
|
5657
5655
|
},
|
|
5658
5656
|
"drape": {
|
|
5659
|
-
"
|
|
5660
|
-
"default": false
|
|
5657
|
+
"default": null
|
|
5661
5658
|
},
|
|
5662
5659
|
"terrain": {
|
|
5663
5660
|
"type": "string",
|
|
@@ -358,14 +358,13 @@ tops radially away with a smooth falloff as a character wades through.
|
|
|
358
358
|
| `coverage` | `0.85` | mesh: carpet fill in (0, 1] — below 1 noise carves dirt patches (load-time check) |
|
|
359
359
|
| `flowers` | `0` | DEPRECATED — confetti heads; use a `Flowers3D` node (load-time check 0–0.2) |
|
|
360
360
|
| `seed` | `1` | placement seed — identical field across runs/machines |
|
|
361
|
-
| `drape` | `
|
|
362
|
-
| `terrain` | `""` | drape target node path; empty = **auto-find the first Terrain3D** in the tree
|
|
361
|
+
| `drape` | `null` | **AUTO by default**: whenever the scene has a Terrain3D, every blade roots on the ground under it (samples `heightAt`) — omit this prop and rolling terrain just works. `true` forces it (keeps retrying until a terrain appears — streamed worlds), `false` opts out (flat carpet at the node's Y) |
|
|
362
|
+
| `terrain` | `""` | drape target node path; empty = **auto-find the first Terrain3D** in the tree. A non-empty path that is NOT a Terrain3D fails at load — no silent floating |
|
|
363
363
|
|
|
364
|
-
> **Rolling terrain
|
|
365
|
-
>
|
|
366
|
-
>
|
|
367
|
-
>
|
|
368
|
-
> generators still do the latter for backward-compatible output).
|
|
364
|
+
> **Rolling terrain just works.** Since 0.14 draping is on by default: with a
|
|
365
|
+
> Terrain3D in the scene the blades root on the ground per-instance, no wiring.
|
|
366
|
+
> Only set `drape: false` if you WANT a flat carpet at the node's Y (e.g. grass
|
|
367
|
+
> on a flat MeshInstance3D platform above the terrain).
|
|
369
368
|
|
|
370
369
|
## Flowers3D
|
|
371
370
|
|
|
@@ -415,8 +414,8 @@ billboard confetti. Deterministic from the `seed` PROP.
|
|
|
415
414
|
| `height` | `0.45` | plant height, meters (±25% per-plant jitter) |
|
|
416
415
|
| `clustering` | `0.6` | 0 uniform … 1 tight Voronoi patches (load-time check) |
|
|
417
416
|
| `sway` | `0.5` | head-bob wind strength; 0 disables |
|
|
418
|
-
| `drape` | `
|
|
419
|
-
| `terrain` | `""` | drape target node path; empty = auto-find the first Terrain3D |
|
|
417
|
+
| `drape` | `null` | AUTO by default — plants root on the scene's Terrain3D when one exists; `true` forces, `false` opts out — see the Foliage3D drape note above |
|
|
418
|
+
| `terrain` | `""` | drape target node path; empty = auto-find the first Terrain3D (a wrong path fails at load) |
|
|
420
419
|
|
|
421
420
|
## Tree3D
|
|
422
421
|
Procedural trees grown by the ported ez-tree generator (MIT, Dan Greenheck;
|
|
@@ -484,8 +483,8 @@ Every instance in a grove also gets a deterministic per-instance color jitter (
|
|
|
484
483
|
| `leafFadeStart` | `0` | **leaf LOD** — leaf cards begin collapsing toward their branch at this camera distance (m). `0`/`0` disables (full leaves at any range) |
|
|
485
484
|
| `leafFadeEnd` | `0` | leaf LOD — cards fully collapsed (zero overdraw) by here; tune ≈ the scene `fog.far` so the thinning hides in fog (load-time check: `> leafFadeStart`) |
|
|
486
485
|
| `leafShadows` | `true` | `false` keeps trunk/branch shadows but drops the expensive alpha-cutout LEAF shadow pass — big FPS in dense forests |
|
|
487
|
-
| `drape` | `
|
|
488
|
-
| `terrain` | `""` | drape target node path; empty = auto-find the first Terrain3D (
|
|
486
|
+
| `drape` | `null` | AUTO by default: each scattered instance roots at the ground height under it (instead of the node's single Y) whenever the scene has a Terrain3D — a `count > 1` grove on rolling/carved terrain never floats or buries. `true` forces, `false` opts out |
|
|
487
|
+
| `terrain` | `""` | drape target node path; empty = auto-find the first Terrain3D (a wrong path fails at load) |
|
|
489
488
|
|
|
490
489
|
> **Tree LOD / forest FPS.** Leaf overdraw + the leaf shadow pass dominate a
|
|
491
490
|
> dense-forest frame (~90% in profiling). For big groves set `leafFadeStart`/
|
|
@@ -493,11 +492,11 @@ Every instance in a grove also gets a deterministic per-instance color jitter (
|
|
|
493
492
|
> leaf cards (branch silhouette stays), and `leafShadows: false` to drop the leaf
|
|
494
493
|
> shadow pass. Both default off → existing scenes are unchanged.
|
|
495
494
|
|
|
496
|
-
> **Floating trees?**
|
|
497
|
-
>
|
|
498
|
-
>
|
|
499
|
-
>
|
|
500
|
-
>
|
|
495
|
+
> **Floating trees?** Since 0.14 groves drape automatically whenever the scene
|
|
496
|
+
> has a Terrain3D — each instance roots on the ground under it. The drape is a
|
|
497
|
+
> pure heightAt lookup — no rng draw, so the seed/grove layout is
|
|
498
|
+
> byte-identical, only the Y shifts. `drape: false` restores the flat
|
|
499
|
+
> single-Y placement.
|
|
501
500
|
|
|
502
501
|
## Terrain3D
|
|
503
502
|
Procedural heightfield terrain with biome texture splatting (in `incanto/3d`,
|
|
@@ -330,7 +330,7 @@ Signals: `movementStateChanged(state)`
|
|
|
330
330
|
| `height` | `0.45` | number |
|
|
331
331
|
| `clustering` | `0.6` | number |
|
|
332
332
|
| `sway` | `0.5` | number |
|
|
333
|
-
| `drape` | `
|
|
333
|
+
| `drape` | `null` | null |
|
|
334
334
|
| `terrain` | `""` | string |
|
|
335
335
|
|
|
336
336
|
## `Foliage3D` — `incanto/3d`
|
|
@@ -362,7 +362,7 @@ Signals: `movementStateChanged(state)`
|
|
|
362
362
|
| `coverage` | `0.85` | number |
|
|
363
363
|
| `flowers` | `0` | number |
|
|
364
364
|
| `seed` | `1` | number |
|
|
365
|
-
| `drape` | `
|
|
365
|
+
| `drape` | `null` | null |
|
|
366
366
|
| `terrain` | `""` | string |
|
|
367
367
|
|
|
368
368
|
## `HudLayer` — `incanto`
|
|
@@ -836,7 +836,7 @@ Signals: `timeout`
|
|
|
836
836
|
| `leafFadeStart` | `0` | number |
|
|
837
837
|
| `leafFadeEnd` | `0` | number |
|
|
838
838
|
| `leafShadows` | `true` | boolean |
|
|
839
|
-
| `drape` | `
|
|
839
|
+
| `drape` | `null` | null |
|
|
840
840
|
| `terrain` | `""` | string |
|
|
841
841
|
|
|
842
842
|
## `UILayer` — `incanto/2d`
|
|
@@ -101,7 +101,6 @@ for (let i = 0; i < 400 && grassPlaced < 14; i++) {
|
|
|
101
101
|
position: [round2(x), round2(y), round2(z)],
|
|
102
102
|
area: [34, 34],
|
|
103
103
|
density: 10,
|
|
104
|
-
terrain: '../../Ground/Surface',
|
|
105
104
|
},
|
|
106
105
|
});
|
|
107
106
|
}
|
|
@@ -119,7 +118,6 @@ for (let i = 0; i < 300 && flowersPlaced < 9; i++) {
|
|
|
119
118
|
position: [round2(x), round2(y), round2(z)],
|
|
120
119
|
area: [12, 12],
|
|
121
120
|
seed: Math.floor(rand() * 1e9),
|
|
122
|
-
terrain: '../../Ground/Surface',
|
|
123
121
|
},
|
|
124
122
|
});
|
|
125
123
|
}
|
|
@@ -1131,8 +1131,7 @@
|
|
|
1131
1131
|
"style": "mesh",
|
|
1132
1132
|
"position": [83.83, 13.64, 53.8],
|
|
1133
1133
|
"area": [34, 34],
|
|
1134
|
-
"density": 10
|
|
1135
|
-
"terrain": "../../Ground/Surface"
|
|
1134
|
+
"density": 10
|
|
1136
1135
|
}
|
|
1137
1136
|
},
|
|
1138
1137
|
{
|
|
@@ -1143,8 +1142,7 @@
|
|
|
1143
1142
|
"style": "mesh",
|
|
1144
1143
|
"position": [48.69, 13.7, 42.89],
|
|
1145
1144
|
"area": [34, 34],
|
|
1146
|
-
"density": 10
|
|
1147
|
-
"terrain": "../../Ground/Surface"
|
|
1145
|
+
"density": 10
|
|
1148
1146
|
}
|
|
1149
1147
|
},
|
|
1150
1148
|
{
|
|
@@ -1155,8 +1153,7 @@
|
|
|
1155
1153
|
"style": "mesh",
|
|
1156
1154
|
"position": [-37.46, 18.04, 29.71],
|
|
1157
1155
|
"area": [34, 34],
|
|
1158
|
-
"density": 10
|
|
1159
|
-
"terrain": "../../Ground/Surface"
|
|
1156
|
+
"density": 10
|
|
1160
1157
|
}
|
|
1161
1158
|
},
|
|
1162
1159
|
{
|
|
@@ -1167,8 +1164,7 @@
|
|
|
1167
1164
|
"style": "mesh",
|
|
1168
1165
|
"position": [57.21, 16.3, 86.45],
|
|
1169
1166
|
"area": [34, 34],
|
|
1170
|
-
"density": 10
|
|
1171
|
-
"terrain": "../../Ground/Surface"
|
|
1167
|
+
"density": 10
|
|
1172
1168
|
}
|
|
1173
1169
|
},
|
|
1174
1170
|
{
|
|
@@ -1179,8 +1175,7 @@
|
|
|
1179
1175
|
"style": "mesh",
|
|
1180
1176
|
"position": [-67.62, 16.83, -54.03],
|
|
1181
1177
|
"area": [34, 34],
|
|
1182
|
-
"density": 10
|
|
1183
|
-
"terrain": "../../Ground/Surface"
|
|
1178
|
+
"density": 10
|
|
1184
1179
|
}
|
|
1185
1180
|
},
|
|
1186
1181
|
{
|
|
@@ -1191,8 +1186,7 @@
|
|
|
1191
1186
|
"style": "mesh",
|
|
1192
1187
|
"position": [0.75, 16.94, 89.68],
|
|
1193
1188
|
"area": [34, 34],
|
|
1194
|
-
"density": 10
|
|
1195
|
-
"terrain": "../../Ground/Surface"
|
|
1189
|
+
"density": 10
|
|
1196
1190
|
}
|
|
1197
1191
|
},
|
|
1198
1192
|
{
|
|
@@ -1203,8 +1197,7 @@
|
|
|
1203
1197
|
"style": "mesh",
|
|
1204
1198
|
"position": [85.64, 12.48, -28.21],
|
|
1205
1199
|
"area": [34, 34],
|
|
1206
|
-
"density": 10
|
|
1207
|
-
"terrain": "../../Ground/Surface"
|
|
1200
|
+
"density": 10
|
|
1208
1201
|
}
|
|
1209
1202
|
},
|
|
1210
1203
|
{
|
|
@@ -1215,8 +1208,7 @@
|
|
|
1215
1208
|
"style": "mesh",
|
|
1216
1209
|
"position": [58.99, 12.3, -5.25],
|
|
1217
1210
|
"area": [34, 34],
|
|
1218
|
-
"density": 10
|
|
1219
|
-
"terrain": "../../Ground/Surface"
|
|
1211
|
+
"density": 10
|
|
1220
1212
|
}
|
|
1221
1213
|
},
|
|
1222
1214
|
{
|
|
@@ -1227,8 +1219,7 @@
|
|
|
1227
1219
|
"style": "mesh",
|
|
1228
1220
|
"position": [75.79, 11.98, -31.54],
|
|
1229
1221
|
"area": [34, 34],
|
|
1230
|
-
"density": 10
|
|
1231
|
-
"terrain": "../../Ground/Surface"
|
|
1222
|
+
"density": 10
|
|
1232
1223
|
}
|
|
1233
1224
|
},
|
|
1234
1225
|
{
|
|
@@ -1239,8 +1230,7 @@
|
|
|
1239
1230
|
"style": "mesh",
|
|
1240
1231
|
"position": [28.8, 16.05, 70.6],
|
|
1241
1232
|
"area": [34, 34],
|
|
1242
|
-
"density": 10
|
|
1243
|
-
"terrain": "../../Ground/Surface"
|
|
1233
|
+
"density": 10
|
|
1244
1234
|
}
|
|
1245
1235
|
},
|
|
1246
1236
|
{
|
|
@@ -1251,8 +1241,7 @@
|
|
|
1251
1241
|
"style": "mesh",
|
|
1252
1242
|
"position": [-74.91, 19.52, -21.04],
|
|
1253
1243
|
"area": [34, 34],
|
|
1254
|
-
"density": 10
|
|
1255
|
-
"terrain": "../../Ground/Surface"
|
|
1244
|
+
"density": 10
|
|
1256
1245
|
}
|
|
1257
1246
|
},
|
|
1258
1247
|
{
|
|
@@ -1263,8 +1252,7 @@
|
|
|
1263
1252
|
"style": "mesh",
|
|
1264
1253
|
"position": [5.38, 16.51, 37.28],
|
|
1265
1254
|
"area": [34, 34],
|
|
1266
|
-
"density": 10
|
|
1267
|
-
"terrain": "../../Ground/Surface"
|
|
1255
|
+
"density": 10
|
|
1268
1256
|
}
|
|
1269
1257
|
},
|
|
1270
1258
|
{
|
|
@@ -1275,8 +1263,7 @@
|
|
|
1275
1263
|
"style": "mesh",
|
|
1276
1264
|
"position": [-9.71, 15.43, -10.63],
|
|
1277
1265
|
"area": [34, 34],
|
|
1278
|
-
"density": 10
|
|
1279
|
-
"terrain": "../../Ground/Surface"
|
|
1266
|
+
"density": 10
|
|
1280
1267
|
}
|
|
1281
1268
|
},
|
|
1282
1269
|
{
|
|
@@ -1287,8 +1274,7 @@
|
|
|
1287
1274
|
"style": "mesh",
|
|
1288
1275
|
"position": [-61.97, 20.04, 41.88],
|
|
1289
1276
|
"area": [34, 34],
|
|
1290
|
-
"density": 10
|
|
1291
|
-
"terrain": "../../Ground/Surface"
|
|
1277
|
+
"density": 10
|
|
1292
1278
|
}
|
|
1293
1279
|
},
|
|
1294
1280
|
{
|
|
@@ -1297,8 +1283,7 @@
|
|
|
1297
1283
|
"props": {
|
|
1298
1284
|
"position": [33.23, 14.62, 36.95],
|
|
1299
1285
|
"area": [12, 12],
|
|
1300
|
-
"seed": 357653252
|
|
1301
|
-
"terrain": "../../Ground/Surface"
|
|
1286
|
+
"seed": 357653252
|
|
1302
1287
|
}
|
|
1303
1288
|
},
|
|
1304
1289
|
{
|
|
@@ -1307,8 +1292,7 @@
|
|
|
1307
1292
|
"props": {
|
|
1308
1293
|
"position": [-82.3, 19.31, -38.23],
|
|
1309
1294
|
"area": [12, 12],
|
|
1310
|
-
"seed": 398696966
|
|
1311
|
-
"terrain": "../../Ground/Surface"
|
|
1295
|
+
"seed": 398696966
|
|
1312
1296
|
}
|
|
1313
1297
|
},
|
|
1314
1298
|
{
|
|
@@ -1317,8 +1301,7 @@
|
|
|
1317
1301
|
"props": {
|
|
1318
1302
|
"position": [-33.36, 18.6, 50.95],
|
|
1319
1303
|
"area": [12, 12],
|
|
1320
|
-
"seed": 400708434
|
|
1321
|
-
"terrain": "../../Ground/Surface"
|
|
1304
|
+
"seed": 400708434
|
|
1322
1305
|
}
|
|
1323
1306
|
},
|
|
1324
1307
|
{
|
|
@@ -1327,8 +1310,7 @@
|
|
|
1327
1310
|
"props": {
|
|
1328
1311
|
"position": [-9.78, 17.14, 45.89],
|
|
1329
1312
|
"area": [12, 12],
|
|
1330
|
-
"seed": 575315232
|
|
1331
|
-
"terrain": "../../Ground/Surface"
|
|
1313
|
+
"seed": 575315232
|
|
1332
1314
|
}
|
|
1333
1315
|
},
|
|
1334
1316
|
{
|
|
@@ -1337,8 +1319,7 @@
|
|
|
1337
1319
|
"props": {
|
|
1338
1320
|
"position": [55.02, 13.26, 39.6],
|
|
1339
1321
|
"area": [12, 12],
|
|
1340
|
-
"seed": 73428741
|
|
1341
|
-
"terrain": "../../Ground/Surface"
|
|
1322
|
+
"seed": 73428741
|
|
1342
1323
|
}
|
|
1343
1324
|
},
|
|
1344
1325
|
{
|
|
@@ -1347,8 +1328,7 @@
|
|
|
1347
1328
|
"props": {
|
|
1348
1329
|
"position": [-49.05, 16.91, -30.14],
|
|
1349
1330
|
"area": [12, 12],
|
|
1350
|
-
"seed": 258165764
|
|
1351
|
-
"terrain": "../../Ground/Surface"
|
|
1331
|
+
"seed": 258165764
|
|
1352
1332
|
}
|
|
1353
1333
|
},
|
|
1354
1334
|
{
|
|
@@ -1357,8 +1337,7 @@
|
|
|
1357
1337
|
"props": {
|
|
1358
1338
|
"position": [17.86, 16.44, 76.99],
|
|
1359
1339
|
"area": [12, 12],
|
|
1360
|
-
"seed": 22178236
|
|
1361
|
-
"terrain": "../../Ground/Surface"
|
|
1340
|
+
"seed": 22178236
|
|
1362
1341
|
}
|
|
1363
1342
|
},
|
|
1364
1343
|
{
|
|
@@ -1367,8 +1346,7 @@
|
|
|
1367
1346
|
"props": {
|
|
1368
1347
|
"position": [-5.95, 13.7, -35.97],
|
|
1369
1348
|
"area": [12, 12],
|
|
1370
|
-
"seed": 359604670
|
|
1371
|
-
"terrain": "../../Ground/Surface"
|
|
1349
|
+
"seed": 359604670
|
|
1372
1350
|
}
|
|
1373
1351
|
},
|
|
1374
1352
|
{
|
|
@@ -1377,8 +1355,7 @@
|
|
|
1377
1355
|
"props": {
|
|
1378
1356
|
"position": [-51.11, 18.29, -4.34],
|
|
1379
1357
|
"area": [12, 12],
|
|
1380
|
-
"seed": 723951523
|
|
1381
|
-
"terrain": "../../Ground/Surface"
|
|
1358
|
+
"seed": 723951523
|
|
1382
1359
|
}
|
|
1383
1360
|
},
|
|
1384
1361
|
{
|