@rezless/vm 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builtins/base64.d.ts.map +1 -1
- package/dist/builtins/base64.js +29 -2
- package/dist/builtins/base64.js.map +1 -1
- package/dist/builtins/chat.d.ts +7 -1
- package/dist/builtins/chat.d.ts.map +1 -1
- package/dist/builtins/chat.js +26 -29
- package/dist/builtins/chat.js.map +1 -1
- package/dist/builtins/dataserver.d.ts +2 -1
- package/dist/builtins/dataserver.d.ts.map +1 -1
- package/dist/builtins/dataserver.js +5 -4
- package/dist/builtins/dataserver.js.map +1 -1
- package/dist/builtins/debug.d.ts +4 -0
- package/dist/builtins/debug.d.ts.map +1 -0
- package/dist/builtins/debug.js +7 -0
- package/dist/builtins/debug.js.map +1 -0
- package/dist/builtins/http.d.ts +8 -1
- package/dist/builtins/http.d.ts.map +1 -1
- package/dist/builtins/http.js +87 -9
- package/dist/builtins/http.js.map +1 -1
- package/dist/builtins/identity.d.ts +2 -0
- package/dist/builtins/identity.d.ts.map +1 -1
- package/dist/builtins/identity.js +9 -1
- package/dist/builtins/identity.js.map +1 -1
- package/dist/builtins/index.d.ts.map +1 -1
- package/dist/builtins/index.js +29 -7
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/inventory.d.ts +13 -2
- package/dist/builtins/inventory.d.ts.map +1 -1
- package/dist/builtins/inventory.js +82 -43
- package/dist/builtins/inventory.js.map +1 -1
- package/dist/builtins/json.d.ts.map +1 -1
- package/dist/builtins/json.js +11 -36
- package/dist/builtins/json.js.map +1 -1
- package/dist/builtins/link-info.d.ts +1 -1
- package/dist/builtins/link-info.d.ts.map +1 -1
- package/dist/builtins/link-info.js +2 -2
- package/dist/builtins/link-info.js.map +1 -1
- package/dist/builtins/linksetdata.d.ts.map +1 -1
- package/dist/builtins/linksetdata.js +298 -31
- package/dist/builtins/linksetdata.js.map +1 -1
- package/dist/builtins/listen.d.ts +3 -1
- package/dist/builtins/listen.d.ts.map +1 -1
- package/dist/builtins/listen.js +9 -1
- package/dist/builtins/listen.js.map +1 -1
- package/dist/builtins/lists.d.ts +21 -0
- package/dist/builtins/lists.d.ts.map +1 -1
- package/dist/builtins/lists.js +82 -38
- package/dist/builtins/lists.js.map +1 -1
- package/dist/builtins/math.d.ts +27 -4
- package/dist/builtins/math.d.ts.map +1 -1
- package/dist/builtins/math.js +118 -41
- package/dist/builtins/math.js.map +1 -1
- package/dist/builtins/permissions.d.ts +18 -0
- package/dist/builtins/permissions.d.ts.map +1 -0
- package/dist/builtins/permissions.js +17 -0
- package/dist/builtins/permissions.js.map +1 -0
- package/dist/builtins/prim-accessors.d.ts +1 -0
- package/dist/builtins/prim-accessors.d.ts.map +1 -1
- package/dist/builtins/prim-accessors.js +44 -42
- package/dist/builtins/prim-accessors.js.map +1 -1
- package/dist/builtins/prim-params.d.ts +1 -1
- package/dist/builtins/prim-params.d.ts.map +1 -1
- package/dist/builtins/prim-params.js +19 -11
- package/dist/builtins/prim-params.js.map +1 -1
- package/dist/builtins/strings.d.ts.map +1 -1
- package/dist/builtins/strings.js +37 -33
- package/dist/builtins/strings.js.map +1 -1
- package/dist/builtins/time.d.ts +2 -0
- package/dist/builtins/time.d.ts.map +1 -1
- package/dist/builtins/time.js +2 -0
- package/dist/builtins/time.js.map +1 -1
- package/dist/clock.d.ts +23 -9
- package/dist/clock.d.ts.map +1 -1
- package/dist/clock.js +40 -13
- package/dist/clock.js.map +1 -1
- package/dist/dispatch.d.ts.map +1 -1
- package/dist/dispatch.js +10 -3
- package/dist/dispatch.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interpreter.js +2 -2
- package/dist/interpreter.js.map +1 -1
- package/dist/inventory.d.ts +2 -0
- package/dist/inventory.d.ts.map +1 -1
- package/dist/inventory.js +4 -0
- package/dist/inventory.js.map +1 -1
- package/dist/keys.d.ts +6 -0
- package/dist/keys.d.ts.map +1 -0
- package/dist/keys.js +20 -0
- package/dist/keys.js.map +1 -0
- package/dist/linkset.d.ts +28 -3
- package/dist/linkset.d.ts.map +1 -1
- package/dist/linkset.js +66 -7
- package/dist/linkset.js.map +1 -1
- package/dist/prim-params.d.ts +5 -0
- package/dist/prim-params.d.ts.map +1 -1
- package/dist/prim-params.js +187 -107
- package/dist/prim-params.js.map +1 -1
- package/dist/prim.d.ts +6 -1
- package/dist/prim.d.ts.map +1 -1
- package/dist/prim.js +23 -3
- package/dist/prim.js.map +1 -1
- package/dist/runtime.d.ts +11 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/script.d.ts +27 -2
- package/dist/script.d.ts.map +1 -1
- package/dist/script.js +89 -27
- package/dist/script.js.map +1 -1
- package/dist/values/coerce.d.ts +11 -0
- package/dist/values/coerce.d.ts.map +1 -1
- package/dist/values/coerce.js +65 -38
- package/dist/values/coerce.js.map +1 -1
- package/dist/values/format.d.ts +24 -16
- package/dist/values/format.d.ts.map +1 -1
- package/dist/values/format.js +42 -25
- package/dist/values/format.js.map +1 -1
- package/dist/values/ops.d.ts +2 -1
- package/dist/values/ops.d.ts.map +1 -1
- package/dist/values/ops.js +13 -5
- package/dist/values/ops.js.map +1 -1
- package/dist/values/utf8.d.ts +3 -0
- package/dist/values/utf8.d.ts.map +1 -0
- package/dist/values/utf8.js +14 -0
- package/dist/values/utf8.js.map +1 -0
- package/dist/world.d.ts +29 -0
- package/dist/world.d.ts.map +1 -0
- package/dist/world.js +29 -0
- package/dist/world.js.map +1 -0
- package/package.json +2 -2
package/dist/clock.d.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* it by calling `llSleep` or `llSetTimerEvent`. Real wall-clock time is
|
|
7
7
|
* never read.
|
|
8
8
|
*
|
|
9
|
-
* The queue is **linkset-wide
|
|
10
|
-
* `now` and one event queue. Each queued event carries a `target: Script`
|
|
9
|
+
* The queue is **linkset-wide**, or world-wide for linksets in a `World`:
|
|
10
|
+
* every script shares one `now` and one event queue. Each queued event carries a `target: Script`
|
|
11
11
|
* — the script whose handler will run when the event fires. Per-script
|
|
12
12
|
* state (timer interval, llGetTime reference) lives on `ScriptClockView`,
|
|
13
13
|
* a thin facade exposed to builtins as `ctx.state.clock`.
|
|
@@ -21,6 +21,8 @@ export interface QueuedEvent {
|
|
|
21
21
|
readonly event: string;
|
|
22
22
|
readonly payload: Record<string, unknown>;
|
|
23
23
|
}
|
|
24
|
+
/** Events a script can hold in its queue; more are dropped, as in Second Life. */
|
|
25
|
+
export declare const MAX_PENDING_EVENTS = 64;
|
|
24
26
|
/** Linkset-wide clock. One instance per Linkset. */
|
|
25
27
|
export declare class LinksetClock {
|
|
26
28
|
readonly startUnixTime: number;
|
|
@@ -31,24 +33,34 @@ export declare class LinksetClock {
|
|
|
31
33
|
/** Wall-clock time in microseconds since the Unix epoch, floored. */
|
|
32
34
|
unixMicros(): number;
|
|
33
35
|
private readonly queue;
|
|
34
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Schedule a one-shot event on `target`'s handler at virtual time `at`.
|
|
38
|
+
* A script holds at most MAX_PENDING_EVENTS queued events, counting those
|
|
39
|
+
* parked while it is stopped; further events are dropped.
|
|
40
|
+
*/
|
|
35
41
|
schedule(target: Script, at: number, event: string, payload?: Record<string, unknown>): void;
|
|
36
42
|
/** Move the clock forward unconditionally; does not drain queues. */
|
|
37
43
|
advance(ms: number): void;
|
|
38
44
|
/**
|
|
39
|
-
* Pop and return the next due event (`at <= now`) considering all queued
|
|
45
|
+
* Pop and return the next due event (`at <= horizon`, default `now`) considering all queued
|
|
40
46
|
* one-shots and every script's recurring timer. Returns `null` when no
|
|
41
47
|
* event is ready.
|
|
42
48
|
*
|
|
43
49
|
* Recurring timers fire once per script per interval; their next fire
|
|
44
50
|
* timestamp is advanced by `at + interval` (not `now + interval`) so that
|
|
45
|
-
* long advances catch up on every missed fire.
|
|
51
|
+
* long advances catch up on every missed fire. Ticks that fall due while
|
|
52
|
+
* the script is busy (e.g. in llSleep) collapse into one event delivered
|
|
53
|
+
* when it finishes, and the interval restarts from there.
|
|
46
54
|
*/
|
|
47
|
-
takeNextDue(scripts: ReadonlyArray<Script
|
|
55
|
+
takeNextDue(scripts: ReadonlyArray<Script>, horizon?: number): QueuedEvent | null;
|
|
48
56
|
/** Snapshot of the pending one-shot queue. Read-only; for inspection/tests. */
|
|
49
57
|
pendingEvents(): readonly QueuedEvent[];
|
|
50
|
-
/**
|
|
51
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Remove every queued event whose target is `script` and that is due by
|
|
60
|
+
* `upTo` (default: all of them), except events named `keep`. Used on reset
|
|
61
|
+
* and state change.
|
|
62
|
+
*/
|
|
63
|
+
purgeTarget(script: Script, upTo?: number, keep?: string): void;
|
|
52
64
|
}
|
|
53
65
|
/**
|
|
54
66
|
* Per-script clock facade. Builtins read `ctx.state.clock` and call
|
|
@@ -58,12 +70,14 @@ export declare class LinksetClock {
|
|
|
58
70
|
export declare class ScriptClockView {
|
|
59
71
|
private readonly linksetClock;
|
|
60
72
|
private readonly self;
|
|
61
|
-
/** Reference time for `llGetTime`/`llResetTime` (virtual ms). */
|
|
73
|
+
/** Reference time for `llGetTime`/`llResetTime` (virtual ms); the script's creation, reset or last llResetTime. */
|
|
62
74
|
timeReferenceMs: number;
|
|
63
75
|
/** Recurring timer interval in ms; 0 = no timer. */
|
|
64
76
|
timerIntervalMs: number;
|
|
65
77
|
/** Virtual time at which the next timer event fires. */
|
|
66
78
|
timerNextFireMs: number;
|
|
79
|
+
/** Virtual time at which the script's last handler finished, when it took time (llSleep, delays). */
|
|
80
|
+
busyUntilMs: number;
|
|
67
81
|
constructor(linksetClock: LinksetClock, self: () => Script);
|
|
68
82
|
get now(): number;
|
|
69
83
|
/** Schedule a one-shot event on this script. */
|
package/dist/clock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,oDAAoD;AACpD,qBAAa,YAAY;IAKX,QAAQ,CAAC,aAAa;IAJlC,2EAA2E;IAC3E,GAAG,SAAI;IAEP,iEAAiE;IACjE,YAAqB,aAAa,SAAI,EAAI;IAE1C,qEAAqE;IACrE,UAAU,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C
|
|
1
|
+
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC,oDAAoD;AACpD,qBAAa,YAAY;IAKX,QAAQ,CAAC,aAAa;IAJlC,2EAA2E;IAC3E,GAAG,SAAI;IAEP,iEAAiE;IACjE,YAAqB,aAAa,SAAI,EAAI;IAE1C,qEAAqE;IACrE,UAAU,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAO/F;IAED,qEAAqE;IACrE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGxB;IAED;;;;;;;;;;OAUG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,SAAW,GAAG,WAAW,GAAG,IAAI,CAsClF;IAED,+EAA+E;IAC/E,aAAa,IAAI,SAAS,WAAW,EAAE,CAEtC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAKhE;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAWxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXvB,mHAAmH;IACnH,eAAe,EAAE,MAAM,CAAA;IACvB,oDAAoD;IACpD,eAAe,SAAI;IACnB,wDAAwD;IACxD,eAAe,SAAI;IACnB,qGAAqG;IACrG,WAAW,SAAI;IAEf,YACmB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,MAAM,EAGpC;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAE/E;IAED,sDAAsD;IACtD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAEjG;IAED,WAAW,IAAI,IAAI,CAGlB;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAOjC;IAED,sDAAsD;IACtD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAExB;IAED,qEAAqE;IACrE,UAAU,IAAI,MAAM,CAEnB;IAED,cAAc,IAAI,MAAM,CAEvB;IAED,cAAc,IAAI,IAAI,CAErB;CACF"}
|
package/dist/clock.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Events a script can hold in its queue; more are dropped, as in Second Life. */
|
|
2
|
+
export const MAX_PENDING_EVENTS = 64;
|
|
1
3
|
/** Linkset-wide clock. One instance per Linkset. */
|
|
2
4
|
export class LinksetClock {
|
|
3
5
|
startUnixTime;
|
|
@@ -12,8 +14,20 @@ export class LinksetClock {
|
|
|
12
14
|
return Math.floor(this.startUnixTime * 1e6 + this.now * 1000);
|
|
13
15
|
}
|
|
14
16
|
queue = [];
|
|
15
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Schedule a one-shot event on `target`'s handler at virtual time `at`.
|
|
19
|
+
* A script holds at most MAX_PENDING_EVENTS queued events, counting those
|
|
20
|
+
* parked while it is stopped; further events are dropped.
|
|
21
|
+
*/
|
|
16
22
|
schedule(target, at, event, payload = {}) {
|
|
23
|
+
if (event !== '__reset') {
|
|
24
|
+
let pending = target.parkedEvents.length;
|
|
25
|
+
for (const e of this.queue)
|
|
26
|
+
if (e.target === target)
|
|
27
|
+
pending++;
|
|
28
|
+
if (pending >= MAX_PENDING_EVENTS)
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
17
31
|
this.queue.push({ at, target, event, payload });
|
|
18
32
|
}
|
|
19
33
|
/** Move the clock forward unconditionally; does not drain queues. */
|
|
@@ -23,20 +37,22 @@ export class LinksetClock {
|
|
|
23
37
|
this.now += ms;
|
|
24
38
|
}
|
|
25
39
|
/**
|
|
26
|
-
* Pop and return the next due event (`at <= now`) considering all queued
|
|
40
|
+
* Pop and return the next due event (`at <= horizon`, default `now`) considering all queued
|
|
27
41
|
* one-shots and every script's recurring timer. Returns `null` when no
|
|
28
42
|
* event is ready.
|
|
29
43
|
*
|
|
30
44
|
* Recurring timers fire once per script per interval; their next fire
|
|
31
45
|
* timestamp is advanced by `at + interval` (not `now + interval`) so that
|
|
32
|
-
* long advances catch up on every missed fire.
|
|
46
|
+
* long advances catch up on every missed fire. Ticks that fall due while
|
|
47
|
+
* the script is busy (e.g. in llSleep) collapse into one event delivered
|
|
48
|
+
* when it finishes, and the interval restarts from there.
|
|
33
49
|
*/
|
|
34
|
-
takeNextDue(scripts) {
|
|
50
|
+
takeNextDue(scripts, horizon = this.now) {
|
|
35
51
|
let bestIdx = -1;
|
|
36
52
|
let bestAt = Infinity;
|
|
37
53
|
for (let i = 0; i < this.queue.length; i++) {
|
|
38
54
|
const e = this.queue[i];
|
|
39
|
-
if (e.at <=
|
|
55
|
+
if (e.at <= horizon && e.at < bestAt) {
|
|
40
56
|
bestAt = e.at;
|
|
41
57
|
bestIdx = i;
|
|
42
58
|
}
|
|
@@ -50,9 +66,12 @@ export class LinksetClock {
|
|
|
50
66
|
if (s.dead || !s.running)
|
|
51
67
|
continue;
|
|
52
68
|
const v = s.clockView;
|
|
53
|
-
if (v.timerIntervalMs > 0 && v.timerNextFireMs <=
|
|
54
|
-
|
|
55
|
-
|
|
69
|
+
if (v.timerIntervalMs > 0 && v.timerNextFireMs <= horizon) {
|
|
70
|
+
const due = Math.max(v.timerNextFireMs, v.busyUntilMs);
|
|
71
|
+
if (due < bestTimerAt) {
|
|
72
|
+
bestTimerAt = due;
|
|
73
|
+
bestTimerScript = s;
|
|
74
|
+
}
|
|
56
75
|
}
|
|
57
76
|
}
|
|
58
77
|
if (bestIdx === -1 && bestTimerScript === null)
|
|
@@ -71,10 +90,15 @@ export class LinksetClock {
|
|
|
71
90
|
pendingEvents() {
|
|
72
91
|
return this.queue.slice();
|
|
73
92
|
}
|
|
74
|
-
/**
|
|
75
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Remove every queued event whose target is `script` and that is due by
|
|
95
|
+
* `upTo` (default: all of them), except events named `keep`. Used on reset
|
|
96
|
+
* and state change.
|
|
97
|
+
*/
|
|
98
|
+
purgeTarget(script, upTo = Infinity, keep) {
|
|
76
99
|
for (let i = this.queue.length - 1; i >= 0; i--) {
|
|
77
|
-
|
|
100
|
+
const e = this.queue[i];
|
|
101
|
+
if (e.target === script && e.at <= upTo && e.event !== keep)
|
|
78
102
|
this.queue.splice(i, 1);
|
|
79
103
|
}
|
|
80
104
|
}
|
|
@@ -87,15 +111,18 @@ export class LinksetClock {
|
|
|
87
111
|
export class ScriptClockView {
|
|
88
112
|
linksetClock;
|
|
89
113
|
self;
|
|
90
|
-
/** Reference time for `llGetTime`/`llResetTime` (virtual ms). */
|
|
91
|
-
timeReferenceMs
|
|
114
|
+
/** Reference time for `llGetTime`/`llResetTime` (virtual ms); the script's creation, reset or last llResetTime. */
|
|
115
|
+
timeReferenceMs;
|
|
92
116
|
/** Recurring timer interval in ms; 0 = no timer. */
|
|
93
117
|
timerIntervalMs = 0;
|
|
94
118
|
/** Virtual time at which the next timer event fires. */
|
|
95
119
|
timerNextFireMs = 0;
|
|
120
|
+
/** Virtual time at which the script's last handler finished, when it took time (llSleep, delays). */
|
|
121
|
+
busyUntilMs = 0;
|
|
96
122
|
constructor(linksetClock, self) {
|
|
97
123
|
this.linksetClock = linksetClock;
|
|
98
124
|
this.self = self;
|
|
125
|
+
this.timeReferenceMs = linksetClock.now;
|
|
99
126
|
}
|
|
100
127
|
get now() {
|
|
101
128
|
return this.linksetClock.now;
|
package/dist/clock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clock.js","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAyBA,oDAAoD;AACpD,MAAM,OAAO,YAAY;IAKF,aAAa;IAJlC,2EAA2E;IAC3E,GAAG,GAAG,CAAC,CAAA;IAEP,iEAAiE;IACjE,YAAqB,aAAa,GAAG,CAAC;6BAAjB,aAAa;IAAO,CAAC;IAE1C,qEAAqE;IACrE,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;IAC/D,CAAC;IAEgB,KAAK,GAAkB,EAAE,CAAA;IAE1C
|
|
1
|
+
{"version":3,"file":"clock.js","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAyBA,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAEpC,oDAAoD;AACpD,MAAM,OAAO,YAAY;IAKF,aAAa;IAJlC,2EAA2E;IAC3E,GAAG,GAAG,CAAC,CAAA;IAEP,iEAAiE;IACjE,YAAqB,aAAa,GAAG,CAAC;6BAAjB,aAAa;IAAO,CAAC;IAE1C,qEAAqE;IACrE,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;IAC/D,CAAC;IAEgB,KAAK,GAAkB,EAAE,CAAA;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,MAAc,EAAE,EAAU,EAAE,KAAa,EAAE,OAAO,GAA4B,EAAE;QACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAA;YACxC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;oBAAE,OAAO,EAAE,CAAA;YAC9D,IAAI,OAAO,IAAI,kBAAkB;gBAAE,OAAM;QAC3C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,qEAAqE;IACrE,OAAO,CAAC,EAAU;QAChB,IAAI,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC5D,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,WAAW,CAAC,OAA8B,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG;QAC5D,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;QAChB,IAAI,MAAM,GAAG,QAAQ,CAAA;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAA;YACxB,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;gBACrC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;gBACb,OAAO,GAAG,CAAC,CAAA;YACb,CAAC;QACH,CAAC;QACD,IAAI,eAAe,GAAkB,IAAI,CAAA;QACzC,IAAI,WAAW,GAAG,QAAQ,CAAA;QAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,sEAAsE;YACtE,wEAAwE;YACxE,sDAAsD;YACtD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,SAAQ;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;YACrB,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC;gBAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;gBACtD,IAAI,GAAG,GAAG,WAAW,EAAE,CAAC;oBACtB,WAAW,GAAG,GAAG,CAAA;oBACjB,eAAe,GAAG,CAAC,CAAA;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAE3D,IAAI,eAAe,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YAC7C,MAAM,EAAE,GAAG,WAAW,CAAA;YACtB,MAAM,CAAC,GAAG,eAAe,CAAC,SAAS,CAAA;YACnC,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC,CAAC,eAAe,CAAA;YAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACrE,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,+EAA+E;IAC/E,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAc,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAa;QACxD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAA;YACxB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAWP,YAAY;IACZ,IAAI;IAXvB,mHAAmH;IACnH,eAAe,CAAQ;IACvB,oDAAoD;IACpD,eAAe,GAAG,CAAC,CAAA;IACnB,wDAAwD;IACxD,eAAe,GAAG,CAAC,CAAA;IACnB,qGAAqG;IACrG,WAAW,GAAG,CAAC,CAAA;IAEf,YACmB,YAA0B,EAC1B,IAAkB;4BADlB,YAAY;oBACZ,IAAI;QAErB,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,GAAG,CAAA;IACzC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAA;IAC9B,CAAC;IAED,gDAAgD;IAChD,QAAQ,CAAC,EAAU,EAAE,KAAa,EAAE,OAAO,GAA4B,EAAE;QACvE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IAED,sDAAsD;IACtD,UAAU,CAAC,MAAc,EAAE,EAAU,EAAE,KAAa,EAAE,OAAO,GAA4B,EAAE;QACzF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,QAAQ,CAAC,UAAkB;QACzB,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,EAAE,CAAA;YAClB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAA;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,GAAG,UAAU,CAAA;IAC9C,CAAC;IAED,sDAAsD;IACtD,OAAO,CAAC,EAAU;QAChB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,qEAAqE;IACrE,UAAU;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;IACvC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;IACjD,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAA;IACjC,CAAC;CACF"}
|
package/dist/dispatch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,WAAW,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,WAAW,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIzC,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE7D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC5B,QAAQ,GAAG,SAAS,CAoBtB"}
|
package/dist/dispatch.js
CHANGED
|
@@ -2,6 +2,7 @@ import { defaultValueFor } from './values/types.js';
|
|
|
2
2
|
import { BUILTIN_SPECS } from './generated/functions.js';
|
|
3
3
|
import { REAL_BUILTINS } from './builtins/index.js';
|
|
4
4
|
import { own } from './own.js';
|
|
5
|
+
import { ScriptRemovedSignal } from './builtins/inventory.js';
|
|
5
6
|
/** Look up the generated spec for a function name, if any. */
|
|
6
7
|
export function specFor(name) {
|
|
7
8
|
return own(BUILTIN_SPECS, name);
|
|
@@ -14,7 +15,7 @@ export function specFor(name) {
|
|
|
14
15
|
*/
|
|
15
16
|
export function callBuiltin(dctx, name, args) {
|
|
16
17
|
const spec = specFor(name);
|
|
17
|
-
const impl = dctx.mocks[name] ?? own(REAL_BUILTINS, name) ?? makeStub(name);
|
|
18
|
+
const impl = dctx.mocks[name] ?? own(REAL_BUILTINS, name) ?? makeStub(dctx.script, name);
|
|
18
19
|
const ctx = {
|
|
19
20
|
state: dctx.state,
|
|
20
21
|
spec,
|
|
@@ -22,6 +23,7 @@ export function callBuiltin(dctx, name, args) {
|
|
|
22
23
|
prim: dctx.script.host,
|
|
23
24
|
linkset: dctx.script.linkset,
|
|
24
25
|
};
|
|
26
|
+
const startedAt = dctx.state.clock.now;
|
|
25
27
|
const result = impl(ctx, args);
|
|
26
28
|
dctx.state.calls.push({ name, args, returned: result });
|
|
27
29
|
// Call log timestamps when the script invoked the function (pre-delay);
|
|
@@ -29,15 +31,20 @@ export function callBuiltin(dctx, name, args) {
|
|
|
29
31
|
if (spec && spec.delay > 0) {
|
|
30
32
|
dctx.state.clock.advance(spec.delay * 1000);
|
|
31
33
|
}
|
|
34
|
+
if (dctx.state.lifecycle.removed && dctx.state.clock.now > startedAt)
|
|
35
|
+
throw new ScriptRemovedSignal();
|
|
32
36
|
return result;
|
|
33
37
|
}
|
|
34
|
-
function makeStub(name) {
|
|
38
|
+
function makeStub(script, name) {
|
|
35
39
|
const spec = specFor(name);
|
|
36
40
|
if (!spec) {
|
|
37
41
|
return () => {
|
|
38
42
|
throw new Error(`LSL function '${name}' has no implementation (not in the LSL definitions; use script.mock to provide it)`);
|
|
39
43
|
};
|
|
40
44
|
}
|
|
41
|
-
return () =>
|
|
45
|
+
return () => {
|
|
46
|
+
script.reportStub(name);
|
|
47
|
+
return defaultValueFor(spec.returnType);
|
|
48
|
+
};
|
|
42
49
|
}
|
|
43
50
|
//# sourceMappingURL=dispatch.js.map
|
package/dist/dispatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,8DAA8D;AAC9D,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,GAAG,CAAC,aAA4C,EAAE,IAAI,CAAC,CAAA;AAChE,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAqB,EACrB,IAAY,EACZ,IAA6B;IAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxF,MAAM,GAAG,GAAgB;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI;QACJ,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;KAC7B,CAAA;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IACvD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS;QAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;IACrG,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,IAAY;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qFAAqF,CAAC,CAAA;QAC7H,CAAC,CAAA;IACH,CAAC;IACD,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC,CAAA;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { CoverageCollector, buildCoveragePlan, mergeReports } from './coverage.j
|
|
|
5
5
|
export type { CoveragePlan, CoverageReport, StatementInfo, StatementHit, StatementKind, BranchInfo, BranchHit, BranchKind, FunctionInfo, FunctionHit, FunctionKind, StateInfo, StateHit, } from './coverage.js';
|
|
6
6
|
export { Linkset, LINK_THIS, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN, LINK_ROOT } from './linkset.js';
|
|
7
7
|
export type { LinksetOptions } from './linkset.js';
|
|
8
|
+
export { World } from './world.js';
|
|
9
|
+
export type { WorldOptions, RegionCorner } from './world.js';
|
|
8
10
|
export { Prim } from './prim.js';
|
|
9
11
|
export type { PrimOptions } from './prim.js';
|
|
10
12
|
export { InventoryType, makeInventoryItem } from './inventory.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAClF,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC1G,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACjF,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAChF,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAClF,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC1G,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACjF,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAChF,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { Script } from './script.js';
|
|
|
2
2
|
export { typecheck } from './typecheck.js';
|
|
3
3
|
export { CoverageCollector, buildCoveragePlan, mergeReports } from './coverage.js';
|
|
4
4
|
export { Linkset, LINK_THIS, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN, LINK_ROOT } from './linkset.js';
|
|
5
|
+
export { World } from './world.js';
|
|
5
6
|
export { Prim } from './prim.js';
|
|
6
7
|
export { InventoryType, makeInventoryItem } from './inventory.js';
|
|
7
8
|
export { ZERO_VECTOR, ZERO_ROTATION, NULL_KEY, defaultValueFor, } from './values/types.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAgBlF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE1G,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAWjE,OAAO,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAgBlF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE1G,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAWjE,OAAO,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA"}
|
package/dist/interpreter.js
CHANGED
|
@@ -281,9 +281,9 @@ function evalListLiteral(ctx, env, e) {
|
|
|
281
281
|
};
|
|
282
282
|
}
|
|
283
283
|
function evalBinary(ctx, env, e) {
|
|
284
|
-
// LSL: && and || are NOT short-circuit
|
|
285
|
-
const left = evalExpression(ctx, env, e.left);
|
|
284
|
+
// LSL: && and || are NOT short-circuit, and the right operand runs first.
|
|
286
285
|
const right = evalExpression(ctx, env, e.right);
|
|
286
|
+
const left = evalExpression(ctx, env, e.left);
|
|
287
287
|
return applyBinary(e.operator, left, right);
|
|
288
288
|
}
|
|
289
289
|
function evalAssignment(ctx, env, e) {
|
package/dist/interpreter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../src/interpreter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../src/interpreter.ts"],"names":[],"mappings":"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"}
|
package/dist/inventory.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ export interface InventoryItem {
|
|
|
45
45
|
/** Set when type === INVENTORY_NOTECARD. */
|
|
46
46
|
notecardLines?: ReadonlyArray<string>;
|
|
47
47
|
}
|
|
48
|
+
/** Second Life drops non-ASCII characters from an item's name when it enters a prim's inventory. */
|
|
49
|
+
export declare function inventoryItemName(name: string): string;
|
|
48
50
|
export declare function makeInventoryItem(partial: Partial<InventoryItem> & {
|
|
49
51
|
name: string;
|
|
50
52
|
type: InventoryTypeValue;
|
package/dist/inventory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,aAAa;aACxB,OAAO;aACP,KAAK;aACL,QAAQ;aACR,QAAQ;aACR,MAAM;aACN,QAAQ;aACR,MAAM;aACN,QAAQ;aACR,SAAS;aACT,OAAO;aACP,IAAI,EAAE,EAAE;aACR,OAAO;aACP,QAAQ;CACA,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAEnF,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAUD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,kBAAkB,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,MAAM,CAAA;IACrC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACtC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC3E,aAAa,CAaf"}
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,aAAa;aACxB,OAAO;aACP,KAAK;aACL,QAAQ;aACR,QAAQ;aACR,MAAM;aACN,QAAQ;aACR,MAAM;aACN,QAAQ;aACR,SAAS;aACT,OAAO;aACP,IAAI,EAAE,EAAE;aACR,OAAO;aACP,QAAQ;CACA,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAEnF,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAUD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,kBAAkB,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,MAAM,CAAA;IACrC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACtC;AAED,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC3E,aAAa,CAaf"}
|
package/dist/inventory.js
CHANGED
|
@@ -26,6 +26,10 @@ const DEFAULT_PERMS = {
|
|
|
26
26
|
everyone: 0,
|
|
27
27
|
next: PERM_ALL,
|
|
28
28
|
};
|
|
29
|
+
/** Second Life drops non-ASCII characters from an item's name when it enters a prim's inventory. */
|
|
30
|
+
export function inventoryItemName(name) {
|
|
31
|
+
return name.replace(/[^\x00-\x7f]/g, '');
|
|
32
|
+
}
|
|
29
33
|
export function makeInventoryItem(partial) {
|
|
30
34
|
const item = {
|
|
31
35
|
name: partial.name,
|
package/dist/inventory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,GACT,MAAM,0BAA0B,CAAA;AAEjC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,kBAAkB;CACpB,CAAA;AAaV,MAAM,aAAa,GAAa;IAC9B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,QAAQ;CACf,CAAA;AAsBD,MAAM,UAAU,iBAAiB,CAC/B,OAA4E;IAE5E,MAAM,IAAI,GAAkB;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa;KAC5C,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9D,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,GACT,MAAM,0BAA0B,CAAA;AAEjC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,kBAAkB;CACpB,CAAA;AAaV,MAAM,aAAa,GAAa;IAC9B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,QAAQ;CACf,CAAA;AAsBD,oGAAoG;AACpG,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAA4E;IAE5E,MAAM,IAAI,GAAkB;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;QACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa;KAC5C,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9D,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/keys.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CallContext } from './runtime.js';
|
|
2
|
+
/** A stable, UUID-shaped string derived from `seed`. */
|
|
3
|
+
export declare function deterministicKey(seed: string): string;
|
|
4
|
+
/** A request key (llHTTPRequest, dataserver) that is a valid UUID, unique per script, kind and count. */
|
|
5
|
+
export declare function requestKey(ctx: CallContext, kind: string, n: number): string;
|
|
6
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAarD;AAED,yGAAyG;AACzG,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5E"}
|
package/dist/keys.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** A stable, UUID-shaped string derived from `seed`. */
|
|
2
|
+
export function deterministicKey(seed) {
|
|
3
|
+
let h1 = 0x811c9dc5;
|
|
4
|
+
for (let i = 0; i < seed.length; i++) {
|
|
5
|
+
h1 ^= seed.charCodeAt(i);
|
|
6
|
+
h1 = Math.imul(h1, 0x01000193) >>> 0;
|
|
7
|
+
}
|
|
8
|
+
let h2 = (h1 ^ 0xdeadbeef) >>> 0;
|
|
9
|
+
for (let i = 0; i < seed.length; i++) {
|
|
10
|
+
h2 ^= seed.charCodeAt(i) << (i & 31);
|
|
11
|
+
h2 = Math.imul(h2, 0x01000193) >>> 0;
|
|
12
|
+
}
|
|
13
|
+
const hex = (h1.toString(16).padStart(8, '0') + h2.toString(16).padStart(8, '0')).repeat(2);
|
|
14
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
15
|
+
}
|
|
16
|
+
/** A request key (llHTTPRequest, dataserver) that is a valid UUID, unique per script, kind and count. */
|
|
17
|
+
export function requestKey(ctx, kind, n) {
|
|
18
|
+
return deterministicKey(`${ctx.prim.key}/${ctx.script.scriptName}/${kind}/${n}`);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=keys.js.map
|
package/dist/keys.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,EAAE,GAAG,UAAU,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACxB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3F,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAA;AAChH,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,UAAU,CAAC,GAAgB,EAAE,IAAY,EAAE,CAAS;IAClE,OAAO,gBAAgB,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;AAClF,CAAC"}
|
package/dist/linkset.d.ts
CHANGED
|
@@ -3,13 +3,22 @@ import { Prim } from './prim.js';
|
|
|
3
3
|
import type { Script } from './script.js';
|
|
4
4
|
import type { LinksetDataEntry } from './builtins/linksetdata.js';
|
|
5
5
|
import type { LinkedMessageEntry } from './builtins/linked.js';
|
|
6
|
+
import type { ChatType } from './runtime.js';
|
|
7
|
+
import type { World } from './world.js';
|
|
6
8
|
import { LINK_ROOT, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN, LINK_THIS } from './generated/constants.js';
|
|
7
9
|
export { LINK_ROOT, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN, LINK_THIS };
|
|
8
10
|
export interface LinksetOptions {
|
|
9
11
|
/** Owner key applied to all scripts in this linkset. */
|
|
10
12
|
readonly owner?: string;
|
|
11
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Unix time in seconds at virtual time 0, read by llGetUnixTime and
|
|
15
|
+
* friends. Default 0. Ignored in a world, whose clock the linkset shares.
|
|
16
|
+
*/
|
|
12
17
|
readonly startUnixTime?: number;
|
|
18
|
+
/** World to join; the linkset shares its clock and chats with its other linksets. */
|
|
19
|
+
readonly world?: World;
|
|
20
|
+
/** Region of `world` the linkset is in. */
|
|
21
|
+
readonly region?: string;
|
|
13
22
|
}
|
|
14
23
|
/**
|
|
15
24
|
* A linkset owns the shared world state for its prims and scripts: the
|
|
@@ -32,9 +41,13 @@ export declare class Linkset {
|
|
|
32
41
|
* `clearLinkedMessages()` between scenarios to keep memory bounded.
|
|
33
42
|
*/
|
|
34
43
|
readonly linkedMessages: LinkedMessageEntry[];
|
|
44
|
+
/** Virtual times of recent llHTTPRequest calls, for the per-object throttle. */
|
|
45
|
+
readonly httpRequestTimes: number[];
|
|
35
46
|
/** Drop every captured cross-script linked-message entry. */
|
|
36
47
|
clearLinkedMessages(): void;
|
|
37
48
|
readonly owner: string;
|
|
49
|
+
readonly world?: World;
|
|
50
|
+
readonly region: string | undefined;
|
|
38
51
|
constructor(opts?: LinksetOptions);
|
|
39
52
|
/** Add a prim to the linkset; assigns a 1-based linkNumber. */
|
|
40
53
|
addPrim(prim: Prim): Prim;
|
|
@@ -69,9 +82,21 @@ export declare class Linkset {
|
|
|
69
82
|
key: string;
|
|
70
83
|
message: string;
|
|
71
84
|
}): void;
|
|
85
|
+
/**
|
|
86
|
+
* Queue chat a script in prim `from` sent on the listens of every prim it
|
|
87
|
+
* reaches, in this linkset and the rest of its world. Whisper, say and
|
|
88
|
+
* shout reach prims within 10, 20 and 100 m in any region; llRegionSay
|
|
89
|
+
* reaches the sender's region, and llRegionSayTo only the prim keyed `to`
|
|
90
|
+
* in that region. A prim never hears its own chat.
|
|
91
|
+
*/
|
|
92
|
+
routeChat(from: Prim, type: ChatType, channel: number, message: string, to?: string): void;
|
|
93
|
+
private globalPosition;
|
|
72
94
|
/**
|
|
73
95
|
* Advance the shared clock by `ms` and drain every event that becomes
|
|
74
|
-
* due, dispatching each to its
|
|
96
|
+
* due across the linkset, or its whole world, dispatching each to its
|
|
97
|
+
* target script. The clock steps to each
|
|
98
|
+
* event's due time before its handler runs, so handlers see the time the
|
|
99
|
+
* event fired rather than the end of the window.
|
|
75
100
|
*/
|
|
76
101
|
advanceTime(ms: number): void;
|
|
77
102
|
/**
|
|
@@ -86,6 +111,6 @@ export declare class Linkset {
|
|
|
86
111
|
* up on the next outer drain. Worth-the-trade for avoiding an O(scripts)
|
|
87
112
|
* allocation per event.
|
|
88
113
|
*/
|
|
89
|
-
drainQueue(): void;
|
|
114
|
+
drainQueue(until?: number): void;
|
|
90
115
|
}
|
|
91
116
|
//# sourceMappingURL=linkset.d.ts.map
|
package/dist/linkset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkset.d.ts","sourceRoot":"","sources":["../src/linkset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"linkset.d.ts","sourceRoot":"","sources":["../src/linkset.ts"],"names":[],"mappings":"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"}
|