telperion 0.1.2 → 0.1.3

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/telperion.js CHANGED
@@ -1,8 +1,8 @@
1
- var oe = Object.defineProperty;
2
- var se = (r, e, t) => e in r ? oe(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
- var y = (r, e, t) => se(r, typeof e != "symbol" ? e + "" : e, t);
1
+ var se = Object.defineProperty;
2
+ var _e = (r, e, t) => e in r ? se(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
+ var y = (r, e, t) => _e(r, typeof e != "symbol" ? e + "" : e, t);
4
4
  import { w as ce } from "./wasm-source.js";
5
- class ue {
5
+ class le {
6
6
  constructor(e) {
7
7
  y(this, "offset", 0);
8
8
  y(this, "view");
@@ -54,73 +54,73 @@ class ue {
54
54
  };
55
55
  }
56
56
  }
57
- function le(r, e, t) {
58
- const n = (_) => {
59
- const i = r();
60
- return new ue(new Uint8Array(i.memory.buffer, i.buffer_ptr(_), i.buffer_len(_)));
61
- }, a = (_) => ({
57
+ function ue(r, e, t) {
58
+ const n = (i) => {
59
+ const o = r();
60
+ return new le(new Uint8Array(o.memory.buffer, o.buffer_ptr(i), o.buffer_len(i)));
61
+ }, a = (i) => ({
62
62
  get frontier() {
63
- return e(r().specimen_frontier(_)), t().frontier;
63
+ return e(r().specimen_frontier(i)), t().frontier;
64
64
  },
65
65
  get historyCap() {
66
- return e(r().specimen_frontier(_)), t().historyCap;
66
+ return e(r().specimen_frontier(i)), t().historyCap;
67
67
  },
68
- read(i) {
69
- const s = r();
70
- return e(s.specimen_read(_, i ?? this.frontier)), {
68
+ read(o) {
69
+ const _ = r();
70
+ return e(_.specimen_read(i, o ?? this.frontier)), {
71
71
  ...t(),
72
72
  ...n(18).identities(),
73
73
  structure: {
74
- values: new Float64Array(s.memory.buffer, s.buffer_ptr(6), s.buffer_len(6)).slice(),
75
- topology: new Uint32Array(s.memory.buffer, s.buffer_ptr(7), s.buffer_len(7)).slice()
74
+ values: new Float64Array(_.memory.buffer, _.buffer_ptr(6), _.buffer_len(6)).slice(),
75
+ topology: new Uint32Array(_.memory.buffer, _.buffer_ptr(7), _.buffer_len(7)).slice()
76
76
  },
77
- leaves: new Uint32Array(s.memory.buffer, s.buffer_ptr(5), s.buffer_len(5)).slice()
77
+ leaves: new Uint32Array(_.memory.buffer, _.buffer_ptr(5), _.buffer_len(5)).slice()
78
78
  };
79
79
  },
80
- advance(i) {
81
- return e(r().specimen_advance(_, i)), { ...t(), changes: n(17).changes() };
80
+ advance(o) {
81
+ return e(r().specimen_advance(i, o)), { ...t(), changes: n(17).changes() };
82
82
  },
83
- changes(i, s) {
84
- return e(r().specimen_changes(_, i, s)), n(17).changes();
83
+ changes(o, _) {
84
+ return e(r().specimen_changes(i, o, _)), n(17).changes();
85
85
  },
86
- setNodeCeiling(i) {
87
- e(r().specimen_node_ceiling(_, i));
86
+ setNodeCeiling(o) {
87
+ e(r().specimen_node_ceiling(i, o));
88
88
  },
89
- setHistoryCap(i) {
90
- e(r().specimen_history_cap(_, i));
89
+ setHistoryCap(o) {
90
+ e(r().specimen_history_cap(i, o));
91
91
  },
92
92
  snapshot() {
93
- const i = r();
93
+ const o = r();
94
94
  try {
95
- return e(i.specimen_snapshot(_)), { schema: 3, data: new Uint8Array(i.memory.buffer, i.buffer_ptr(16), i.buffer_len(16)).slice() };
95
+ return e(o.specimen_snapshot(i)), { schema: 3, data: new Uint8Array(o.memory.buffer, o.buffer_ptr(16), o.buffer_len(16)).slice() };
96
96
  } finally {
97
- i.specimen_snapshot_release();
97
+ o.specimen_snapshot_release();
98
98
  }
99
99
  },
100
100
  release() {
101
- e(r().specimen_release(_));
101
+ e(r().specimen_release(i));
102
102
  }
103
103
  });
104
104
  return {
105
- build(_, i) {
106
- const s = typeof _ == "string" ? _ : Object.fromEntries(Object.entries(_).filter(([b]) => !["id", "name", "note"].includes(b))), u = new TextEncoder().encode(JSON.stringify(s, (b, f) => {
107
- if (typeof f == "number" && !Number.isFinite(f)) throw Error(`Invalid ${b} = ${f}`);
105
+ build(i, o) {
106
+ const _ = typeof i == "string" ? i : Object.fromEntries(Object.entries(i).filter(([g]) => !["id", "name", "note"].includes(g))), l = new TextEncoder().encode(JSON.stringify(_, (g, f) => {
107
+ if (typeof f == "number" && !Number.isFinite(f)) throw Error(`Invalid ${g} = ${f}`);
108
108
  return f;
109
- })), l = r();
110
- return e(l.request_alloc(u.length)), new Uint8Array(l.memory.buffer, l.request_ptr(), u.length).set(u), e(l.specimen_build(i)), a(t().handle);
109
+ })), u = r();
110
+ return e(u.request_alloc(l.length)), new Uint8Array(u.memory.buffer, u.request_ptr(), l.length).set(l), e(u.specimen_build(o)), a(t().handle);
111
111
  },
112
- import(_) {
113
- if (_.schema !== 3 || !(_.data instanceof Uint8Array)) throw Error("Invalid specimen snapshot schema/data");
114
- const i = r();
112
+ import(i) {
113
+ if (i.schema !== 3 || !(i.data instanceof Uint8Array)) throw Error("Invalid specimen snapshot schema/data");
114
+ const o = r();
115
115
  try {
116
- return e(i.specimen_snapshot_alloc(_.data.length)), new Uint8Array(i.memory.buffer, i.buffer_ptr(16), i.buffer_len(16)).set(_.data), e(i.specimen_import()), a(t().handle);
116
+ return e(o.specimen_snapshot_alloc(i.data.length)), new Uint8Array(o.memory.buffer, o.buffer_ptr(16), o.buffer_len(16)).set(i.data), e(o.specimen_import()), a(t().handle);
117
117
  } finally {
118
- i.specimen_snapshot_release();
118
+ o.specimen_snapshot_release();
119
119
  }
120
120
  }
121
121
  };
122
122
  }
123
- const _e = [
123
+ const ie = [
124
124
  {
125
125
  abiId: 0,
126
126
  family: {
@@ -135,10 +135,12 @@ const _e = [
135
135
  clumpSystemOrder: 2,
136
136
  divergence: 137.508,
137
137
  forwardLean: 0,
138
+ leafBaseFlatness: 0,
138
139
  leafBaseLength: 0,
139
140
  leafBasePitch: 60,
140
141
  leafBaseRadius: 0.35,
141
142
  leafBaseWeathering: 0,
143
+ leafBaseWidth: 0,
142
144
  leafBases: 0,
143
145
  leafletCount: 1,
144
146
  leafletPitch: 45,
@@ -162,6 +164,9 @@ const _e = [
162
164
  shortShootSpread: 45,
163
165
  size: 1,
164
166
  sizeVariation: 0.35,
167
+ skirtFronds: 0,
168
+ skirtLength: 0.8,
169
+ skirtPitch: 140,
165
170
  spacing: 6e-3,
166
171
  surfaceContact: 0,
167
172
  terminalLeaflet: 0,
@@ -230,6 +235,9 @@ const _e = [
230
235
  leafBackBlue: 0.07,
231
236
  leafBackGreen: 0.24,
232
237
  leafBackRed: 0.105,
238
+ leafDeadBlue: 0.18,
239
+ leafDeadGreen: 0.25,
240
+ leafDeadRed: 0.3,
233
241
  leafFrontBlue: 0.036,
234
242
  leafFrontGreen: 0.195,
235
243
  leafFrontRed: 0.068,
@@ -407,10 +415,12 @@ const _e = [
407
415
  clumpSystemOrder: 2,
408
416
  divergence: 180,
409
417
  forwardLean: 0.25,
418
+ leafBaseFlatness: 0,
410
419
  leafBaseLength: 0,
411
420
  leafBasePitch: 60,
412
421
  leafBaseRadius: 0.35,
413
422
  leafBaseWeathering: 0,
423
+ leafBaseWidth: 0,
414
424
  leafBases: 0,
415
425
  leafletCount: 1,
416
426
  leafletPitch: 45,
@@ -434,6 +444,9 @@ const _e = [
434
444
  shortShootSpread: 45,
435
445
  size: 1,
436
446
  sizeVariation: 0.2,
447
+ skirtFronds: 0,
448
+ skirtLength: 0.8,
449
+ skirtPitch: 140,
437
450
  spacing: 6e-3,
438
451
  surfaceContact: 0,
439
452
  terminalLeaflet: 0,
@@ -502,6 +515,9 @@ const _e = [
502
515
  leafBackBlue: 0.112,
503
516
  leafBackGreen: 0.254,
504
517
  leafBackRed: 0.153,
518
+ leafDeadBlue: 0.18,
519
+ leafDeadGreen: 0.25,
520
+ leafDeadRed: 0.3,
505
521
  leafFrontBlue: 0.016,
506
522
  leafFrontGreen: 0.102,
507
523
  leafFrontRed: 0.028,
@@ -679,10 +695,12 @@ const _e = [
679
695
  clumpSystemOrder: 2,
680
696
  divergence: 137.508,
681
697
  forwardLean: 0.05,
698
+ leafBaseFlatness: 0,
682
699
  leafBaseLength: 0,
683
700
  leafBasePitch: 60,
684
701
  leafBaseRadius: 0.35,
685
702
  leafBaseWeathering: 0,
703
+ leafBaseWidth: 0,
686
704
  leafBases: 0,
687
705
  leafletCount: 1,
688
706
  leafletPitch: 45,
@@ -706,6 +724,9 @@ const _e = [
706
724
  shortShootSpread: 45,
707
725
  size: 1,
708
726
  sizeVariation: 0.2,
727
+ skirtFronds: 0,
728
+ skirtLength: 0.8,
729
+ skirtPitch: 140,
709
730
  spacing: 6e-3,
710
731
  surfaceContact: 1,
711
732
  terminalLeaflet: 0,
@@ -774,6 +795,9 @@ const _e = [
774
795
  leafBackBlue: 0.138,
775
796
  leafBackGreen: 0.195,
776
797
  leafBackRed: 0.109,
798
+ leafDeadBlue: 0.18,
799
+ leafDeadGreen: 0.25,
800
+ leafDeadRed: 0.3,
777
801
  leafFrontBlue: 0.028,
778
802
  leafFrontGreen: 0.056,
779
803
  leafFrontRed: 0.018,
@@ -951,10 +975,12 @@ const _e = [
951
975
  clumpSystemOrder: 2,
952
976
  divergence: 180,
953
977
  forwardLean: 0.6,
978
+ leafBaseFlatness: 0,
954
979
  leafBaseLength: 0,
955
980
  leafBasePitch: 60,
956
981
  leafBaseRadius: 0.35,
957
982
  leafBaseWeathering: 0,
983
+ leafBaseWidth: 0,
958
984
  leafBases: 0,
959
985
  leafletCount: 1,
960
986
  leafletPitch: 45,
@@ -978,6 +1004,9 @@ const _e = [
978
1004
  shortShootSpread: 45,
979
1005
  size: 1,
980
1006
  sizeVariation: 0.2,
1007
+ skirtFronds: 0,
1008
+ skirtLength: 0.8,
1009
+ skirtPitch: 140,
981
1010
  spacing: 6e-3,
982
1011
  surfaceContact: 0,
983
1012
  terminalLeaflet: 0,
@@ -1046,6 +1075,9 @@ const _e = [
1046
1075
  leafBackBlue: 0.14,
1047
1076
  leafBackGreen: 0.28,
1048
1077
  leafBackRed: 0.2,
1078
+ leafDeadBlue: 0.18,
1079
+ leafDeadGreen: 0.25,
1080
+ leafDeadRed: 0.3,
1049
1081
  leafFrontBlue: 0.06,
1050
1082
  leafFrontGreen: 0.19,
1051
1083
  leafFrontRed: 0.1,
@@ -1209,6 +1241,286 @@ const _e = [
1209
1241
  name: "Silver birch",
1210
1242
  note: "Betula pendula"
1211
1243
  },
1244
+ {
1245
+ abiId: 7,
1246
+ family: {
1247
+ age: 100,
1248
+ canopy: {
1249
+ acanthophyllLength: 0.3,
1250
+ acanthophyllPitch: 75,
1251
+ acanthophylls: 8,
1252
+ clump: 5,
1253
+ clumpNeighbours: 12,
1254
+ clumpSpan: 0.3,
1255
+ clumpSystemOrder: 2,
1256
+ divergence: 137.508,
1257
+ forwardLean: 0,
1258
+ leafBaseFlatness: 1,
1259
+ leafBaseLength: 0.255,
1260
+ leafBasePitch: 55,
1261
+ leafBaseRadius: 0.25,
1262
+ leafBaseWeathering: 0.75,
1263
+ leafBaseWidth: 0.9,
1264
+ leafBases: 256,
1265
+ leafletCount: 113,
1266
+ leafletPitch: 55,
1267
+ leanRise: 0,
1268
+ limbClumping: 0,
1269
+ maxInstances: 4294967295,
1270
+ outward: 0.6,
1271
+ rachisArch: -0.6,
1272
+ rachisLength: 7,
1273
+ rosetteDepth: 0.35,
1274
+ rosetteDivergence: 137.508,
1275
+ rosetteFronds: 42,
1276
+ rosettePitch: 12.5,
1277
+ rosettePitchSpread: 105,
1278
+ scatter: 18,
1279
+ shootRadius: 0,
1280
+ shortShootLeaves: 3,
1281
+ shortShootLength: 0.04,
1282
+ shortShootRadius: 0.15,
1283
+ shortShootSpacing: 0,
1284
+ shortShootSpread: 45,
1285
+ size: 2.35,
1286
+ sizeVariation: 0.35,
1287
+ skirtFronds: 16,
1288
+ skirtLength: 0.85,
1289
+ skirtPitch: 165,
1290
+ spacing: 6e-3,
1291
+ surfaceContact: 0,
1292
+ terminalLeaflet: 1,
1293
+ upward: 0.225
1294
+ },
1295
+ element: {
1296
+ axialSegments: 13,
1297
+ baseFullness: 0.85,
1298
+ card: !1,
1299
+ connectorLength: 0.01,
1300
+ crossSegments: 2,
1301
+ cup: 0.18,
1302
+ curl: 0.12,
1303
+ length: 0.6197,
1304
+ lobeCount: 0,
1305
+ lobeDepth: 0,
1306
+ sectionRoundness: 0.15,
1307
+ tipSharpness: 2.6,
1308
+ widestAt: 0.42,
1309
+ width: 0.0725
1310
+ },
1311
+ growth: {
1312
+ apicalControlLoss: 0,
1313
+ leafLifetime: 1,
1314
+ rate: 0.08,
1315
+ resizeTolerance: 1e-4,
1316
+ shape: 2,
1317
+ sheddingTolerance: 2,
1318
+ workBudget: 25e4
1319
+ },
1320
+ material: {
1321
+ barkBlue: 0.135,
1322
+ barkGrainScale: 0,
1323
+ barkGrainStrength: 0,
1324
+ barkGreen: 0.1975,
1325
+ barkMottleScale: 0,
1326
+ barkMottleStrength: 0,
1327
+ barkRed: 0.325,
1328
+ barkReflectance: 0.04,
1329
+ barkRoughness: 0.7775,
1330
+ bladeGrainScale: 0,
1331
+ bladeGrainStrength: 0,
1332
+ bladeMottleScale: 0,
1333
+ bladeMottleStrength: 0,
1334
+ brightnessRangeHigh: 0.03625,
1335
+ brightnessRangeLow: -0.04,
1336
+ canopyNormal: 0,
1337
+ cavityStrength: 0,
1338
+ crestBlue: 0,
1339
+ crestGreen: 0,
1340
+ crestRed: 0.04375,
1341
+ crestStrength: 0.225,
1342
+ crownShade: 0,
1343
+ cuticleGloss: 0,
1344
+ depthStrength: 0.075,
1345
+ diffuseTransmission: 0,
1346
+ directionalOcclusion: 0,
1347
+ fissureBlue: 0,
1348
+ fissureGreen: 0,
1349
+ fissureRed: 0.4375,
1350
+ fissureStrength: 0.3,
1351
+ furrowStrength: 0.85,
1352
+ hueRangeHigh: 0.0275,
1353
+ hueRangeLow: -0.0275,
1354
+ interiorDarkening: 0.5,
1355
+ leafBackBlue: 0.11625,
1356
+ leafBackGreen: 0.15375,
1357
+ leafBackRed: 0.12,
1358
+ leafDeadBlue: 0.22,
1359
+ leafDeadGreen: 0.29,
1360
+ leafDeadRed: 0.34,
1361
+ leafFrontBlue: 0.1175,
1362
+ leafFrontGreen: 0.16,
1363
+ leafFrontRed: 0.12,
1364
+ leafReflectance: 0.04,
1365
+ leafSheen: 0,
1366
+ lenticelDensity: 0,
1367
+ lenticelLength: 0,
1368
+ lenticelStrength: 0,
1369
+ lenticelTint: 0,
1370
+ lichenBlue: 0,
1371
+ lichenCoverage: 0,
1372
+ lichenGreen: 0,
1373
+ lichenRed: 0,
1374
+ lichenScale: 0,
1375
+ lichenStrength: 0,
1376
+ lightWrap: 0,
1377
+ lobeShade: 0,
1378
+ marginBlue: 0,
1379
+ marginGreen: 0,
1380
+ marginRed: 0,
1381
+ marginWidth: 0,
1382
+ orientationBlue: 0,
1383
+ orientationGreen: 0,
1384
+ orientationRed: 0.03,
1385
+ orientationStrength: 0.225,
1386
+ peelBlue: 0,
1387
+ peelCurl: 0,
1388
+ peelGreen: 0,
1389
+ peelRed: 0,
1390
+ plateCellScale: 0,
1391
+ plateDome: 0,
1392
+ plateEdgeLift: 0,
1393
+ plateEdgeShape: 0,
1394
+ plateElongation: 0,
1395
+ plateFurrowWidth: 0.0375,
1396
+ plateIdentity: 0,
1397
+ plateScale: 0.1125,
1398
+ ridgeScale: 0.01,
1399
+ roughnessDetail: 0,
1400
+ shootBlue: 0.068,
1401
+ shootGreen: 0.105,
1402
+ shootRadius: 0,
1403
+ shootRed: 0.147,
1404
+ skyOcclusionStrength: 0,
1405
+ thickness: 1,
1406
+ transmissionBlue: 0.1,
1407
+ transmissionGreen: 0.6,
1408
+ transmissionRed: 0.3,
1409
+ transmissionStrength: 0,
1410
+ veinContrast: 0,
1411
+ veinScale: 8,
1412
+ weatheringBlue: 0,
1413
+ weatheringGreen: 0,
1414
+ weatheringRed: 875e-5,
1415
+ weatheringStrength: 0.3
1416
+ },
1417
+ radii: {
1418
+ forkExponent: 2,
1419
+ lengthTaper: 0.25,
1420
+ maxTaperExponent: 12,
1421
+ trunkRadius: 0.013
1422
+ },
1423
+ shellDepth: 0.85,
1424
+ skeleton: {
1425
+ attractors: 500,
1426
+ bias: {
1427
+ gravitropism: 0.25,
1428
+ lean: 0.02,
1429
+ supernatural: {
1430
+ enabled: !1,
1431
+ maxWritheMagnitude: 0.9,
1432
+ spiralRate: 0,
1433
+ writheAmplitude: 0,
1434
+ writheWavelength: 0.35
1435
+ }
1436
+ },
1437
+ envelope: {
1438
+ crownBase: 0.45,
1439
+ fullness: 0.45,
1440
+ height: 22.86,
1441
+ irregularity: 0,
1442
+ lobeScale: 0.5,
1443
+ shoulder: 0.45,
1444
+ spread: 0.1
1445
+ },
1446
+ growth: {
1447
+ maxTurnPerStep: 35
1448
+ },
1449
+ habit: {
1450
+ apicalDominance: 0.85,
1451
+ attractorWeight: 0.625,
1452
+ crookedness: 1.5,
1453
+ lateralLengthRatio: 0.4,
1454
+ lateralOrders: 0,
1455
+ lateralPitch: 60,
1456
+ lateralSpacing: 0.9,
1457
+ lateralsPerStation: 1,
1458
+ leaderInternode: 1.5,
1459
+ pitchVariation: 15,
1460
+ reachProbeSteps: 96,
1461
+ risePrimary: 0.05,
1462
+ riseSecondary: -1,
1463
+ sheddingThreshold: 0.45,
1464
+ stemDivergence: 0,
1465
+ stemForkHeight: 0,
1466
+ stemLean: 0,
1467
+ stemLeanSpread: 0,
1468
+ stems: 1,
1469
+ twigTipTaper: 1,
1470
+ whorlStrength: 0.3
1471
+ },
1472
+ samplingAttemptsPerAttractor: 64,
1473
+ seed: 42,
1474
+ step: 0.022,
1475
+ twigs: {
1476
+ angle: 45,
1477
+ angleVariation: 10,
1478
+ curtainClearance: 0.5,
1479
+ curtainDrop: 0.15,
1480
+ curtainSeparation: 4,
1481
+ curtainStepClearance: 0.725,
1482
+ divergence: 137.508,
1483
+ generations: 6,
1484
+ hang: 2.75,
1485
+ internodeFactor: 2.5,
1486
+ laterals: 2,
1487
+ lengthRatio: 0.4,
1488
+ limbRadius: 0.1,
1489
+ maxDroop: 8.6,
1490
+ maxInternodes: 32,
1491
+ pendulousLength: 2.75,
1492
+ pendulousRadius: 1,
1493
+ pendulousVariation: 0,
1494
+ ratioPower: 1.3,
1495
+ reach: 0.2,
1496
+ sag: 1,
1497
+ twig: {
1498
+ bearingDiameter: 0.05,
1499
+ diameter: 7e-3,
1500
+ internodeLength: 0.02,
1501
+ length: 0.25,
1502
+ stationsPerInternode: 1
1503
+ },
1504
+ vigourVariation: 0.15
1505
+ }
1506
+ },
1507
+ surface: {
1508
+ flareDepth: 4e-3,
1509
+ flareFalloff: 0.022,
1510
+ flareRadius: 2,
1511
+ forkSocket: 0.5,
1512
+ forkSwell: 1.35,
1513
+ lobeDepth: 0,
1514
+ lobes: 5,
1515
+ radialSegments: 12,
1516
+ socketContainment: 0.9,
1517
+ twistRate: 0
1518
+ }
1519
+ },
1520
+ id: "date-palm",
1521
+ name: "Date palm",
1522
+ note: "Phoenix dactylifera"
1523
+ },
1212
1524
  {
1213
1525
  abiId: 1,
1214
1526
  family: {
@@ -1223,10 +1535,12 @@ const _e = [
1223
1535
  clumpSystemOrder: 2,
1224
1536
  divergence: 137.508,
1225
1537
  forwardLean: 0,
1538
+ leafBaseFlatness: 0,
1226
1539
  leafBaseLength: 0,
1227
1540
  leafBasePitch: 60,
1228
1541
  leafBaseRadius: 0.35,
1229
1542
  leafBaseWeathering: 0,
1543
+ leafBaseWidth: 0,
1230
1544
  leafBases: 0,
1231
1545
  leafletCount: 1,
1232
1546
  leafletPitch: 45,
@@ -1250,6 +1564,9 @@ const _e = [
1250
1564
  shortShootSpread: 45,
1251
1565
  size: 1,
1252
1566
  sizeVariation: 0.28,
1567
+ skirtFronds: 0,
1568
+ skirtLength: 0.8,
1569
+ skirtPitch: 140,
1253
1570
  spacing: 45e-4,
1254
1571
  surfaceContact: 0,
1255
1572
  terminalLeaflet: 0,
@@ -1318,6 +1635,9 @@ const _e = [
1318
1635
  leafBackBlue: 0.07,
1319
1636
  leafBackGreen: 0.24,
1320
1637
  leafBackRed: 0.105,
1638
+ leafDeadBlue: 0.18,
1639
+ leafDeadGreen: 0.25,
1640
+ leafDeadRed: 0.3,
1321
1641
  leafFrontBlue: 0.036,
1322
1642
  leafFrontGreen: 0.195,
1323
1643
  leafFrontRed: 0.068,
@@ -1495,10 +1815,12 @@ const _e = [
1495
1815
  clumpSystemOrder: 2,
1496
1816
  divergence: 99.502,
1497
1817
  forwardLean: 0,
1818
+ leafBaseFlatness: 0,
1498
1819
  leafBaseLength: 0,
1499
1820
  leafBasePitch: 60,
1500
1821
  leafBaseRadius: 0.35,
1501
1822
  leafBaseWeathering: 0,
1823
+ leafBaseWidth: 0,
1502
1824
  leafBases: 0,
1503
1825
  leafletCount: 1,
1504
1826
  leafletPitch: 45,
@@ -1522,6 +1844,9 @@ const _e = [
1522
1844
  shortShootSpread: 45,
1523
1845
  size: 1.5,
1524
1846
  sizeVariation: 0.4,
1847
+ skirtFronds: 0,
1848
+ skirtLength: 0.8,
1849
+ skirtPitch: 140,
1525
1850
  spacing: 65e-4,
1526
1851
  surfaceContact: 0,
1527
1852
  terminalLeaflet: 0,
@@ -1590,6 +1915,9 @@ const _e = [
1590
1915
  leafBackBlue: 0.07,
1591
1916
  leafBackGreen: 0.24,
1592
1917
  leafBackRed: 0.105,
1918
+ leafDeadBlue: 0.18,
1919
+ leafDeadGreen: 0.25,
1920
+ leafDeadRed: 0.3,
1593
1921
  leafFrontBlue: 0.036,
1594
1922
  leafFrontGreen: 0.195,
1595
1923
  leafFrontRed: 0.068,
@@ -1755,15 +2083,15 @@ const _e = [
1755
2083
  }
1756
2084
  ];
1757
2085
  function G(r) {
1758
- const e = _e.find((t) => t.id === r);
2086
+ const e = ie.find((t) => t.id === r);
1759
2087
  if (!e) throw Error(`Unknown tree preset: ${r}`);
1760
2088
  return { ...structuredClone(e.family), id: e.id, name: e.name, note: e.note };
1761
2089
  }
1762
- const et = (({ id: r, name: e, note: t, ...n }) => n)(G("ordinary")), tt = G("oregon-white-oak"), nt = G("norway-spruce"), rt = G("silver-birch"), fe = G("telperion"), de = G("laurelin"), at = [fe, de], _t = _e.map((r) => G(r.id));
2090
+ const et = (({ id: r, name: e, note: t, ...n }) => n)(G("ordinary")), tt = G("oregon-white-oak"), nt = G("norway-spruce"), rt = G("silver-birch"), fe = G("telperion"), de = G("laurelin"), at = [fe, de], it = ie.map((r) => G(r.id));
1763
2091
  class J {
1764
2092
  constructor(e) {
1765
2093
  y(this, "exports");
1766
- y(this, "specimens", le(() => this.e, (e) => this.check(e), () => this.metadata()));
2094
+ y(this, "specimens", ue(() => this.e, (e) => this.check(e), () => this.metadata()));
1767
2095
  this.exports = e.exports;
1768
2096
  }
1769
2097
  get e() {
@@ -1806,29 +2134,29 @@ class J {
1806
2134
  return this.e.memory.buffer.byteLength;
1807
2135
  }
1808
2136
  build(e, t) {
1809
- const n = performance.now(), a = new TextEncoder().encode(JSON.stringify({ family: typeof e != "string" && "id" in e ? (({ id: f, name: g, note: H, ...ie }) => ie)(e) : e, outputs: t }, (f, g) => {
1810
- if (typeof g == "number" && !Number.isFinite(g)) throw Error("Tree parameters must be finite");
1811
- return g;
1812
- })), _ = this.e;
1813
- this.check(_.request_alloc(a.length)), new Uint8Array(_.memory.buffer, _.request_ptr(), a.length).set(a), this.check(_.build());
1814
- const i = performance.now(), s = this.metadata(), u = (f) => new Float32Array(_.memory.buffer, _.buffer_ptr(f), _.buffer_len(f)).slice(), l = (f) => new Uint32Array(_.memory.buffer, _.buffer_ptr(f), _.buffer_len(f)).slice(), b = { diagnostics: s };
1815
- return t.surface && (b.surface = { positions: u(0), normals: u(1), indices: l(2), bounds: s.surfaceBounds }), t.foliage && (b.foliage = { positions: u(3), indices: l(4), leaves: l(5), reference: s.foliageReference, anatomy: s.foliageAnatomy, bounds: s.foliageBounds }), t.structure && (b.structure = { values: new Float64Array(_.memory.buffer, _.buffer_ptr(6), _.buffer_len(6)).slice(), topology: l(7) }), t.field && (b.field = { query: (f) => this.query(s.revision, f), snapshot: () => this.snapshot(s) }), s.timings.transferMs = performance.now() - i, s.timings.buildMs = performance.now() - n, b;
2137
+ const n = performance.now(), a = new TextEncoder().encode(JSON.stringify({ family: typeof e != "string" && "id" in e ? (({ id: f, name: b, note: H, ...oe }) => oe)(e) : e, outputs: t }, (f, b) => {
2138
+ if (typeof b == "number" && !Number.isFinite(b)) throw Error("Tree parameters must be finite");
2139
+ return b;
2140
+ })), i = this.e;
2141
+ this.check(i.request_alloc(a.length)), new Uint8Array(i.memory.buffer, i.request_ptr(), a.length).set(a), this.check(i.build());
2142
+ const o = performance.now(), _ = this.metadata(), l = (f) => new Float32Array(i.memory.buffer, i.buffer_ptr(f), i.buffer_len(f)).slice(), u = (f) => new Uint32Array(i.memory.buffer, i.buffer_ptr(f), i.buffer_len(f)).slice(), g = { diagnostics: _ };
2143
+ return t.surface && (g.surface = { positions: l(0), normals: l(1), indices: u(2), bounds: _.surfaceBounds }), t.foliage && (g.foliage = { positions: l(3), indices: u(4), leaves: u(5), reference: _.foliageReference, anatomy: _.foliageAnatomy, bounds: _.foliageBounds }), t.structure && (g.structure = { values: new Float64Array(i.memory.buffer, i.buffer_ptr(6), i.buffer_len(6)).slice(), topology: u(7) }), t.field && (g.field = { query: (f) => this.query(_.revision, f), snapshot: () => this.snapshot(_) }), _.timings.transferMs = performance.now() - o, _.timings.buildMs = performance.now() - n, g;
1816
2144
  }
1817
2145
  snapshot(e) {
1818
2146
  const t = performance.now(), n = this.e;
1819
2147
  let a;
1820
2148
  try {
1821
2149
  this.check(n.field_snapshot(e.revision));
1822
- const _ = this.metadata(), i = performance.now(), s = (l) => new Float64Array(n.memory.buffer, n.buffer_ptr(l), n.buffer_len(l)).slice(), u = (l) => new Uint32Array(n.memory.buffer, n.buffer_ptr(l), n.buffer_len(l)).slice();
2150
+ const i = this.metadata(), o = performance.now(), _ = (u) => new Float64Array(n.memory.buffer, n.buffer_ptr(u), n.buffer_len(u)).slice(), l = (u) => new Uint32Array(n.memory.buffer, n.buffer_ptr(u), n.buffer_len(u)).slice();
1823
2151
  a = {
1824
2152
  schema: 2,
1825
2153
  revision: e.revision,
1826
2154
  bounds: structuredClone(e.fieldBounds),
1827
- wood: s(9),
1828
- woodIndex: { bounds: s(10), topology: u(11), nodeCount: _.woodNodes },
1829
- leaves: { bounds: s(12), topology: u(13), nodeCount: _.leafNodes },
1830
- plan: { segments: s(21), stations: u(22), index: { bounds: s(23), topology: u(24), nodeCount: _.planNodes } },
1831
- timings: { extractionMs: _.extractionMs, copyMs: performance.now() - i, totalMs: 0 }
2155
+ wood: _(9),
2156
+ woodIndex: { bounds: _(10), topology: l(11), nodeCount: i.woodNodes },
2157
+ leaves: { bounds: _(12), topology: l(13), nodeCount: i.leafNodes },
2158
+ plan: { segments: _(21), stations: l(22), index: { bounds: _(23), topology: l(24), nodeCount: i.planNodes } },
2159
+ timings: { extractionMs: i.extractionMs, copyMs: performance.now() - o, totalMs: 0 }
1832
2160
  };
1833
2161
  } finally {
1834
2162
  n.field_snapshot_release();
@@ -1846,19 +2174,19 @@ class J {
1846
2174
  };
1847
2175
  }
1848
2176
  }
1849
- let B, F;
1850
- async function it(r) {
1851
- return B && !B.disposed ? B : (B != null && B.disposed && (B = void 0, F = void 0), F ?? (F = J.create(r).then((e) => B = e).catch((e) => {
1852
- throw F = void 0, e;
1853
- })), F);
2177
+ let B, A;
2178
+ async function ot(r) {
2179
+ return B && !B.disposed ? B : (B != null && B.disposed && (B = void 0, A = void 0), A ?? (A = J.create(r).then((e) => B = e).catch((e) => {
2180
+ throw A = void 0, e;
2181
+ })), A);
1854
2182
  }
1855
2183
  const j = 3, $ = Math.SQRT1_2, Q = 1023;
1856
- function ot(r, e) {
2184
+ function st(r, e) {
1857
2185
  const t = e * j;
1858
2186
  if (t < 0 || t + j > r.length) throw Error(`Leaf ${e} is outside the packed buffer`);
1859
2187
  return [r[t], r[t + 1], r[t + 2]];
1860
2188
  }
1861
- function be(r, e) {
2189
+ function ge(r, e) {
1862
2190
  const t = (n, a) => (n >>> a & 65535) / 65535;
1863
2191
  return [
1864
2192
  e.min[0] + e.extent[0] * t(r[1], 0),
@@ -1866,29 +2194,29 @@ function be(r, e) {
1866
2194
  e.min[2] + e.extent[2] * t(r[2], 0)
1867
2195
  ];
1868
2196
  }
1869
- function ge(r) {
1870
- return pe(r[2] >>> 16);
2197
+ function be(r) {
2198
+ return pe(r[2] >>> 16 & 32767);
1871
2199
  }
1872
2200
  function he(r) {
1873
- const e = r[0], t = (H) => (e >>> H * 10 & Q) / Q * (2 * $) - $, [n, a, _] = [t(0), t(1), t(2)], i = Math.sqrt(Math.max(0, 1 - n * n - a * a - _ * _)), s = e >>> 30, u = s === 0 ? [i, n, a, _] : s === 1 ? [n, i, a, _] : s === 2 ? [n, a, i, _] : [n, a, _, i], [l, b, f, g] = u;
2201
+ const e = r[0], t = (H) => (e >>> H * 10 & Q) / Q * (2 * $) - $, [n, a, i] = [t(0), t(1), t(2)], o = Math.sqrt(Math.max(0, 1 - n * n - a * a - i * i)), _ = e >>> 30, l = _ === 0 ? [o, n, a, i] : _ === 1 ? [n, o, a, i] : _ === 2 ? [n, a, o, i] : [n, a, i, o], [u, g, f, b] = l;
1874
2202
  return [
1875
- [1 - 2 * (f * f + g * g), 2 * (b * f + g * l), 2 * (b * g - f * l)],
1876
- [2 * (b * f - g * l), 1 - 2 * (b * b + g * g), 2 * (f * g + b * l)],
1877
- [2 * (b * g + f * l), 2 * (f * g - b * l), 1 - 2 * (b * b + f * f)]
2203
+ [1 - 2 * (f * f + b * b), 2 * (g * f + b * u), 2 * (g * b - f * u)],
2204
+ [2 * (g * f - b * u), 1 - 2 * (g * g + b * b), 2 * (f * b + g * u)],
2205
+ [2 * (g * b + f * u), 2 * (f * b - g * u), 1 - 2 * (g * g + f * f)]
1878
2206
  ];
1879
2207
  }
1880
- function st(r, e) {
1881
- const t = he(r), n = ge(r), a = be(r, e), _ = new Float32Array(16);
1882
- for (let i = 0; i < 3; i++) for (let s = 0; s < 3; s++) _[i * 4 + s] = t[i][s] * n;
1883
- return _[12] = a[0], _[13] = a[1], _[14] = a[2], _[15] = 1, _;
2208
+ function _t(r, e) {
2209
+ const t = he(r), n = be(r), a = ge(r, e), i = new Float32Array(16);
2210
+ for (let o = 0; o < 3; o++) for (let _ = 0; _ < 3; _++) i[o * 4 + _] = t[o][_] * n;
2211
+ return i[12] = a[0], i[13] = a[1], i[14] = a[2], i[15] = 1, i;
1884
2212
  }
1885
2213
  function pe(r) {
1886
2214
  const e = r & 32768 ? -1 : 1, t = r >>> 10 & 31, n = r & 1023;
1887
2215
  return t === 0 ? e * n * 2 ** -24 : t === 31 ? n ? NaN : e * (1 / 0) : e * (1 + n / 1024) * 2 ** (t - 15);
1888
2216
  }
1889
- class T {
2217
+ class D {
1890
2218
  static __wrap(e) {
1891
- const t = Object.create(T.prototype);
2219
+ const t = Object.create(D.prototype);
1892
2220
  return t.__wbg_ptr = e, ee.register(t, t.__wbg_ptr, t), t;
1893
2221
  }
1894
2222
  __destroy_into_raw() {
@@ -1897,7 +2225,7 @@ class T {
1897
2225
  }
1898
2226
  free() {
1899
2227
  const e = this.__destroy_into_raw();
1900
- o.__wbg_webrenderer_free(e, 0);
2228
+ s.__wbg_webrenderer_free(e, 0);
1901
2229
  }
1902
2230
  /**
1903
2231
  * @param {string} family
@@ -1907,13 +2235,13 @@ class T {
1907
2235
  buildSpecimen(e, t) {
1908
2236
  let n, a;
1909
2237
  try {
1910
- const s = S(e, o.__wbindgen_malloc, o.__wbindgen_realloc), u = m, l = o.webrenderer_buildSpecimen(this.__wbg_ptr, s, u, t);
1911
- var _ = l[0], i = l[1];
1912
- if (l[3])
1913
- throw _ = 0, i = 0, h(l[2]);
1914
- return n = _, a = i, c(_, i);
2238
+ const _ = S(e, s.__wbindgen_malloc, s.__wbindgen_realloc), l = m, u = s.webrenderer_buildSpecimen(this.__wbg_ptr, _, l, t);
2239
+ var i = u[0], o = u[1];
2240
+ if (u[3])
2241
+ throw i = 0, o = 0, h(u[2]);
2242
+ return n = i, a = o, c(i, o);
1915
2243
  } finally {
1916
- o.__wbindgen_free(n, a, 1);
2244
+ s.__wbindgen_free(n, a, 1);
1917
2245
  }
1918
2246
  }
1919
2247
  /**
@@ -1923,20 +2251,20 @@ class T {
1923
2251
  * @returns {Promise<any>}
1924
2252
  */
1925
2253
  static create(e) {
1926
- return o.webrenderer_create(e);
2254
+ return s.webrenderer_create(e);
1927
2255
  }
1928
2256
  /**
1929
2257
  * Drops the device and the canvas surface with it. Every later call says
1930
2258
  * the renderer is disposed rather than reaching a device that is gone.
1931
2259
  */
1932
2260
  dispose() {
1933
- o.webrenderer_dispose(this.__wbg_ptr);
2261
+ s.webrenderer_dispose(this.__wbg_ptr);
1934
2262
  }
1935
2263
  /**
1936
2264
  * Draws one frame.
1937
2265
  */
1938
2266
  frame() {
1939
- const e = o.webrenderer_frame(this.__wbg_ptr);
2267
+ const e = s.webrenderer_frame(this.__wbg_ptr);
1940
2268
  if (e[1])
1941
2269
  throw h(e[0]);
1942
2270
  }
@@ -1949,13 +2277,13 @@ class T {
1949
2277
  heroCamera() {
1950
2278
  let e, t;
1951
2279
  try {
1952
- const _ = o.webrenderer_heroCamera(this.__wbg_ptr);
1953
- var n = _[0], a = _[1];
1954
- if (_[3])
1955
- throw n = 0, a = 0, h(_[2]);
2280
+ const i = s.webrenderer_heroCamera(this.__wbg_ptr);
2281
+ var n = i[0], a = i[1];
2282
+ if (i[3])
2283
+ throw n = 0, a = 0, h(i[2]);
1956
2284
  return e = n, t = a, c(n, a);
1957
2285
  } finally {
1958
- o.__wbindgen_free(e, t, 1);
2286
+ s.__wbindgen_free(e, t, 1);
1959
2287
  }
1960
2288
  }
1961
2289
  /**
@@ -1966,7 +2294,7 @@ class T {
1966
2294
  * @returns {Promise<any>}
1967
2295
  */
1968
2296
  orbit() {
1969
- return o.webrenderer_orbit(this.__wbg_ptr);
2297
+ return s.webrenderer_orbit(this.__wbg_ptr);
1970
2298
  }
1971
2299
  /**
1972
2300
  * Reconfigures the canvas for a new size, clamped to what the device can
@@ -1975,7 +2303,7 @@ class T {
1975
2303
  * @param {number} height
1976
2304
  */
1977
2305
  resize(e, t) {
1978
- const n = o.webrenderer_resize(this.__wbg_ptr, e, t);
2306
+ const n = s.webrenderer_resize(this.__wbg_ptr, e, t);
1979
2307
  if (n[1])
1980
2308
  throw h(n[0]);
1981
2309
  }
@@ -1988,13 +2316,13 @@ class T {
1988
2316
  scene() {
1989
2317
  let e, t;
1990
2318
  try {
1991
- const _ = o.webrenderer_scene(this.__wbg_ptr);
1992
- var n = _[0], a = _[1];
1993
- if (_[3])
1994
- throw n = 0, a = 0, h(_[2]);
2319
+ const i = s.webrenderer_scene(this.__wbg_ptr);
2320
+ var n = i[0], a = i[1];
2321
+ if (i[3])
2322
+ throw n = 0, a = 0, h(i[2]);
1995
2323
  return e = n, t = a, c(n, a);
1996
2324
  } finally {
1997
- o.__wbindgen_free(e, t, 1);
2325
+ s.__wbindgen_free(e, t, 1);
1998
2326
  }
1999
2327
  }
2000
2328
  /**
@@ -2004,13 +2332,13 @@ class T {
2004
2332
  seekSpecimen(e) {
2005
2333
  let t, n;
2006
2334
  try {
2007
- const i = o.webrenderer_seekSpecimen(this.__wbg_ptr, e);
2008
- var a = i[0], _ = i[1];
2009
- if (i[3])
2010
- throw a = 0, _ = 0, h(i[2]);
2011
- return t = a, n = _, c(a, _);
2335
+ const o = s.webrenderer_seekSpecimen(this.__wbg_ptr, e);
2336
+ var a = o[0], i = o[1];
2337
+ if (o[3])
2338
+ throw a = 0, i = 0, h(o[2]);
2339
+ return t = a, n = i, c(a, i);
2012
2340
  } finally {
2013
- o.__wbindgen_free(t, n, 1);
2341
+ s.__wbindgen_free(t, n, 1);
2014
2342
  }
2015
2343
  }
2016
2344
  /**
@@ -2024,10 +2352,10 @@ class T {
2024
2352
  * @param {number} target_y
2025
2353
  * @param {number} target_z
2026
2354
  */
2027
- setCamera(e, t, n, a, _, i) {
2028
- const s = o.webrenderer_setCamera(this.__wbg_ptr, e, t, n, a, _, i);
2029
- if (s[1])
2030
- throw h(s[0]);
2355
+ setCamera(e, t, n, a, i, o) {
2356
+ const _ = s.webrenderer_setCamera(this.__wbg_ptr, e, t, n, a, i, o);
2357
+ if (_[1])
2358
+ throw h(_[0]);
2031
2359
  }
2032
2360
  /**
2033
2361
  * Stands the sun somewhere else and paints the sky and the ground with
@@ -2038,7 +2366,7 @@ class T {
2038
2366
  * @param {string} scene
2039
2367
  */
2040
2368
  setScene(e) {
2041
- const t = S(e, o.__wbindgen_malloc, o.__wbindgen_realloc), n = m, a = o.webrenderer_setScene(this.__wbg_ptr, t, n);
2369
+ const t = S(e, s.__wbindgen_malloc, s.__wbindgen_realloc), n = m, a = s.webrenderer_setScene(this.__wbg_ptr, t, n);
2042
2370
  if (a[1])
2043
2371
  throw h(a[0]);
2044
2372
  }
@@ -2049,8 +2377,8 @@ class T {
2049
2377
  * @returns {Promise<any>}
2050
2378
  */
2051
2379
  setTreeGpu(e) {
2052
- const t = S(e, o.__wbindgen_malloc, o.__wbindgen_realloc), n = m;
2053
- return o.webrenderer_setTreeGpu(this.__wbg_ptr, t, n);
2380
+ const t = S(e, s.__wbindgen_malloc, s.__wbindgen_realloc), n = m;
2381
+ return s.webrenderer_setTreeGpu(this.__wbg_ptr, t, n);
2054
2382
  }
2055
2383
  /**
2056
2384
  * Generates the tree these parameters describe and uploads it whole,
@@ -2062,13 +2390,13 @@ class T {
2062
2390
  setTree(e) {
2063
2391
  let t, n;
2064
2392
  try {
2065
- const i = S(e, o.__wbindgen_malloc, o.__wbindgen_realloc), s = m, u = o.webrenderer_setTree(this.__wbg_ptr, i, s);
2066
- var a = u[0], _ = u[1];
2067
- if (u[3])
2068
- throw a = 0, _ = 0, h(u[2]);
2069
- return t = a, n = _, c(a, _);
2393
+ const o = S(e, s.__wbindgen_malloc, s.__wbindgen_realloc), _ = m, l = s.webrenderer_setTree(this.__wbg_ptr, o, _);
2394
+ var a = l[0], i = l[1];
2395
+ if (l[3])
2396
+ throw a = 0, i = 0, h(l[2]);
2397
+ return t = a, n = i, c(a, i);
2070
2398
  } finally {
2071
- o.__wbindgen_free(t, n, 1);
2399
+ s.__wbindgen_free(t, n, 1);
2072
2400
  }
2073
2401
  }
2074
2402
  /**
@@ -2076,7 +2404,7 @@ class T {
2076
2404
  * @param {string} view
2077
2405
  */
2078
2406
  setView(e) {
2079
- const t = S(e, o.__wbindgen_malloc, o.__wbindgen_realloc), n = m, a = o.webrenderer_setView(this.__wbg_ptr, t, n);
2407
+ const t = S(e, s.__wbindgen_malloc, s.__wbindgen_realloc), n = m, a = s.webrenderer_setView(this.__wbg_ptr, t, n);
2080
2408
  if (a[1])
2081
2409
  throw h(a[0]);
2082
2410
  }
@@ -2087,13 +2415,13 @@ class T {
2087
2415
  stats() {
2088
2416
  let e, t;
2089
2417
  try {
2090
- const _ = o.webrenderer_stats(this.__wbg_ptr);
2091
- var n = _[0], a = _[1];
2092
- if (_[3])
2093
- throw n = 0, a = 0, h(_[2]);
2418
+ const i = s.webrenderer_stats(this.__wbg_ptr);
2419
+ var n = i[0], a = i[1];
2420
+ if (i[3])
2421
+ throw n = 0, a = 0, h(i[2]);
2094
2422
  return e = n, t = a, c(n, a);
2095
2423
  } finally {
2096
- o.__wbindgen_free(e, t, 1);
2424
+ s.__wbindgen_free(e, t, 1);
2097
2425
  }
2098
2426
  }
2099
2427
  /**
@@ -2104,10 +2432,10 @@ class T {
2104
2432
  * @returns {Promise<any>}
2105
2433
  */
2106
2434
  timing() {
2107
- return o.webrenderer_timing(this.__wbg_ptr);
2435
+ return s.webrenderer_timing(this.__wbg_ptr);
2108
2436
  }
2109
2437
  }
2110
- Symbol.dispose && (T.prototype[Symbol.dispose] = T.prototype.free);
2438
+ Symbol.dispose && (D.prototype[Symbol.dispose] = D.prototype.free);
2111
2439
  function me() {
2112
2440
  return {
2113
2441
  __proto__: null,
@@ -2123,8 +2451,8 @@ function me() {
2123
2451
  return e.WorkerGlobalScope;
2124
2452
  },
2125
2453
  __wbg___wbindgen_debug_string_0e68cf47c9cbd9b0: function(e, t) {
2126
- const n = q(t), a = S(n, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = m;
2127
- p().setInt32(e + 4, _, !0), p().setInt32(e + 0, a, !0);
2454
+ const n = q(t), a = S(n, s.__wbindgen_malloc, s.__wbindgen_realloc), i = m;
2455
+ p().setInt32(e + 4, i, !0), p().setInt32(e + 0, a, !0);
2128
2456
  },
2129
2457
  __wbg___wbindgen_is_function_fcda5e3902d732fe: function(e) {
2130
2458
  return typeof e == "function";
@@ -2140,8 +2468,8 @@ function me() {
2140
2468
  },
2141
2469
  __wbg___wbindgen_string_get_92ab86bb19cbc12f: function(e, t) {
2142
2470
  const n = t, a = typeof n == "string" ? n : void 0;
2143
- var _ = x(a) ? 0 : S(a, o.__wbindgen_malloc, o.__wbindgen_realloc), i = m;
2144
- p().setInt32(e + 4, i, !0), p().setInt32(e + 0, _, !0);
2471
+ var i = x(a) ? 0 : S(a, s.__wbindgen_malloc, s.__wbindgen_realloc), o = m;
2472
+ p().setInt32(e + 4, o, !0), p().setInt32(e + 0, i, !0);
2145
2473
  },
2146
2474
  __wbg___wbindgen_throw_5d9e815e6fdf150f: function(e, t) {
2147
2475
  throw new Error(c(e, t));
@@ -2174,13 +2502,13 @@ function me() {
2174
2502
  }, arguments);
2175
2503
  },
2176
2504
  __wbg_copyBufferToBuffer_01766818654a9868: function() {
2177
- return d(function(e, t, n, a, _) {
2178
- e.copyBufferToBuffer(t, n, a, _);
2505
+ return d(function(e, t, n, a, i) {
2506
+ e.copyBufferToBuffer(t, n, a, i);
2179
2507
  }, arguments);
2180
2508
  },
2181
2509
  __wbg_copyBufferToBuffer_9c174b96fb08d551: function() {
2182
- return d(function(e, t, n, a, _, i) {
2183
- e.copyBufferToBuffer(t, n, a, _, i);
2510
+ return d(function(e, t, n, a, i, o) {
2511
+ e.copyBufferToBuffer(t, n, a, i, o);
2184
2512
  }, arguments);
2185
2513
  },
2186
2514
  __wbg_createBindGroupLayout_b1bd63b4e88459d8: function() {
@@ -2232,8 +2560,8 @@ function me() {
2232
2560
  }, arguments);
2233
2561
  },
2234
2562
  __wbg_description_83b8a393160021b9: function(e, t) {
2235
- const n = t.description, a = S(n, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = m;
2236
- p().setInt32(e + 4, _, !0), p().setInt32(e + 0, a, !0);
2563
+ const n = t.description, a = S(n, s.__wbindgen_malloc, s.__wbindgen_realloc), i = m;
2564
+ p().setInt32(e + 4, i, !0), p().setInt32(e + 0, a, !0);
2237
2565
  },
2238
2566
  __wbg_dispatchWorkgroups_56b943172790add0: function(e, t, n, a) {
2239
2567
  e.dispatchWorkgroups(t >>> 0, n >>> 0, a >>> 0);
@@ -2245,11 +2573,11 @@ function me() {
2245
2573
  __wbg_drawIndexedIndirect_d01f2181b905a0b5: function(e, t, n) {
2246
2574
  e.drawIndexedIndirect(t, n);
2247
2575
  },
2248
- __wbg_drawIndexed_638959aae942557c: function(e, t, n, a, _, i) {
2249
- e.drawIndexed(t >>> 0, n >>> 0, a >>> 0, _, i >>> 0);
2576
+ __wbg_drawIndexed_638959aae942557c: function(e, t, n, a, i, o) {
2577
+ e.drawIndexed(t >>> 0, n >>> 0, a >>> 0, i, o >>> 0);
2250
2578
  },
2251
- __wbg_draw_086a9578fc9898c2: function(e, t, n, a, _) {
2252
- e.draw(t >>> 0, n >>> 0, a >>> 0, _ >>> 0);
2579
+ __wbg_draw_086a9578fc9898c2: function(e, t, n, a, i) {
2580
+ e.draw(t >>> 0, n >>> 0, a >>> 0, i >>> 0);
2253
2581
  },
2254
2582
  __wbg_end_82fd0c12ba185009: function(e) {
2255
2583
  e.end();
@@ -2339,8 +2667,8 @@ function me() {
2339
2667
  return e.isFallbackAdapter;
2340
2668
  },
2341
2669
  __wbg_label_7add8cb37a6ef98f: function(e, t) {
2342
- const n = t.label, a = S(n, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = m;
2343
- p().setInt32(e + 4, _, !0), p().setInt32(e + 0, a, !0);
2670
+ const n = t.label, a = S(n, s.__wbindgen_malloc, s.__wbindgen_realloc), i = m;
2671
+ p().setInt32(e + 4, i, !0), p().setInt32(e + 0, a, !0);
2344
2672
  },
2345
2673
  __wbg_length_31bdaf014f5fbde2: function(e) {
2346
2674
  return e.length;
@@ -2445,12 +2773,12 @@ function me() {
2445
2773
  return e.maxVertexBuffers;
2446
2774
  },
2447
2775
  __wbg_message_2aad50368e15e8f1: function(e, t) {
2448
- const n = t.message, a = S(n, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = m;
2449
- p().setInt32(e + 4, _, !0), p().setInt32(e + 0, a, !0);
2776
+ const n = t.message, a = S(n, s.__wbindgen_malloc, s.__wbindgen_realloc), i = m;
2777
+ p().setInt32(e + 4, i, !0), p().setInt32(e + 0, a, !0);
2450
2778
  },
2451
2779
  __wbg_message_ab4cad9eeb386607: function(e, t) {
2452
- const n = t.message, a = S(n, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = m;
2453
- p().setInt32(e + 4, _, !0), p().setInt32(e + 0, a, !0);
2780
+ const n = t.message, a = S(n, s.__wbindgen_malloc, s.__wbindgen_realloc), i = m;
2781
+ p().setInt32(e + 4, i, !0), p().setInt32(e + 0, a, !0);
2454
2782
  },
2455
2783
  __wbg_minStorageBufferOffsetAlignment_5ba9b77792bdadb3: function(e) {
2456
2784
  return e.minStorageBufferOffsetAlignment;
@@ -2474,13 +2802,13 @@ function me() {
2474
2802
  },
2475
2803
  __wbg_new_typed_6f8b0d724fe26c07: function(e, t) {
2476
2804
  try {
2477
- var n = { a: e, b: t }, a = (i, s) => {
2478
- const u = n.a;
2805
+ var n = { a: e, b: t }, a = (o, _) => {
2806
+ const l = n.a;
2479
2807
  n.a = 0;
2480
2808
  try {
2481
- return Be(u, n.b, i, s);
2809
+ return Be(l, n.b, o, _);
2482
2810
  } finally {
2483
- n.a = u;
2811
+ n.a = l;
2484
2812
  }
2485
2813
  };
2486
2814
  return new Promise(a);
@@ -2507,7 +2835,7 @@ function me() {
2507
2835
  Uint8Array.prototype.set.call(N(e, t), n);
2508
2836
  },
2509
2837
  __wbg_pushErrorScope_fa7df784c43bdb51: function(e, t) {
2510
- e.pushErrorScope(De[t]);
2838
+ e.pushErrorScope(Te[t]);
2511
2839
  },
2512
2840
  __wbg_querySelectorAll_fdbf93e11103921d: function() {
2513
2841
  return d(function(e, t, n) {
@@ -2525,7 +2853,7 @@ function me() {
2525
2853
  },
2526
2854
  __wbg_reason_b4fa3af867fc4430: function(e) {
2527
2855
  const t = e.reason;
2528
- return (Pe.indexOf(t) + 1 || 3) - 1;
2856
+ return (Ce.indexOf(t) + 1 || 3) - 1;
2529
2857
  },
2530
2858
  __wbg_requestAdapter_a539af006419f2e9: function(e, t) {
2531
2859
  return e.requestAdapter(t);
@@ -2538,20 +2866,20 @@ function me() {
2538
2866
  __wbg_requestDevice_5cb8a582e55d08cb: function(e, t) {
2539
2867
  return e.requestDevice(t);
2540
2868
  },
2541
- __wbg_resolveQuerySet_770f23fabac49845: function(e, t, n, a, _, i) {
2542
- e.resolveQuerySet(t, n >>> 0, a >>> 0, _, i >>> 0);
2869
+ __wbg_resolveQuerySet_770f23fabac49845: function(e, t, n, a, i, o) {
2870
+ e.resolveQuerySet(t, n >>> 0, a >>> 0, i, o >>> 0);
2543
2871
  },
2544
2872
  __wbg_resolve_35ec7e0c6af4c82c: function(e) {
2545
2873
  return Promise.resolve(e);
2546
2874
  },
2547
2875
  __wbg_setBindGroup_0b7c2a055ef1f314: function() {
2548
- return d(function(e, t, n, a, _, i, s) {
2549
- e.setBindGroup(t >>> 0, n, ne(a, _), i, s >>> 0);
2876
+ return d(function(e, t, n, a, i, o, _) {
2877
+ e.setBindGroup(t >>> 0, n, ne(a, i), o, _ >>> 0);
2550
2878
  }, arguments);
2551
2879
  },
2552
2880
  __wbg_setBindGroup_11bdbb60cc8b54b9: function() {
2553
- return d(function(e, t, n, a, _, i, s) {
2554
- e.setBindGroup(t >>> 0, n, ne(a, _), i, s >>> 0);
2881
+ return d(function(e, t, n, a, i, o, _) {
2882
+ e.setBindGroup(t >>> 0, n, ne(a, i), o, _ >>> 0);
2555
2883
  }, arguments);
2556
2884
  },
2557
2885
  __wbg_setBindGroup_418c3e0eb6943ce0: function(e, t, n) {
@@ -2560,8 +2888,8 @@ function me() {
2560
2888
  __wbg_setBindGroup_c83391351ce68826: function(e, t, n) {
2561
2889
  e.setBindGroup(t >>> 0, n);
2562
2890
  },
2563
- __wbg_setIndexBuffer_241097e303986c14: function(e, t, n, a, _) {
2564
- e.setIndexBuffer(t, K[n], a, _);
2891
+ __wbg_setIndexBuffer_241097e303986c14: function(e, t, n, a, i) {
2892
+ e.setIndexBuffer(t, K[n], a, i);
2565
2893
  },
2566
2894
  __wbg_setPipeline_5146f7b8d2b4af5c: function(e, t) {
2567
2895
  e.setPipeline(t);
@@ -2572,8 +2900,8 @@ function me() {
2572
2900
  __wbg_setVertexBuffer_6db3b60e99280744: function(e, t, n, a) {
2573
2901
  e.setVertexBuffer(t >>> 0, n, a);
2574
2902
  },
2575
- __wbg_setVertexBuffer_cbf4ca1627c02f4c: function(e, t, n, a, _) {
2576
- e.setVertexBuffer(t >>> 0, n, a, _);
2903
+ __wbg_setVertexBuffer_cbf4ca1627c02f4c: function(e, t, n, a, i) {
2904
+ e.setVertexBuffer(t >>> 0, n, a, i);
2577
2905
  },
2578
2906
  __wbg_set_9cfc0f17d60ff0af: function(e, t, n) {
2579
2907
  e.set(t, n >>> 0);
@@ -2590,13 +2918,13 @@ function me() {
2590
2918
  e.access = Ie[t];
2591
2919
  },
2592
2920
  __wbg_set_address_mode_u_a68737cf5d288f95: function(e, t) {
2593
- e.addressModeU = O[t];
2921
+ e.addressModeU = W[t];
2594
2922
  },
2595
2923
  __wbg_set_address_mode_v_b1c3c45933f540d1: function(e, t) {
2596
- e.addressModeV = O[t];
2924
+ e.addressModeV = W[t];
2597
2925
  },
2598
2926
  __wbg_set_address_mode_w_889c31cf7022c764: function(e, t) {
2599
- e.addressModeW = O[t];
2927
+ e.addressModeW = W[t];
2600
2928
  },
2601
2929
  __wbg_set_alpha_106f21a936a85eba: function(e, t) {
2602
2930
  e.alpha = t;
@@ -2668,10 +2996,10 @@ function me() {
2668
2996
  e.colorAttachments = w(t, n);
2669
2997
  },
2670
2998
  __wbg_set_compare_080c9e492ff36990: function(e, t) {
2671
- e.compare = W[t];
2999
+ e.compare = O[t];
2672
3000
  },
2673
3001
  __wbg_set_compare_817cf3695599eaa6: function(e, t) {
2674
- e.compare = W[t];
3002
+ e.compare = O[t];
2675
3003
  },
2676
3004
  __wbg_set_compute_bc754d9e37f6e4c9: function(e, t) {
2677
3005
  e.compute = t;
@@ -2683,7 +3011,7 @@ function me() {
2683
3011
  e.count = t >>> 0;
2684
3012
  },
2685
3013
  __wbg_set_cull_mode_85d2b4ab0ce3a564: function(e, t) {
2686
- e.cullMode = Ce[t];
3014
+ e.cullMode = Pe[t];
2687
3015
  },
2688
3016
  __wbg_set_depth_bias_95abf479cae3f3cd: function(e, t) {
2689
3017
  e.depthBias = t;
@@ -2698,7 +3026,7 @@ function me() {
2698
3026
  e.depthClearValue = t;
2699
3027
  },
2700
3028
  __wbg_set_depth_compare_a90de4e3714397ab: function(e, t) {
2701
- e.depthCompare = W[t];
3029
+ e.depthCompare = O[t];
2702
3030
  },
2703
3031
  __wbg_set_depth_fail_op_b5c64541d1b6b482: function(e, t) {
2704
3032
  e.depthFailOp = I[t];
@@ -2788,7 +3116,7 @@ function me() {
2788
3116
  e.fragment = t;
2789
3117
  },
2790
3118
  __wbg_set_front_face_d3f8a2e07e7b25dd: function(e, t) {
2791
- e.frontFace = Ae[t];
3119
+ e.frontFace = Fe[t];
2792
3120
  },
2793
3121
  __wbg_set_g_b527ee8a9bed553d: function(e, t) {
2794
3122
  e.g = t;
@@ -2902,10 +3230,10 @@ function me() {
2902
3230
  e.mipLevelCount = t >>> 0;
2903
3231
  },
2904
3232
  __wbg_set_mipmap_filter_62fb49a84b0747ff: function(e, t) {
2905
- e.mipmapFilter = Fe[t];
3233
+ e.mipmapFilter = Ae[t];
2906
3234
  },
2907
3235
  __wbg_set_mode_7edfbc344ef9c650: function(e, t) {
2908
- e.mode = Te[t];
3236
+ e.mode = De[t];
2909
3237
  },
2910
3238
  __wbg_set_module_392eeaa269f203b0: function(e, t) {
2911
3239
  e.module = t;
@@ -3043,7 +3371,7 @@ function me() {
3043
3371
  e.toneMapping = t;
3044
3372
  },
3045
3373
  __wbg_set_topology_b92cfe523bd9653b: function(e, t) {
3046
- e.topology = Oe[t];
3374
+ e.topology = We[t];
3047
3375
  },
3048
3376
  __wbg_set_type_43e0092f16775979: function(e, t) {
3049
3377
  e.type = Me[t];
@@ -3052,7 +3380,7 @@ function me() {
3052
3380
  e.type = Ge[t];
3053
3381
  },
3054
3382
  __wbg_set_type_7f7e54057b801caa: function(e, t) {
3055
- e.type = We[t];
3383
+ e.type = Oe[t];
3056
3384
  },
3057
3385
  __wbg_set_unclipped_depth_32b7caf29fa5633d: function(e, t) {
3058
3386
  e.unclippedDepth = t !== 0;
@@ -3146,14 +3474,14 @@ function me() {
3146
3474
  e.unmap();
3147
3475
  },
3148
3476
  __wbg_webrenderer_new: function(e) {
3149
- return T.__wrap(e);
3477
+ return D.__wrap(e);
3150
3478
  },
3151
3479
  __wbg_width_b5e609025d3f7451: function(e) {
3152
3480
  return e.width;
3153
3481
  },
3154
3482
  __wbg_writeBuffer_f4bb3f54adfe1330: function() {
3155
- return d(function(e, t, n, a, _, i, s) {
3156
- e.writeBuffer(t, n, N(a, _), i, s);
3483
+ return d(function(e, t, n, a, i, o, _) {
3484
+ e.writeBuffer(t, n, N(a, i), o, _);
3157
3485
  }, arguments);
3158
3486
  },
3159
3487
  __wbindgen_generic_0000000000000001: function(e, t) {
@@ -3184,51 +3512,51 @@ function me() {
3184
3512
  return c(e, t);
3185
3513
  },
3186
3514
  __wbindgen_init_externref_table: function() {
3187
- const e = o.__wbindgen_externrefs, t = e.grow(4);
3515
+ const e = s.__wbindgen_externrefs, t = e.grow(4);
3188
3516
  e.set(0, void 0), e.set(t + 0, void 0), e.set(t + 1, null), e.set(t + 2, !0), e.set(t + 3, !1);
3189
3517
  }
3190
3518
  }
3191
3519
  };
3192
3520
  }
3193
3521
  function we(r, e, t) {
3194
- o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuDeviceLostInfo__GpuDeviceLostInfo______true_(r, e, t);
3522
+ s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuDeviceLostInfo__GpuDeviceLostInfo______true_(r, e, t);
3195
3523
  }
3196
3524
  function Se(r, e, t) {
3197
- const n = o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true_(r, e, t);
3525
+ const n = s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true_(r, e, t);
3198
3526
  if (n[1])
3199
3527
  throw h(n[0]);
3200
3528
  }
3201
3529
  function ye(r, e, t) {
3202
- const n = o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___sys__JsNullable_wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true_(r, e, t);
3530
+ const n = s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___sys__JsNullable_wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true_(r, e, t);
3203
3531
  if (n[1])
3204
3532
  throw h(n[0]);
3205
3533
  }
3206
3534
  function xe(r, e, t) {
3207
- const n = o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___sys__JsNullable_wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true__21(r, e, t);
3535
+ const n = s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___sys__JsNullable_wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true__21(r, e, t);
3208
3536
  if (n[1])
3209
3537
  throw h(n[0]);
3210
3538
  }
3211
3539
  function Re(r, e, t) {
3212
- const n = o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___sys__JsNullable_wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true__22(r, e, t);
3540
+ const n = s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___wasm_bindgen_b886f896fd34b232___sys__JsNullable_wgpu_80aa378a978bbb48___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_ed718c3d60ebd546___result__Result_____wasm_bindgen_b886f896fd34b232___JsError___true__22(r, e, t);
3213
3541
  if (n[1])
3214
3542
  throw h(n[0]);
3215
3543
  }
3216
3544
  function Be(r, e, t, n) {
3217
- o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___js_sys_7d3929aa405b9504___Function_fn_wasm_bindgen_b886f896fd34b232___JsValue_____wasm_bindgen_b886f896fd34b232___sys__Undefined___js_sys_7d3929aa405b9504___Function_fn_wasm_bindgen_b886f896fd34b232___JsValue_____wasm_bindgen_b886f896fd34b232___sys__Undefined_______true_(r, e, t, n);
3545
+ s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___js_sys_7d3929aa405b9504___Function_fn_wasm_bindgen_b886f896fd34b232___JsValue_____wasm_bindgen_b886f896fd34b232___sys__Undefined___js_sys_7d3929aa405b9504___Function_fn_wasm_bindgen_b886f896fd34b232___JsValue_____wasm_bindgen_b886f896fd34b232___sys__Undefined_______true_(r, e, t, n);
3218
3546
  }
3219
3547
  function ke(r, e, t) {
3220
- o.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___f64______true_(r, e, t);
3548
+ s.wasm_bindgen_b886f896fd34b232___convert__closures_____invoke___f64______true_(r, e, t);
3221
3549
  }
3222
- const O = ["clamp-to-edge", "repeat", "mirror-repeat"], X = ["auto"], Y = ["zero", "one", "src", "one-minus-src", "src-alpha", "one-minus-src-alpha", "dst", "one-minus-dst", "dst-alpha", "one-minus-dst-alpha", "src-alpha-saturated", "constant", "one-minus-constant", "src1", "one-minus-src1", "src1-alpha", "one-minus-src1-alpha"], ve = ["add", "subtract", "reverse-subtract", "min", "max"], Ge = ["uniform", "storage", "read-only-storage"], Le = ["opaque", "premultiplied"], Te = ["standard", "extended"], W = ["never", "less", "equal", "less-equal", "greater", "not-equal", "greater-equal", "always"], Ce = ["none", "front", "back"], Pe = ["unknown", "destroyed"], De = ["validation", "out-of-memory", "internal"], Z = ["nearest", "linear"], Ae = ["ccw", "cw"], K = ["uint16", "uint32"], M = ["load", "clear"], Fe = ["nearest", "linear"], Ee = ["low-power", "high-performance"], Oe = ["point-list", "line-list", "line-strip", "triangle-list", "triangle-strip"], We = ["occlusion", "timestamp"], Me = ["filtering", "non-filtering", "comparison"], I = ["keep", "zero", "replace", "invert", "increment-clamp", "decrement-clamp", "increment-wrap", "decrement-wrap"], Ie = ["write-only", "read-only", "read-write"], V = ["store", "discard"], Ve = ["all", "stencil-only", "depth-only"], ze = ["1d", "2d", "3d"], k = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16unorm", "r16snorm", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16unorm", "rg16snorm", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16unorm", "rgba16snorm", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"], Ne = ["float", "unfilterable-float", "depth", "sint", "uint"], z = ["1d", "2d", "2d-array", "cube", "cube-array", "3d"], Ue = ["uint8", "uint8x2", "uint8x4", "sint8", "sint8x2", "sint8x4", "unorm8", "unorm8x2", "unorm8x4", "snorm8", "snorm8x2", "snorm8x4", "uint16", "uint16x2", "uint16x4", "sint16", "sint16x2", "sint16x4", "unorm16", "unorm16x2", "unorm16x4", "snorm16", "snorm16x2", "snorm16x4", "float16", "float16x2", "float16x4", "float32", "float32x2", "float32x3", "float32x4", "uint32", "uint32x2", "uint32x3", "uint32x4", "sint32", "sint32x2", "sint32x3", "sint32x4", "unorm10-10-10-2", "unorm8x4-bgra"], qe = ["vertex", "instance"], ee = typeof FinalizationRegistry > "u" ? { register: () => {
3550
+ const W = ["clamp-to-edge", "repeat", "mirror-repeat"], X = ["auto"], Y = ["zero", "one", "src", "one-minus-src", "src-alpha", "one-minus-src-alpha", "dst", "one-minus-dst", "dst-alpha", "one-minus-dst-alpha", "src-alpha-saturated", "constant", "one-minus-constant", "src1", "one-minus-src1", "src1-alpha", "one-minus-src1-alpha"], ve = ["add", "subtract", "reverse-subtract", "min", "max"], Ge = ["uniform", "storage", "read-only-storage"], Le = ["opaque", "premultiplied"], De = ["standard", "extended"], O = ["never", "less", "equal", "less-equal", "greater", "not-equal", "greater-equal", "always"], Pe = ["none", "front", "back"], Ce = ["unknown", "destroyed"], Te = ["validation", "out-of-memory", "internal"], Z = ["nearest", "linear"], Fe = ["ccw", "cw"], K = ["uint16", "uint32"], M = ["load", "clear"], Ae = ["nearest", "linear"], Ee = ["low-power", "high-performance"], We = ["point-list", "line-list", "line-strip", "triangle-list", "triangle-strip"], Oe = ["occlusion", "timestamp"], Me = ["filtering", "non-filtering", "comparison"], I = ["keep", "zero", "replace", "invert", "increment-clamp", "decrement-clamp", "increment-wrap", "decrement-wrap"], Ie = ["write-only", "read-only", "read-write"], V = ["store", "discard"], Ve = ["all", "stencil-only", "depth-only"], ze = ["1d", "2d", "3d"], k = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16unorm", "r16snorm", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16unorm", "rg16snorm", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16unorm", "rgba16snorm", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"], Ne = ["float", "unfilterable-float", "depth", "sint", "uint"], z = ["1d", "2d", "2d-array", "cube", "cube-array", "3d"], Ue = ["uint8", "uint8x2", "uint8x4", "sint8", "sint8x2", "sint8x4", "unorm8", "unorm8x2", "unorm8x4", "snorm8", "snorm8x2", "snorm8x4", "uint16", "uint16x2", "uint16x4", "sint16", "sint16x2", "sint16x4", "unorm16", "unorm16x2", "unorm16x4", "snorm16", "snorm16x2", "snorm16x4", "float16", "float16x2", "float16x4", "float32", "float32x2", "float32x3", "float32x4", "uint32", "uint32x2", "uint32x3", "uint32x4", "sint32", "sint32x2", "sint32x3", "sint32x4", "unorm10-10-10-2", "unorm8x4-bgra"], qe = ["vertex", "instance"], ee = typeof FinalizationRegistry > "u" ? { register: () => {
3223
3551
  }, unregister: () => {
3224
- } } : new FinalizationRegistry((r) => o.__wbg_webrenderer_free(r, 1));
3552
+ } } : new FinalizationRegistry((r) => s.__wbg_webrenderer_free(r, 1));
3225
3553
  function R(r) {
3226
- const e = o.__externref_table_alloc();
3227
- return o.__wbindgen_externrefs.set(e, r), e;
3554
+ const e = s.__externref_table_alloc();
3555
+ return s.__wbindgen_externrefs.set(e, r), e;
3228
3556
  }
3229
3557
  const te = typeof FinalizationRegistry > "u" ? { register: () => {
3230
3558
  }, unregister: () => {
3231
- } } : new FinalizationRegistry((r) => o.__wbindgen_destroy_closure(r.a, r.b));
3559
+ } } : new FinalizationRegistry((r) => s.__wbindgen_destroy_closure(r.a, r.b));
3232
3560
  function q(r) {
3233
3561
  const e = typeof r;
3234
3562
  if (e == "number" || e == "boolean" || r == null)
@@ -3245,11 +3573,11 @@ function q(r) {
3245
3573
  }
3246
3574
  if (Array.isArray(r)) {
3247
3575
  const a = r.length;
3248
- let _ = "[";
3249
- a > 0 && (_ += q(r[0]));
3250
- for (let i = 1; i < a; i++)
3251
- _ += ", " + q(r[i]);
3252
- return _ += "]", _;
3576
+ let i = "[";
3577
+ a > 0 && (i += q(r[0]));
3578
+ for (let o = 1; o < a; o++)
3579
+ i += ", " + q(r[o]);
3580
+ return i += "]", i;
3253
3581
  }
3254
3582
  const t = /\[object ([^\]]+)\]/.exec(toString.call(r));
3255
3583
  let n;
@@ -3270,98 +3598,98 @@ function w(r, e) {
3270
3598
  r = r >>> 0;
3271
3599
  const t = p(), n = [];
3272
3600
  for (let a = r; a < r + 4 * e; a += 4)
3273
- n.push(o.__wbindgen_externrefs.get(t.getUint32(a, !0)));
3601
+ n.push(s.__wbindgen_externrefs.get(t.getUint32(a, !0)));
3274
3602
  return n;
3275
3603
  }
3276
3604
  function ne(r, e) {
3277
3605
  return r = r >>> 0, Je().subarray(r / 4, r / 4 + e);
3278
3606
  }
3279
3607
  function N(r, e) {
3280
- return r = r >>> 0, D().subarray(r / 1, r / 1 + e);
3608
+ return r = r >>> 0, T().subarray(r / 1, r / 1 + e);
3281
3609
  }
3282
3610
  let v = null;
3283
3611
  function p() {
3284
- return (v === null || v.buffer.detached === !0 || v.buffer.detached === void 0 && v.buffer !== o.memory.buffer) && (v = new DataView(o.memory.buffer)), v;
3612
+ return (v === null || v.buffer.detached === !0 || v.buffer.detached === void 0 && v.buffer !== s.memory.buffer) && (v = new DataView(s.memory.buffer)), v;
3285
3613
  }
3286
3614
  function c(r, e) {
3287
3615
  return je(r >>> 0, e);
3288
3616
  }
3289
- let C = null;
3617
+ let P = null;
3290
3618
  function Je() {
3291
- return (C === null || C.byteLength === 0) && (C = new Uint32Array(o.memory.buffer)), C;
3619
+ return (P === null || P.byteLength === 0) && (P = new Uint32Array(s.memory.buffer)), P;
3292
3620
  }
3293
- let P = null;
3294
- function D() {
3295
- return (P === null || P.byteLength === 0) && (P = new Uint8Array(o.memory.buffer)), P;
3621
+ let C = null;
3622
+ function T() {
3623
+ return (C === null || C.byteLength === 0) && (C = new Uint8Array(s.memory.buffer)), C;
3296
3624
  }
3297
3625
  function d(r, e) {
3298
3626
  try {
3299
3627
  return r.apply(this, e);
3300
3628
  } catch (t) {
3301
3629
  const n = R(t);
3302
- o.__wbindgen_exn_store(n);
3630
+ s.__wbindgen_exn_store(n);
3303
3631
  }
3304
3632
  }
3305
3633
  function x(r) {
3306
3634
  return r == null;
3307
3635
  }
3308
3636
  function L(r, e, t) {
3309
- const n = { a: r, b: e, cnt: 1 }, a = (..._) => {
3637
+ const n = { a: r, b: e, cnt: 1 }, a = (...i) => {
3310
3638
  n.cnt++;
3311
- const i = n.a;
3639
+ const o = n.a;
3312
3640
  n.a = 0;
3313
3641
  try {
3314
- return t(i, n.b, ..._);
3642
+ return t(o, n.b, ...i);
3315
3643
  } finally {
3316
- n.a = i, a._wbg_cb_unref();
3644
+ n.a = o, a._wbg_cb_unref();
3317
3645
  }
3318
3646
  };
3319
3647
  return a._wbg_cb_unref = () => {
3320
- --n.cnt === 0 && (o.__wbindgen_destroy_closure(n.a, n.b), n.a = 0, te.unregister(n));
3648
+ --n.cnt === 0 && (s.__wbindgen_destroy_closure(n.a, n.b), n.a = 0, te.unregister(n));
3321
3649
  }, te.register(a, n, n), a;
3322
3650
  }
3323
3651
  function S(r, e, t) {
3324
3652
  if (t === void 0) {
3325
- const s = A.encode(r), u = e(s.length, 1) >>> 0;
3326
- return D().subarray(u, u + s.length).set(s), m = s.length, u;
3653
+ const _ = F.encode(r), l = e(_.length, 1) >>> 0;
3654
+ return T().subarray(l, l + _.length).set(_), m = _.length, l;
3327
3655
  }
3328
3656
  let n = r.length, a = e(n, 1) >>> 0;
3329
- const _ = D();
3330
- let i = 0;
3331
- for (; i < n; i++) {
3332
- const s = r.charCodeAt(i);
3333
- if (s > 127) break;
3334
- _[a + i] = s;
3657
+ const i = T();
3658
+ let o = 0;
3659
+ for (; o < n; o++) {
3660
+ const _ = r.charCodeAt(o);
3661
+ if (_ > 127) break;
3662
+ i[a + o] = _;
3335
3663
  }
3336
- if (i !== n) {
3337
- i !== 0 && (r = r.slice(i)), a = t(a, n, n = i + r.length * 3, 1) >>> 0;
3338
- const s = D().subarray(a + i, a + n), u = A.encodeInto(r, s);
3339
- i += u.written, a = t(a, n, i, 1) >>> 0;
3664
+ if (o !== n) {
3665
+ o !== 0 && (r = r.slice(o)), a = t(a, n, n = o + r.length * 3, 1) >>> 0;
3666
+ const _ = T().subarray(a + o, a + n), l = F.encodeInto(r, _);
3667
+ o += l.written, a = t(a, n, o, 1) >>> 0;
3340
3668
  }
3341
- return m = i, a;
3669
+ return m = o, a;
3342
3670
  }
3343
3671
  function h(r) {
3344
- const e = o.__wbindgen_externrefs.get(r);
3345
- return o.__externref_table_dealloc(r), e;
3672
+ const e = s.__wbindgen_externrefs.get(r);
3673
+ return s.__externref_table_dealloc(r), e;
3346
3674
  }
3347
3675
  let E = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 });
3348
3676
  E.decode();
3349
3677
  const He = 2146435072;
3350
3678
  let U = 0;
3351
3679
  function je(r, e) {
3352
- return U += e, U >= He && (E = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }), E.decode(), U = e), E.decode(D().subarray(r, r + e));
3680
+ return U += e, U >= He && (E = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }), E.decode(), U = e), E.decode(T().subarray(r, r + e));
3353
3681
  }
3354
- const A = new TextEncoder();
3355
- "encodeInto" in A || (A.encodeInto = function(r, e) {
3356
- const t = A.encode(r);
3682
+ const F = new TextEncoder();
3683
+ "encodeInto" in F || (F.encodeInto = function(r, e) {
3684
+ const t = F.encode(r);
3357
3685
  return e.set(t), {
3358
3686
  read: r.length,
3359
3687
  written: t.length
3360
3688
  };
3361
3689
  });
3362
- let m = 0, o;
3690
+ let m = 0, s;
3363
3691
  function $e(r, e) {
3364
- return o = r.exports, v = null, C = null, P = null, o.__wbindgen_start(), o;
3692
+ return s = r.exports, v = null, P = null, C = null, s.__wbindgen_start(), s;
3365
3693
  }
3366
3694
  async function Qe(r, e) {
3367
3695
  if (typeof Response == "function" && r instanceof Response) {
@@ -3393,7 +3721,7 @@ async function Qe(r, e) {
3393
3721
  }
3394
3722
  }
3395
3723
  async function Xe(r) {
3396
- if (o !== void 0) return o;
3724
+ if (s !== void 0) return s;
3397
3725
  r !== void 0 && (Object.getPrototypeOf(r) === Object.prototype ? { module_or_path: r } = r : console.warn("using deprecated parameters for the initialization function; pass a single object instead"));
3398
3726
  const e = me();
3399
3727
  (typeof r == "string" || typeof Request == "function" && r instanceof Request || typeof URL == "function" && r instanceof URL) && (r = fetch(r));
@@ -3409,29 +3737,29 @@ async function ct(r) {
3409
3737
  ae ?? (ae = Xe({ module_or_path: new URL("./telperion-render.wasm", import.meta.url) }).then(() => {
3410
3738
  })), await ae;
3411
3739
  const e = () => {
3412
- const _ = Math.min(window.devicePixelRatio, Ye);
3413
- r.width = Math.max(1, Math.round((r.clientWidth || 1) * _)), r.height = Math.max(1, Math.round((r.clientHeight || 1) * _));
3740
+ const i = Math.min(window.devicePixelRatio, Ye);
3741
+ r.width = Math.max(1, Math.round((r.clientWidth || 1) * i)), r.height = Math.max(1, Math.round((r.clientHeight || 1) * i));
3414
3742
  };
3415
3743
  e();
3416
- const t = await T.create(r);
3744
+ const t = await D.create(r);
3417
3745
  re(1);
3418
3746
  let n = !1;
3419
3747
  const a = new ResizeObserver(() => {
3420
3748
  n || (e(), t.resize(r.width, r.height));
3421
3749
  });
3422
3750
  return a.observe(r), {
3423
- setTree: (_) => JSON.parse(t.setTree(_)),
3424
- setTreeGpu: async (_) => {
3751
+ setTree: (i) => JSON.parse(t.setTree(i)),
3752
+ setTreeGpu: async (i) => {
3425
3753
  if (n) throw new Error("the renderer is disposed");
3426
- return JSON.parse(await t.setTreeGpu(_));
3754
+ return JSON.parse(await t.setTreeGpu(i));
3427
3755
  },
3428
- buildSpecimen: (_, i) => JSON.parse(t.buildSpecimen(_, i)),
3429
- seekSpecimen: (_) => JSON.parse(t.seekSpecimen(_)),
3430
- setView: (_) => t.setView(_),
3756
+ buildSpecimen: (i, o) => JSON.parse(t.buildSpecimen(i, o)),
3757
+ seekSpecimen: (i) => JSON.parse(t.seekSpecimen(i)),
3758
+ setView: (i) => t.setView(i),
3431
3759
  scene: () => JSON.parse(t.scene()),
3432
- setScene: (_) => t.setScene(JSON.stringify(_)),
3760
+ setScene: (i) => t.setScene(JSON.stringify(i)),
3433
3761
  hero: () => JSON.parse(t.heroCamera()),
3434
- setCamera: ({ position: _, target: i }) => t.setCamera(_[0], _[1], _[2], i[0], i[1], i[2]),
3762
+ setCamera: ({ position: i, target: o }) => t.setCamera(i[0], i[1], i[2], o[0], o[1], o[2]),
3435
3763
  frame: () => t.frame(),
3436
3764
  stats: () => JSON.parse(t.stats()),
3437
3765
  timing: async () => JSON.parse(await t.timing()),
@@ -3447,17 +3775,17 @@ export {
3447
3775
  nt as NORWAY_SPRUCE,
3448
3776
  et as ORDINARY,
3449
3777
  tt as OREGON_WHITE_OAK,
3450
- _t as PRESETS,
3778
+ it as PRESETS,
3451
3779
  rt as SILVER_BIRCH,
3452
3780
  fe as TELPERION,
3453
3781
  at as TWO_TREES,
3454
3782
  J as TreeEngine,
3455
3783
  ct as createRenderer,
3456
- it as initializeTreeCore,
3457
- be as leafPosition,
3784
+ ot as initializeTreeCore,
3785
+ ge as leafPosition,
3458
3786
  he as leafRotation,
3459
- ge as leafScale,
3460
- st as leafTransform,
3461
- ot as leafWords,
3787
+ be as leafScale,
3788
+ _t as leafTransform,
3789
+ st as leafWords,
3462
3790
  G as presetById
3463
3791
  };