@rezless/vm 0.6.2 → 0.7.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.
Files changed (104) hide show
  1. package/dist/builtins/base64.d.ts +5 -2
  2. package/dist/builtins/base64.d.ts.map +1 -1
  3. package/dist/builtins/base64.js +7 -5
  4. package/dist/builtins/base64.js.map +1 -1
  5. package/dist/builtins/detected.d.ts.map +1 -1
  6. package/dist/builtins/detected.js +1 -1
  7. package/dist/builtins/detected.js.map +1 -1
  8. package/dist/builtins/hash.d.ts +1 -0
  9. package/dist/builtins/hash.d.ts.map +1 -1
  10. package/dist/builtins/hash.js +12 -2
  11. package/dist/builtins/hash.js.map +1 -1
  12. package/dist/builtins/index.d.ts.map +1 -1
  13. package/dist/builtins/index.js +18 -7
  14. package/dist/builtins/index.js.map +1 -1
  15. package/dist/builtins/inventory.d.ts +7 -5
  16. package/dist/builtins/inventory.d.ts.map +1 -1
  17. package/dist/builtins/inventory.js +36 -14
  18. package/dist/builtins/inventory.js.map +1 -1
  19. package/dist/builtins/json.d.ts.map +1 -1
  20. package/dist/builtins/json.js +45 -34
  21. package/dist/builtins/json.js.map +1 -1
  22. package/dist/builtins/link-info.js +2 -2
  23. package/dist/builtins/link-info.js.map +1 -1
  24. package/dist/builtins/linksetdata.d.ts.map +1 -1
  25. package/dist/builtins/linksetdata.js +6 -9
  26. package/dist/builtins/linksetdata.js.map +1 -1
  27. package/dist/builtins/lists.d.ts +15 -0
  28. package/dist/builtins/lists.d.ts.map +1 -1
  29. package/dist/builtins/lists.js +118 -11
  30. package/dist/builtins/lists.js.map +1 -1
  31. package/dist/builtins/math.d.ts +2 -0
  32. package/dist/builtins/math.d.ts.map +1 -1
  33. package/dist/builtins/math.js +30 -5
  34. package/dist/builtins/math.js.map +1 -1
  35. package/dist/builtins/object.d.ts +5 -2
  36. package/dist/builtins/object.d.ts.map +1 -1
  37. package/dist/builtins/object.js +13 -5
  38. package/dist/builtins/object.js.map +1 -1
  39. package/dist/builtins/prim-accessors.d.ts +1 -0
  40. package/dist/builtins/prim-accessors.d.ts.map +1 -1
  41. package/dist/builtins/prim-accessors.js +51 -24
  42. package/dist/builtins/prim-accessors.js.map +1 -1
  43. package/dist/builtins/prim-params.d.ts.map +1 -1
  44. package/dist/builtins/prim-params.js +6 -2
  45. package/dist/builtins/prim-params.js.map +1 -1
  46. package/dist/builtins/script-control.d.ts +4 -3
  47. package/dist/builtins/script-control.d.ts.map +1 -1
  48. package/dist/builtins/script-control.js +22 -8
  49. package/dist/builtins/script-control.js.map +1 -1
  50. package/dist/builtins/strings.d.ts +6 -0
  51. package/dist/builtins/strings.d.ts.map +1 -1
  52. package/dist/builtins/strings.js +47 -6
  53. package/dist/builtins/strings.js.map +1 -1
  54. package/dist/builtins/time.d.ts +3 -5
  55. package/dist/builtins/time.d.ts.map +1 -1
  56. package/dist/builtins/time.js +4 -7
  57. package/dist/builtins/time.js.map +1 -1
  58. package/dist/clock.d.ts +16 -6
  59. package/dist/clock.d.ts.map +1 -1
  60. package/dist/clock.js +38 -11
  61. package/dist/clock.js.map +1 -1
  62. package/dist/dispatch.d.ts +3 -2
  63. package/dist/dispatch.d.ts.map +1 -1
  64. package/dist/dispatch.js +15 -10
  65. package/dist/dispatch.js.map +1 -1
  66. package/dist/interpreter.d.ts +5 -9
  67. package/dist/interpreter.d.ts.map +1 -1
  68. package/dist/interpreter.js +143 -70
  69. package/dist/interpreter.js.map +1 -1
  70. package/dist/linkset.d.ts +11 -3
  71. package/dist/linkset.d.ts.map +1 -1
  72. package/dist/linkset.js +32 -11
  73. package/dist/linkset.js.map +1 -1
  74. package/dist/memory.d.ts +5 -2
  75. package/dist/memory.d.ts.map +1 -1
  76. package/dist/memory.js +5 -2
  77. package/dist/memory.js.map +1 -1
  78. package/dist/prim-params.d.ts +27 -10
  79. package/dist/prim-params.d.ts.map +1 -1
  80. package/dist/prim-params.js +198 -122
  81. package/dist/prim-params.js.map +1 -1
  82. package/dist/prim.d.ts +1 -1
  83. package/dist/prim.d.ts.map +1 -1
  84. package/dist/prim.js +2 -2
  85. package/dist/prim.js.map +1 -1
  86. package/dist/runtime.d.ts +11 -3
  87. package/dist/runtime.d.ts.map +1 -1
  88. package/dist/script.d.ts +24 -10
  89. package/dist/script.d.ts.map +1 -1
  90. package/dist/script.js +118 -65
  91. package/dist/script.js.map +1 -1
  92. package/dist/typecheck.d.ts +3 -1
  93. package/dist/typecheck.d.ts.map +1 -1
  94. package/dist/typecheck.js +25 -5
  95. package/dist/typecheck.js.map +1 -1
  96. package/dist/values/coerce.d.ts +1 -1
  97. package/dist/values/coerce.d.ts.map +1 -1
  98. package/dist/values/coerce.js +10 -6
  99. package/dist/values/coerce.js.map +1 -1
  100. package/dist/values/format.d.ts +3 -1
  101. package/dist/values/format.d.ts.map +1 -1
  102. package/dist/values/format.js +10 -6
  103. package/dist/values/format.js.map +1 -1
  104. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  import { isVector, isRotation, ZERO_VECTOR, ZERO_ROTATION } from '../values/types.js';
2
2
  import { formatFloatExact, formatListElement } from '../values/format.js';
3
3
  import { floatToInteger, parseLslInteger } from '../values/coerce.js';
4
+ import { LIST_STAT_GEOMETRIC_MEAN, LIST_STAT_MAX, LIST_STAT_MEAN, LIST_STAT_MEDIAN, LIST_STAT_MIN, LIST_STAT_NUM_COUNT, LIST_STAT_RANGE, LIST_STAT_STD_DEV, LIST_STAT_SUM, LIST_STAT_SUM_SQUARES, } from '../generated/constants.js';
4
5
  import { concatLists, listElementType, sliceList, typedList, uniformList } from '../values/list-types.js';
5
6
  /** llGetListLength(list l) — number of elements. */
6
7
  export const llGetListLength = (_ctx, args) => {
@@ -203,19 +204,22 @@ export const llListFindList = (_ctx, args) => {
203
204
  const test = args[1] ?? [];
204
205
  if (test.length === 0)
205
206
  return 0;
206
- outer: for (let i = 0; i <= src.length - test.length; i++) {
207
- for (let j = 0; j < test.length; j++) {
208
- const ta = listElementType(src, i + j);
209
- const tb = listElementType(test, j);
210
- if (ta && tb && ta !== tb)
211
- continue outer;
212
- if (!lslElementsEqual(src[i + j], test[j]))
213
- continue outer;
214
- }
215
- return i;
216
- }
207
+ for (let i = 0; i <= src.length - test.length; i++)
208
+ if (matchesAt(src, test, i))
209
+ return i;
217
210
  return -1;
218
211
  };
212
+ function matchesAt(src, test, at) {
213
+ for (let j = 0; j < test.length; j++) {
214
+ const ta = listElementType(src, at + j);
215
+ const tb = listElementType(test, j);
216
+ if (ta && tb && ta !== tb)
217
+ return false;
218
+ if (!lslElementsEqual(src[at + j], test[j]))
219
+ return false;
220
+ }
221
+ return true;
222
+ }
219
223
  function lslElementsEqual(a, b) {
220
224
  if (a === b)
221
225
  return true;
@@ -430,4 +434,107 @@ export const llListRandomize = (ctx, args) => {
430
434
  }
431
435
  return pick(src, blocks.flatMap((b) => Array.from({ length: stride }, (_, k) => b * stride + k)));
432
436
  };
437
+ export const llListStatistics = (_ctx, args) => {
438
+ const op = args[0] ?? 0;
439
+ const src = args[1] ?? [];
440
+ const nums = src.filter((v) => typeof v === 'number');
441
+ if (nums.length === 0)
442
+ return 0;
443
+ const sum = nums.reduce((a, b) => a + b, 0);
444
+ const mean = sum / nums.length;
445
+ const sorted = [...nums].sort((a, b) => a - b);
446
+ switch (op) {
447
+ case LIST_STAT_RANGE:
448
+ return sorted[sorted.length - 1] - sorted[0];
449
+ case LIST_STAT_MIN:
450
+ return sorted[0];
451
+ case LIST_STAT_MAX:
452
+ return sorted[sorted.length - 1];
453
+ case LIST_STAT_MEAN:
454
+ return mean;
455
+ case LIST_STAT_MEDIAN: {
456
+ const mid = sorted.length >> 1;
457
+ return sorted.length % 2 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2;
458
+ }
459
+ case LIST_STAT_STD_DEV:
460
+ if (nums.length < 2)
461
+ return 0;
462
+ return Math.sqrt(nums.reduce((a, b) => a + (b - mean) ** 2, 0) / (nums.length - 1));
463
+ case LIST_STAT_SUM:
464
+ return sum;
465
+ case LIST_STAT_SUM_SQUARES:
466
+ return nums.reduce((a, b) => a + b * b, 0);
467
+ case LIST_STAT_NUM_COUNT:
468
+ return nums.length;
469
+ case LIST_STAT_GEOMETRIC_MEAN:
470
+ if (nums.some((n) => n <= 0))
471
+ return 0;
472
+ return Math.exp(nums.reduce((a, b) => a + Math.log(b), 0) / nums.length);
473
+ default:
474
+ return 0;
475
+ }
476
+ };
477
+ /**
478
+ * llListFindListNext(list src, list test, integer instance) — start index of
479
+ * the instance-th occurrence of `test` (0-based, or counted back from the end
480
+ * when negative). Each search resumes after the previous match; once a later
481
+ * search starts past the end of `src` the result is length(src).
482
+ */
483
+ export const llListFindListNext = (_ctx, args) => {
484
+ const src = args[0] ?? [];
485
+ const test = args[1] ?? [];
486
+ const instance = args[2] ?? 0;
487
+ const last = src.length - 1;
488
+ const forward = instance >= 0;
489
+ const rounds = forward ? instance + 1 : -instance;
490
+ let pos = forward ? 0 : last;
491
+ let found = -1;
492
+ for (let round = 0; round < rounds; round++) {
493
+ if (round > 0 && (forward ? pos >= src.length : pos < 0))
494
+ return src.length;
495
+ found = -1;
496
+ if (forward) {
497
+ for (let i = pos; i <= last - test.length + 1 && i < src.length; i++) {
498
+ if (matchesAt(src, test, i)) {
499
+ found = i;
500
+ break;
501
+ }
502
+ }
503
+ }
504
+ else {
505
+ for (let i = Math.min(pos, last - test.length + 1); i >= 0; i--) {
506
+ if (matchesAt(src, test, i)) {
507
+ found = i;
508
+ break;
509
+ }
510
+ }
511
+ }
512
+ if (found < 0)
513
+ return -1;
514
+ pos = forward ? found + 1 : found - 1;
515
+ }
516
+ return found;
517
+ };
518
+ /**
519
+ * llListFindStrided(list src, list test, integer start, integer end, integer stride)
520
+ * — first match of `test` beginning at start, start + stride, ... and no
521
+ * later than end. Negative start or end count from the end; a stride below 1
522
+ * acts as 1.
523
+ */
524
+ export const llListFindStrided = (_ctx, args) => {
525
+ const src = args[0] ?? [];
526
+ const test = args[1] ?? [];
527
+ let start = args[2] ?? 0;
528
+ let end = args[3] ?? -1;
529
+ const stride = Math.max(1, args[4] ?? 1);
530
+ if (start < 0)
531
+ start += src.length;
532
+ if (end < 0)
533
+ end += src.length;
534
+ for (let i = Math.max(start, 0); i <= Math.min(end, src.length - test.length); i += stride) {
535
+ if (matchesAt(src, test, i))
536
+ return i;
537
+ }
538
+ return -1;
539
+ };
433
540
  //# sourceMappingURL=lists.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/builtins/lists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/builtins/lists.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,qBAAqB,GACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEzG,oDAAoD;AACpD,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,OAAO,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,GAAW;IAC5C,IAAI,GAAG,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAC5B,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC,CAAA;IACpC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IAChB,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACd,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACtD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IAChB,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACd,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IACpB,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACd,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,WAAW,GAAqC;IACpD,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IAChB,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACnB,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACd,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,IAAI,UAAU,CAAC,CAAa,CAAC;QAAE,OAAO,CAAC,CAAA;IACvC,IAAI,QAAQ,CAAC,CAAW,CAAC;QAAE,OAAO,CAAC,CAAA;IACnC,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,WAAW,CAAA;IAC1B,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAA;IAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACd,OAAO,QAAQ,CAAC,CAAW,CAAC,CAAC,CAAC,CAAE,CAAY,CAAC,CAAC,CAAC,WAAW,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAA;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,aAAa,CAAA;IAC5B,MAAM,CAAC,GAAG,YAAY,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,aAAa,CAAA;IAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACd,OAAO,UAAU,CAAC,CAAa,CAAC,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,aAAa,CAAA;AACpE,CAAC,CAAA;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC/D,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAClD,IAAI,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAC9C,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAA;IACjC,IAAI,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACnH,OAAO,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;AACvC,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAClD,IAAI,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAC9C,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAA;IACjC,IAAI,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;IACnF,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC1D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,IAAI,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAC9C,IAAI,GAAG,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAChD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACtE,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,IAAI,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAChE,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;IACtB,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAClD,IAAI,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAC9C,kEAAkE;IAClE,IAAI,KAAK,GAAG,CAAC,GAAG;QAAE,GAAG,GAAG,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACnD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,GAAG,IAAI,GAAG,CAAA;IAC1B,IAAI,SAAS;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;IACtE,OAAO,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IACzF,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,SAAS,SAAS,CAAC,GAA4B,EAAE,IAA6B,EAAE,EAAU;IACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;QACvC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACnC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,KAAK,CAAA;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC3D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAuB,EAAE,CAAuB;IACxE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACnE,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACpD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACpD,MAAM,CAAC,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAC/C,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3B,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,WAAW,GAAG,IAAI,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAA;aACjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,EAAE,CAAA;aACnC,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW;YAAE,KAAK,EAAE,CAAA;QAC1C,WAAW,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACxB,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEvF,4HAA4H;AAC5H,MAAM,CAAC,MAAM,sBAAsB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAA6B,EAAE,SAAkB;IACpE,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IACjD,MAAM,IAAI,GAAG,UAAU,CAAE,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAG,UAAU,CAAE,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAC,CAAA;IAClF,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxF,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAA;QAC7B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,MAAM,IAAI,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzC,MAAM,GAAG,EAAE,CAAA;YACX,IAAI,MAAM,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1C,CAAC,IAAI,OAAO,CAAC,MAAM,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,IAAI,MAAM,IAAI,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,IAA6B;IAC/C,OAAO,IAAI;SACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;AAC3G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACpD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAG,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;IACtB,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAClC,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC;YAAA,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CACjE;YAAA,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAA;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,iEAAiE;AACjE,SAAS,UAAU,CAAC,CAAW,EAAE,EAAuB,EAAE,CAAW,EAAE,EAAuB;IAC5F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACpE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IACtF,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChH,OAAO,KAAK,CAAA;AACd,CAAC;AAED,kEAAkE;AAClE,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC/B,SAAS,CAAC;QACR,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;QACpB,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI;YAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAA;QAC7D,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,MAAM,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACrD,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;IACzC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACnC,MAAM,QAAQ,GAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,SAAS,IAAI,CAAC,GAA4B,EAAE,OAAiB;IAC3D,OAAO,SAAS,CACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAC5C,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAClD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAA;IAC3E,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACtE,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC1D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAClD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAChD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACnD,IAAI,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAChD,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,IAAI,MAAM,CAAA;IAC9B,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,MAAM;QAAE,OAAO,EAAE,CAAA;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAG,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,CAAA;IAChE,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACvE,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CACxC;QAAA,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACnG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC1D,MAAM,EAAE,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QAChD,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,CAAC,CAAE,CAAA;QACnB,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;QACnC,KAAK,cAAc;YACjB,OAAO,IAAI,CAAA;QACb,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YAC9B,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAE,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,CAAA;QACjF,CAAC;QACD,KAAK,iBAAiB;YACpB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QACrF,KAAK,aAAa;YAChB,OAAO,GAAG,CAAA;QACZ,KAAK,qBAAqB;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5C,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,KAAK,wBAAwB;YAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAA;YACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1E;YACE,OAAO,CAAC,CAAA;IACZ,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACnE,MAAM,QAAQ,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3B,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACjD,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,MAAM,CAAA;QAC3E,KAAK,GAAG,CAAC,CAAC,CAAA;QACV,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrE,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC5B,KAAK,GAAG,CAAC,CAAA;oBACT,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC5B,KAAK,GAAG,CAAC,CAAA;oBACT,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,CAAA;QACxB,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IAClE,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAyC,IAAI,EAAE,CAAA;IACnE,IAAI,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAChD,IAAI,GAAG,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAG,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,CAAA;IAChE,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,IAAI,GAAG,CAAC,MAAM,CAAA;IAClC,IAAI,GAAG,GAAG,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QAC3F,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA"}
@@ -52,4 +52,6 @@ export declare const llAxisAngle2Rot: BuiltinImpl;
52
52
  * Zero vectors and equal directions give ZERO_ROTATION.
53
53
  */
54
54
  export declare const llRotBetween: BuiltinImpl;
55
+ /** llModPow(base, exponent, modulus) — operands are read as unsigned 32-bit. */
56
+ export declare const llModPow: BuiltinImpl;
55
57
  //# sourceMappingURL=math.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/builtins/math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,qDAAqD;AACrD,eAAO,MAAM,KAAK,EAAE,WAEnB,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,MAAM,EAAE,WAEpB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,WACwC,CAAA;AAE9D,eAAO,MAAM,MAAM,EAAE,WACgC,CAAA;AACrD,eAAO,MAAM,OAAO,EAAE,WACgC,CAAA;AAEtD,eAAO,MAAM,KAAK,EAAE,WAC0C,CAAA;AAC9D,eAAO,MAAM,MAAM,EAAE,WAAiE,CAAA;AACtF,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,MAAM,EAAE,WAAiE,CAAA;AACtF,eAAO,MAAM,MAAM,EAAE,WAAiE,CAAA;AACtF,eAAO,MAAM,OAAO,EAAE,WAC0C,CAAA;AAChE,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,OAAO,EAAE,WAAkE,CAAA;AAExF,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,WAGrB,CAAA;AAID,eAAO,MAAM,QAAQ,EAAE,WAKtB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,WAQvB,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WAiBzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAwBzB,CAAA;AAgBD,mEAAmE;AACnE,eAAO,MAAM,SAAS,EAAE,WAAqF,CAAA;AAE7G,oEAAoE;AACpE,eAAO,MAAM,UAAU,EAAE,WAAqF,CAAA;AAE9G,kEAAkE;AAClE,eAAO,MAAM,QAAQ,EAAE,WAAqF,CAAA;AAO5G,uFAAuF;AACvF,eAAO,MAAM,UAAU,EAAE,WAKxB,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAA;AAED,2GAA2G;AAC3G,eAAO,MAAM,eAAe,EAAE,WAO7B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAA"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/builtins/math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,qDAAqD;AACrD,eAAO,MAAM,KAAK,EAAE,WAEnB,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,MAAM,EAAE,WAEpB,CAAA;AAMD,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,WACgD,CAAA;AAEtE,eAAO,MAAM,MAAM,EAAE,WACwC,CAAA;AAC7D,eAAO,MAAM,OAAO,EAAE,WACwC,CAAA;AAE9D,eAAO,MAAM,KAAK,EAAE,WAC0C,CAAA;AAC9D,eAAO,MAAM,MAAM,EAAE,WAAiE,CAAA;AACtF,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,KAAK,EAAE,WAAgE,CAAA;AACpF,eAAO,MAAM,MAAM,EAAE,WAAiE,CAAA;AACtF,eAAO,MAAM,MAAM,EAAE,WAAiE,CAAA;AACtF,eAAO,MAAM,OAAO,EAAE,WAC0C,CAAA;AAChE,eAAO,MAAM,KAAK,EAAE,WAGnB,CAAA;AACD,eAAO,MAAM,OAAO,EAAE,WAGrB,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,WAGrB,CAAA;AAID,eAAO,MAAM,QAAQ,EAAE,WAKtB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,WAQvB,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WAiBzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAwBzB,CAAA;AAgBD,mEAAmE;AACnE,eAAO,MAAM,SAAS,EAAE,WAAqF,CAAA;AAE7G,oEAAoE;AACpE,eAAO,MAAM,UAAU,EAAE,WAAqF,CAAA;AAE9G,kEAAkE;AAClE,eAAO,MAAM,QAAQ,EAAE,WAAqF,CAAA;AAO5G,uFAAuF;AACvF,eAAO,MAAM,UAAU,EAAE,WAKxB,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAA;AAED,2GAA2G;AAC3G,eAAO,MAAM,eAAe,EAAE,WAO7B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,QAAQ,EAAE,WAatB,CAAA"}
@@ -8,10 +8,12 @@ export const llAbs = (_ctx, args) => {
8
8
  export const llFabs = (_ctx, args) => {
9
9
  return Math.abs(args[0] ?? 0);
10
10
  };
11
+ /** Second Life gives -2147483648 for a rounded result outside int32, NaN and infinity. */
12
+ const toIntOrMin = (n) => n >= -2147483648 && n <= 2147483647 ? n | 0 : -2147483648;
11
13
  /** llRound(float val) — floor(val + 0.5), so halves round up. */
12
- export const llRound = (_ctx, args) => Math.floor((args[0] ?? 0) + 0.5) | 0;
13
- export const llCeil = (_ctx, args) => Math.ceil(args[0] ?? 0) | 0;
14
- export const llFloor = (_ctx, args) => Math.floor(args[0] ?? 0) | 0;
14
+ export const llRound = (_ctx, args) => toIntOrMin(Math.floor((args[0] ?? 0) + 0.5));
15
+ export const llCeil = (_ctx, args) => toIntOrMin(Math.ceil(args[0] ?? 0));
16
+ export const llFloor = (_ctx, args) => toIntOrMin(Math.floor(args[0] ?? 0));
15
17
  export const llPow = (_ctx, args) => Math.pow(args[0] ?? 0, args[1] ?? 0);
16
18
  export const llSqrt = (_ctx, args) => Math.sqrt(args[0] ?? 0);
17
19
  export const llSin = (_ctx, args) => Math.sin(args[0] ?? 0);
@@ -20,8 +22,14 @@ export const llTan = (_ctx, args) => Math.tan(args[0] ?? 0);
20
22
  export const llAsin = (_ctx, args) => Math.asin(args[0] ?? 0);
21
23
  export const llAcos = (_ctx, args) => Math.acos(args[0] ?? 0);
22
24
  export const llAtan2 = (_ctx, args) => Math.atan2(args[0] ?? 0, args[1] ?? 0);
23
- export const llLog = (_ctx, args) => Math.log(args[0] ?? 0);
24
- export const llLog10 = (_ctx, args) => Math.log10(args[0] ?? 0);
25
+ export const llLog = (_ctx, args) => {
26
+ const x = args[0] ?? 0;
27
+ return x <= 0 ? 0 : Math.log(x);
28
+ };
29
+ export const llLog10 = (_ctx, args) => {
30
+ const x = args[0] ?? 0;
31
+ return x <= 0 ? 0 : Math.log10(x);
32
+ };
25
33
  /** llFrand(float mag) — seeded uniform [0, mag). Negative mag → [mag, 0). */
26
34
  export const llFrand = (ctx, args) => {
27
35
  const mag = args[0] ?? 0;
@@ -179,4 +187,21 @@ export const llRotBetween = (_ctx, args) => {
179
187
  const m = Math.hypot(u.x, u.y, u.z);
180
188
  return rot(u.x / m, u.y / m, u.z / m, 0);
181
189
  };
190
+ /** llModPow(base, exponent, modulus) — operands are read as unsigned 32-bit. */
191
+ export const llModPow = (_ctx, args) => {
192
+ const u = (i) => BigInt((args[i] ?? 0) >>> 0);
193
+ const m = u(2);
194
+ if (m === 0n || u(0) === 0n)
195
+ return 0;
196
+ let result = 1n % m;
197
+ let base = u(0) % m;
198
+ let exp = u(1);
199
+ while (exp > 0n) {
200
+ if (exp & 1n)
201
+ result = (result * base) % m;
202
+ base = (base * base) % m;
203
+ exp >>= 1n;
204
+ }
205
+ return Number(result) | 0;
206
+ };
182
207
  //# sourceMappingURL=math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/builtins/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/builtins/math.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,13 @@ export declare const llGetObjectDesc: BuiltinImpl;
14
14
  * llDie() — deletes the entire linked object. In real LSL this kills
15
15
  * every prim and every script in the linkset, not just the calling one.
16
16
  * We mark every script in the linkset as dead and cancel their timers;
17
- * subsequent events on any of them are dropped silently. (Real LSL takes
18
- * a frame to actually delete, but for tests we mark immediately.)
17
+ * subsequent events on any of them are dropped silently. The caller halts
18
+ * once its next builtin call returns or at its next loop iteration.
19
19
  */
20
20
  export declare const llDie: BuiltinImpl;
21
+ /** Thrown where a script that called llDie or removed itself halts. */
22
+ export declare class HaltSignal {
23
+ }
21
24
  /**
22
25
  * llResetScript() — reset globals to their initial values, return to the
23
26
  * `default` state, and run state_entry. Implemented by the Script handle:
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/builtins/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD;;;;GAIG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,SAAS,EAAE,WAQvB,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA;AAED,wBAAwB;AACxB,eAAO,MAAM,eAAe,EAAE,WAA2C,CAAA;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,WAKnB,CAAA;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;CAAG;AACjC,eAAO,MAAM,aAAa,EAAE,WAE3B,CAAA"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/builtins/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD;;;;GAIG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,SAAS,EAAE,WAUvB,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA;AAED,wBAAwB;AACxB,eAAO,MAAM,eAAe,EAAE,WAA2C,CAAA;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,WAMnB,CAAA;AAED,uEAAuE;AACvE,qBAAa,UAAU;CAAG;AAE1B;;;;GAIG;AACH,qBAAa,iBAAiB;CAAG;AACjC,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA"}
@@ -7,8 +7,10 @@ import { PRIM_DESC, PRIM_TEXT } from '../generated/constants.js';
7
7
  /** llSetText(string text, vector color, float alpha) — floating prim text. */
8
8
  export const llSetText = (ctx, args) => {
9
9
  const text = args[0] ?? '';
10
- const color = args[1] ?? { x: 1, y: 1, z: 1 };
11
- const alpha = args[2] ?? 1;
10
+ const rawColor = args[1] ?? { x: 1, y: 1, z: 1 };
11
+ const clamp = (v) => Math.min(1, Math.max(0, v));
12
+ const color = { x: clamp(rawColor.x), y: clamp(rawColor.y), z: clamp(rawColor.z) };
13
+ const alpha = Math.min(1, Math.max(0, args[2] ?? 1));
12
14
  // Route through the PRIM_TEXT seam — `ctx.state.appearance` is aliased
13
15
  // to `prim.appearance`, so legacy `s.text` reads see this write too.
14
16
  ctx.prim.setPrimParam(PRIM_TEXT, [text, color, alpha], 0);
@@ -28,15 +30,19 @@ export const llGetObjectDesc = (ctx) => ctx.prim.description;
28
30
  * llDie() — deletes the entire linked object. In real LSL this kills
29
31
  * every prim and every script in the linkset, not just the calling one.
30
32
  * We mark every script in the linkset as dead and cancel their timers;
31
- * subsequent events on any of them are dropped silently. (Real LSL takes
32
- * a frame to actually delete, but for tests we mark immediately.)
33
+ * subsequent events on any of them are dropped silently. The caller halts
34
+ * once its next builtin call returns or at its next loop iteration.
33
35
  */
34
36
  export const llDie = (ctx) => {
35
37
  for (const s of ctx.linkset.allScripts()) {
36
38
  s.markDead();
37
39
  }
40
+ ctx.state.lifecycle.dying = true;
38
41
  return undefined;
39
42
  };
43
+ /** Thrown where a script that called llDie or removed itself halts. */
44
+ export class HaltSignal {
45
+ }
40
46
  /**
41
47
  * llResetScript() — reset globals to their initial values, return to the
42
48
  * `default` state, and run state_entry. Implemented by the Script handle:
@@ -44,7 +50,9 @@ export const llDie = (ctx) => {
44
50
  */
45
51
  export class ResetScriptSignal {
46
52
  }
47
- export const llResetScript = () => {
53
+ export const llResetScript = (ctx) => {
54
+ if (ctx.state.lifecycle.dying)
55
+ return undefined;
48
56
  throw new ResetScriptSignal();
49
57
  };
50
58
  //# sourceMappingURL=object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/builtins/object.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAEhE;;;;GAIG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAClD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACrE,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAA;IAClD,uEAAuE;IACvE,qEAAqE;IACrE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,yEAAyE;IACzE,yEAAyE;IACzE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAgB,CAAC,GAAG,EAAE,EAAE;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACzC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACd,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;CAAG;AACjC,MAAM,CAAC,MAAM,aAAa,GAAgB,GAAG,EAAE;IAC7C,MAAM,IAAI,iBAAiB,EAAE,CAAA;AAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/builtins/object.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAEhE;;;;GAIG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAClD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,MAAM,QAAQ,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACxE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAG,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5E,uEAAuE;IACvE,qEAAqE;IACrE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,EAAE,CAAA;IAClD,yEAAyE;IACzE,yEAAyE;IACzE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAgB,CAAC,GAAG,EAAE,EAAE;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACzC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACd,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAA;IAChC,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,uEAAuE;AACvE,MAAM,OAAO,UAAU;CAAG;AAE1B;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;CAAG;AACjC,MAAM,CAAC,MAAM,aAAa,GAAgB,CAAC,GAAG,EAAE,EAAE;IAChD,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC/C,MAAM,IAAI,iBAAiB,EAAE,CAAA;AAC/B,CAAC,CAAA"}
@@ -37,6 +37,7 @@ export declare const llSetLinkTextureAnim: BuiltinImpl;
37
37
  * function identity.
38
38
  */
39
39
  export declare const llSetLinkTextureAnimOverrideMe: BuiltinImpl;
40
+ export declare const llSetLinkGLTFOverrides: BuiltinImpl;
40
41
  export declare const llSetRenderMaterial: BuiltinImpl;
41
42
  export declare const llGetRenderMaterial: BuiltinImpl;
42
43
  export declare const llSetStatus: BuiltinImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"prim-accessors.d.ts","sourceRoot":"","sources":["../../src/builtins/prim-accessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAkDhD,eAAO,MAAM,QAAQ,EAAE,WAStB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAAgD,CAAA;AACvE,eAAO,MAAM,aAAa,EAAE,WAA+C,CAAA;AAC3E,eAAO,MAAM,iBAAiB,EAAE,WAG/B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAGtB,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AACD,eAAO,MAAM,QAAQ,EAAE,WAA+C,CAAA;AACtE,eAAO,MAAM,aAAa,EAAE,WAA+C,CAAA;AAC3E,eAAO,MAAM,iBAAiB,EAAE,WAG/B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAGxB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,WAA2C,CAAA;AAEpE,eAAO,MAAM,eAAe,EAAE,WAQ7B,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAKjC,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAC6E,CAAA;AAC/G,eAAO,MAAM,kBAAkB,EAAE,WAA2D,CAAA;AAM5F,eAAO,MAAM,UAAU,EAAE,WAQxB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,WAYxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAKxB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,WASxB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,WAM1B,CAAA;AACD,eAAO,MAAM,YAAY,EAAE,WAI1B,CAAA;AACD,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA;AACD,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAI7B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAO7B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA;AAMD,eAAO,MAAM,cAAc,EAAE,WAS5B,CAAA;AACD,eAAO,MAAM,cAAc,EAAE,WAQ5B,CAAA;AACD,eAAO,MAAM,gBAAgB,EAAE,WAQ9B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAW9B,CAAA;AACD,eAAO,MAAM,oBAAoB,EAAE,WAelC,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,WACZ,CAAA;AAEjC,eAAO,MAAM,mBAAmB,EAAE,WAKjC,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAIjC,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAA;AACD,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAG9B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAYlC,CAAA;AACD,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAG9B,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAS7B,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAA4B,CAAA;AAC9D,eAAO,MAAM,uBAAuB,EAAE,WAA4B,CAAA;AAElE,eAAO,MAAM,iBAAiB,EAAE,WAO/B,CAAA;AACD,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAA"}
1
+ {"version":3,"file":"prim-accessors.d.ts","sourceRoot":"","sources":["../../src/builtins/prim-accessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAmDhD,eAAO,MAAM,QAAQ,EAAE,WAStB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAAgD,CAAA;AACvE,eAAO,MAAM,aAAa,EAAE,WAA+C,CAAA;AAC3E,eAAO,MAAM,iBAAiB,EAAE,WAG/B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAGtB,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AACD,eAAO,MAAM,QAAQ,EAAE,WAA+C,CAAA;AACtE,eAAO,MAAM,aAAa,EAAE,WAA+C,CAAA;AAC3E,eAAO,MAAM,iBAAiB,EAAE,WAG/B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAGxB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,WAA2C,CAAA;AAEpE,eAAO,MAAM,eAAe,EAAE,WAQ7B,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAKjC,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAC6E,CAAA;AAC/G,eAAO,MAAM,kBAAkB,EAAE,WAA2D,CAAA;AAM5F,eAAO,MAAM,UAAU,EAAE,WAQxB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,WAYxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAKxB,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,WASxB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,WAU1B,CAAA;AACD,eAAO,MAAM,YAAY,EAAE,WAI1B,CAAA;AACD,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA;AACD,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAI7B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAO7B,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA;AAMD,eAAO,MAAM,cAAc,EAAE,WAS5B,CAAA;AACD,eAAO,MAAM,cAAc,EAAE,WAQ5B,CAAA;AACD,eAAO,MAAM,gBAAgB,EAAE,WAa9B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAW9B,CAAA;AACD,eAAO,MAAM,oBAAoB,EAAE,WAelC,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,WACZ,CAAA;AAEjC,eAAO,MAAM,sBAAsB,EAAE,WAWpC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,WAOjC,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAIjC,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAA;AACD,eAAO,MAAM,WAAW,EAAE,WAGzB,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAM7B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAG9B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAalC,CAAA;AACD,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAG9B,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,WAS7B,CAAA;AACD,eAAO,MAAM,mBAAmB,EAAE,WAA4B,CAAA;AAC9D,eAAO,MAAM,uBAAuB,EAAE,WAA4B,CAAA;AAElE,eAAO,MAAM,iBAAiB,EAAE,WAO/B,CAAA;AACD,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { NULL_KEY, ZERO_VECTOR, ZERO_ROTATION } from '../values/types.js';
2
- import { faceIndices, numberOfSides } from '../prim-params.js';
2
+ import { faceIndices, numberOfSides, renderMaterialKey, setGltfOverrides, textureKey, textureName, materialName } from '../prim-params.js';
3
+ import { sayError } from './debug.js';
3
4
  import { uniformList } from '../values/list-types.js';
4
5
  import { ALL_SIDES, DENSITY, FRICTION, GRAVITY_MULTIPLIER, PRIM_CLICK_ACTION, PRIM_OMEGA, PRIM_POSITION, PRIM_RENDER_MATERIAL, PRIM_ROTATION, PRIM_ROT_LOCAL, PRIM_SIT_FLAGS, PRIM_SIT_TARGET, PRIM_SIZE, RESTITUTION, } from '../generated/constants.js';
5
6
  /* ------------------------------------------------------------------ */
@@ -88,7 +89,7 @@ export const llSetColor = (ctx, args) => {
88
89
  };
89
90
  export const llGetColor = (ctx, args) => {
90
91
  const face = num(args[0], 0) | 0;
91
- if (face === ALL_SIDES) {
92
+ if (face < 0) {
92
93
  const faces = ctx.prim.params.faces;
93
94
  let x = 0, y = 0, z = 0;
94
95
  for (const { color: c } of faces) {
@@ -98,8 +99,8 @@ export const llGetColor = (ctx, args) => {
98
99
  }
99
100
  return { x: x / faces.length, y: y / faces.length, z: z / faces.length };
100
101
  }
101
- if (!hasFace(ctx.prim, face))
102
- return ZERO_VECTOR;
102
+ if (face >= ctx.prim.params.faces.length)
103
+ return { x: 1, y: 1, z: 1 };
103
104
  return ctx.prim.params.faces[face].color;
104
105
  };
105
106
  export const llSetAlpha = (ctx, args) => {
@@ -111,29 +112,33 @@ export const llSetAlpha = (ctx, args) => {
111
112
  };
112
113
  export const llGetAlpha = (ctx, args) => {
113
114
  const face = num(args[0], 0) | 0;
114
- if (face === ALL_SIDES) {
115
+ if (face < 0) {
115
116
  let a = 0;
116
117
  for (const f of ctx.prim.params.faces)
117
118
  a += f.alpha;
118
119
  return a;
119
120
  }
120
- if (!hasFace(ctx.prim, face))
121
- return 0;
121
+ if (face >= ctx.prim.params.faces.length)
122
+ return 1;
122
123
  return ctx.prim.params.faces[face].alpha;
123
124
  };
124
125
  export const llSetTexture = (ctx, args) => {
125
- const tex = str(args[0]);
126
+ const name = str(args[0]);
126
127
  const face = num(args[1], ALL_SIDES) | 0;
127
- const list = faceIndices(ctx.prim.params, face);
128
- for (const f of list)
129
- ctx.prim.params.faces[f].texture = tex;
128
+ const key = textureKey(ctx.prim, name);
129
+ if (key === null || key === NULL_KEY) {
130
+ sayError(ctx, `Could not find texture '${name}'.`);
131
+ return undefined;
132
+ }
133
+ for (const f of faceIndices(ctx.prim.params, face))
134
+ ctx.prim.params.faces[f].texture = key;
130
135
  return undefined;
131
136
  };
132
137
  export const llGetTexture = (ctx, args) => {
133
- const face = num(args[0], 0) | 0;
138
+ const face = Math.max(0, num(args[0], 0) | 0);
134
139
  if (!hasFace(ctx.prim, face))
135
- return '';
136
- return ctx.prim.params.faces[face].texture;
140
+ return NULL_KEY;
141
+ return textureName(ctx.prim, ctx.prim.params.faces[face].texture);
137
142
  };
138
143
  export const llGetTextureOffset = (ctx, args) => {
139
144
  const face = num(args[0], 0) | 0;
@@ -205,11 +210,16 @@ export const llSetLinkAlpha = (ctx, args) => {
205
210
  };
206
211
  export const llSetLinkTexture = (ctx, args) => {
207
212
  const link = num(args[0]) | 0;
208
- const tex = str(args[1]);
213
+ const name = str(args[1]);
209
214
  const face = num(args[2], ALL_SIDES) | 0;
215
+ const key = textureKey(ctx.prim, name);
216
+ if (key === null || key === NULL_KEY) {
217
+ sayError(ctx, `Could not find texture '${name}'.`);
218
+ return undefined;
219
+ }
210
220
  for (const p of targets(ctx.linkset, ctx.prim.linkNumber, link)) {
211
221
  for (const f of faceIndices(p.params, face))
212
- p.params.faces[f].texture = tex;
222
+ p.params.faces[f].texture = key;
213
223
  }
214
224
  return undefined;
215
225
  };
@@ -247,17 +257,33 @@ export const llSetLinkTextureAnim = (ctx, args) => {
247
257
  * function identity.
248
258
  */
249
259
  export const llSetLinkTextureAnimOverrideMe = (ctx, args) => llSetLinkTextureAnim(ctx, args);
260
+ export const llSetLinkGLTFOverrides = (ctx, args) => {
261
+ const link = num(args[0]) | 0;
262
+ const face = num(args[1]) | 0;
263
+ const params = args[2];
264
+ for (const p of targets(ctx.linkset, ctx.prim.linkNumber, link)) {
265
+ for (const f of faceIndices(p.params, face)) {
266
+ const fa = p.params.faces[f];
267
+ if (fa.renderMaterial !== NULL_KEY)
268
+ setGltfOverrides(fa.gltf, params);
269
+ }
270
+ }
271
+ return undefined;
272
+ };
250
273
  export const llSetRenderMaterial = (ctx, args) => {
251
274
  const material = str(args[0]);
252
275
  const face = num(args[1], ALL_SIDES) | 0;
253
- ctx.prim.setPrimParam(PRIM_RENDER_MATERIAL, [face, material], 0);
276
+ const key = renderMaterialKey(ctx.prim, material);
277
+ if (key === null)
278
+ sayError(ctx, `Could not find render material '${material}'.`);
279
+ ctx.prim.setPrimParam(PRIM_RENDER_MATERIAL, [face, key ?? NULL_KEY], 0);
254
280
  return undefined;
255
281
  };
256
282
  export const llGetRenderMaterial = (ctx, args) => {
257
- const face = num(args[0], 0) | 0;
283
+ const face = Math.max(0, num(args[0], 0) | 0);
258
284
  if (!hasFace(ctx.prim, face))
259
- return '';
260
- return ctx.prim.params.faces[face].renderMaterial;
285
+ return NULL_KEY;
286
+ return materialName(ctx.prim, ctx.prim.params.faces[face].renderMaterial);
261
287
  };
262
288
  /* ------------------------------------------------------------------ */
263
289
  /* Status / click / omega / physics material / passes */
@@ -295,13 +321,14 @@ export const llSetPhysicsMaterial = (ctx, args) => {
295
321
  // property of the material — don't store it.
296
322
  const mask = num(args[0]) | 0;
297
323
  const m = ctx.prim.params.physicsMaterial;
298
- if (mask & GRAVITY_MULTIPLIER)
324
+ const inRange = (v, lo, hi) => v >= lo && v <= hi;
325
+ if (mask & GRAVITY_MULTIPLIER && inRange(num(args[1], 1), -1, 28))
299
326
  m.gravityMultiplier = num(args[1], 1);
300
- if (mask & RESTITUTION)
327
+ if (mask & RESTITUTION && inRange(num(args[2]), 0, 1))
301
328
  m.restitution = num(args[2]);
302
- if (mask & FRICTION)
329
+ if (mask & FRICTION && inRange(num(args[3]), 0, 255))
303
330
  m.friction = num(args[3]);
304
- if (mask & DENSITY)
331
+ if (mask & DENSITY && inRange(num(args[4], 1000), 1, 22587))
305
332
  m.density = num(args[4], 1000);
306
333
  return undefined;
307
334
  };