@rezless/vm 0.6.2 → 0.8.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 (273) hide show
  1. package/dist/builtins/agents.d.ts +14 -0
  2. package/dist/builtins/agents.d.ts.map +1 -0
  3. package/dist/builtins/agents.js +117 -0
  4. package/dist/builtins/agents.js.map +1 -0
  5. package/dist/builtins/animation.d.ts +46 -0
  6. package/dist/builtins/animation.d.ts.map +1 -0
  7. package/dist/builtins/animation.js +316 -0
  8. package/dist/builtins/animation.js.map +1 -0
  9. package/dist/builtins/attachments.d.ts +9 -0
  10. package/dist/builtins/attachments.d.ts.map +1 -0
  11. package/dist/builtins/attachments.js +127 -0
  12. package/dist/builtins/attachments.js.map +1 -0
  13. package/dist/builtins/base64.d.ts +13 -2
  14. package/dist/builtins/base64.d.ts.map +1 -1
  15. package/dist/builtins/base64.js +8 -6
  16. package/dist/builtins/base64.js.map +1 -1
  17. package/dist/builtins/camera.d.ts +35 -0
  18. package/dist/builtins/camera.d.ts.map +1 -0
  19. package/dist/builtins/camera.js +104 -0
  20. package/dist/builtins/camera.js.map +1 -0
  21. package/dist/builtins/collision.d.ts +21 -0
  22. package/dist/builtins/collision.d.ts.map +1 -0
  23. package/dist/builtins/collision.js +44 -0
  24. package/dist/builtins/collision.js.map +1 -0
  25. package/dist/builtins/controls.d.ts +19 -0
  26. package/dist/builtins/controls.d.ts.map +1 -0
  27. package/dist/builtins/controls.js +27 -0
  28. package/dist/builtins/controls.js.map +1 -0
  29. package/dist/builtins/damage.d.ts +24 -0
  30. package/dist/builtins/damage.d.ts.map +1 -0
  31. package/dist/builtins/damage.js +166 -0
  32. package/dist/builtins/damage.js.map +1 -0
  33. package/dist/builtins/detected.d.ts +22 -1
  34. package/dist/builtins/detected.d.ts.map +1 -1
  35. package/dist/builtins/detected.js +28 -2
  36. package/dist/builtins/detected.js.map +1 -1
  37. package/dist/builtins/dialog.d.ts +23 -0
  38. package/dist/builtins/dialog.d.ts.map +1 -0
  39. package/dist/builtins/dialog.js +69 -0
  40. package/dist/builtins/dialog.js.map +1 -0
  41. package/dist/builtins/email.d.ts +61 -0
  42. package/dist/builtins/email.d.ts.map +1 -0
  43. package/dist/builtins/email.js +121 -0
  44. package/dist/builtins/email.js.map +1 -0
  45. package/dist/builtins/environment.d.ts +27 -0
  46. package/dist/builtins/environment.d.ts.map +1 -0
  47. package/dist/builtins/environment.js +126 -0
  48. package/dist/builtins/environment.js.map +1 -0
  49. package/dist/builtins/experience.d.ts +51 -0
  50. package/dist/builtins/experience.d.ts.map +1 -0
  51. package/dist/builtins/experience.js +202 -0
  52. package/dist/builtins/experience.js.map +1 -0
  53. package/dist/builtins/game-control.d.ts +17 -0
  54. package/dist/builtins/game-control.d.ts.map +1 -0
  55. package/dist/builtins/game-control.js +21 -0
  56. package/dist/builtins/game-control.js.map +1 -0
  57. package/dist/builtins/give.d.ts +16 -0
  58. package/dist/builtins/give.d.ts.map +1 -0
  59. package/dist/builtins/give.js +137 -0
  60. package/dist/builtins/give.js.map +1 -0
  61. package/dist/builtins/ground.d.ts +18 -0
  62. package/dist/builtins/ground.d.ts.map +1 -0
  63. package/dist/builtins/ground.js +83 -0
  64. package/dist/builtins/ground.js.map +1 -0
  65. package/dist/builtins/hash.d.ts +1 -0
  66. package/dist/builtins/hash.d.ts.map +1 -1
  67. package/dist/builtins/hash.js +12 -2
  68. package/dist/builtins/hash.js.map +1 -1
  69. package/dist/builtins/http.d.ts +99 -4
  70. package/dist/builtins/http.d.ts.map +1 -1
  71. package/dist/builtins/http.js +216 -6
  72. package/dist/builtins/http.js.map +1 -1
  73. package/dist/builtins/index.d.ts.map +1 -1
  74. package/dist/builtins/index.js +250 -14
  75. package/dist/builtins/index.js.map +1 -1
  76. package/dist/builtins/inventory.d.ts +8 -5
  77. package/dist/builtins/inventory.d.ts.map +1 -1
  78. package/dist/builtins/inventory.js +37 -15
  79. package/dist/builtins/inventory.js.map +1 -1
  80. package/dist/builtins/json.d.ts.map +1 -1
  81. package/dist/builtins/json.js +45 -34
  82. package/dist/builtins/json.js.map +1 -1
  83. package/dist/builtins/land.d.ts +29 -0
  84. package/dist/builtins/land.d.ts.map +1 -0
  85. package/dist/builtins/land.js +339 -0
  86. package/dist/builtins/land.js.map +1 -0
  87. package/dist/builtins/link-info.js +2 -2
  88. package/dist/builtins/link-info.js.map +1 -1
  89. package/dist/builtins/links.d.ts +20 -0
  90. package/dist/builtins/links.d.ts.map +1 -0
  91. package/dist/builtins/links.js +53 -0
  92. package/dist/builtins/links.js.map +1 -0
  93. package/dist/builtins/linksetdata.d.ts +5 -0
  94. package/dist/builtins/linksetdata.d.ts.map +1 -1
  95. package/dist/builtins/linksetdata.js +22 -9
  96. package/dist/builtins/linksetdata.js.map +1 -1
  97. package/dist/builtins/lists.d.ts +21 -0
  98. package/dist/builtins/lists.d.ts.map +1 -1
  99. package/dist/builtins/lists.js +137 -17
  100. package/dist/builtins/lists.js.map +1 -1
  101. package/dist/builtins/math.d.ts +18 -0
  102. package/dist/builtins/math.d.ts.map +1 -1
  103. package/dist/builtins/math.js +104 -5
  104. package/dist/builtins/math.js.map +1 -1
  105. package/dist/builtins/media.d.ts +8 -0
  106. package/dist/builtins/media.d.ts.map +1 -0
  107. package/dist/builtins/media.js +167 -0
  108. package/dist/builtins/media.js.map +1 -0
  109. package/dist/builtins/motion.d.ts +79 -0
  110. package/dist/builtins/motion.d.ts.map +1 -0
  111. package/dist/builtins/motion.js +396 -0
  112. package/dist/builtins/motion.js.map +1 -0
  113. package/dist/builtins/notecard-search.d.ts +15 -0
  114. package/dist/builtins/notecard-search.d.ts.map +1 -0
  115. package/dist/builtins/notecard-search.js +374 -0
  116. package/dist/builtins/notecard-search.js.map +1 -0
  117. package/dist/builtins/object-animation.d.ts +21 -0
  118. package/dist/builtins/object-animation.d.ts.map +1 -0
  119. package/dist/builtins/object-animation.js +193 -0
  120. package/dist/builtins/object-animation.js.map +1 -0
  121. package/dist/builtins/object-reads.d.ts +39 -0
  122. package/dist/builtins/object-reads.d.ts.map +1 -0
  123. package/dist/builtins/object-reads.js +332 -0
  124. package/dist/builtins/object-reads.js.map +1 -0
  125. package/dist/builtins/object.d.ts +11 -2
  126. package/dist/builtins/object.d.ts.map +1 -1
  127. package/dist/builtins/object.js +32 -8
  128. package/dist/builtins/object.js.map +1 -1
  129. package/dist/builtins/particles.d.ts +4 -0
  130. package/dist/builtins/particles.d.ts.map +1 -0
  131. package/dist/builtins/particles.js +65 -0
  132. package/dist/builtins/particles.js.map +1 -0
  133. package/dist/builtins/pathfinding.d.ts +39 -0
  134. package/dist/builtins/pathfinding.d.ts.map +1 -0
  135. package/dist/builtins/pathfinding.js +83 -0
  136. package/dist/builtins/pathfinding.js.map +1 -0
  137. package/dist/builtins/permissions.d.ts.map +1 -1
  138. package/dist/builtins/permissions.js +6 -0
  139. package/dist/builtins/permissions.js.map +1 -1
  140. package/dist/builtins/physics.d.ts +49 -0
  141. package/dist/builtins/physics.d.ts.map +1 -0
  142. package/dist/builtins/physics.js +47 -0
  143. package/dist/builtins/physics.js.map +1 -0
  144. package/dist/builtins/prim-accessors.d.ts +4 -0
  145. package/dist/builtins/prim-accessors.d.ts.map +1 -1
  146. package/dist/builtins/prim-accessors.js +75 -28
  147. package/dist/builtins/prim-accessors.js.map +1 -1
  148. package/dist/builtins/prim-params.d.ts.map +1 -1
  149. package/dist/builtins/prim-params.js +6 -2
  150. package/dist/builtins/prim-params.js.map +1 -1
  151. package/dist/builtins/raycast.d.ts +3 -0
  152. package/dist/builtins/raycast.d.ts.map +1 -0
  153. package/dist/builtins/raycast.js +65 -0
  154. package/dist/builtins/raycast.js.map +1 -0
  155. package/dist/builtins/region.d.ts +31 -0
  156. package/dist/builtins/region.d.ts.map +1 -0
  157. package/dist/builtins/region.js +125 -0
  158. package/dist/builtins/region.js.map +1 -0
  159. package/dist/builtins/remote-load.d.ts +3 -0
  160. package/dist/builtins/remote-load.d.ts.map +1 -0
  161. package/dist/builtins/remote-load.js +53 -0
  162. package/dist/builtins/remote-load.js.map +1 -0
  163. package/dist/builtins/rez.d.ts +10 -0
  164. package/dist/builtins/rez.d.ts.map +1 -0
  165. package/dist/builtins/rez.js +255 -0
  166. package/dist/builtins/rez.js.map +1 -0
  167. package/dist/builtins/rsa.d.ts +4 -0
  168. package/dist/builtins/rsa.d.ts.map +1 -0
  169. package/dist/builtins/rsa.js +44 -0
  170. package/dist/builtins/rsa.js.map +1 -0
  171. package/dist/builtins/script-control.d.ts +8 -3
  172. package/dist/builtins/script-control.d.ts.map +1 -1
  173. package/dist/builtins/script-control.js +27 -8
  174. package/dist/builtins/script-control.js.map +1 -1
  175. package/dist/builtins/sensor.d.ts +11 -0
  176. package/dist/builtins/sensor.d.ts.map +1 -0
  177. package/dist/builtins/sensor.js +145 -0
  178. package/dist/builtins/sensor.js.map +1 -0
  179. package/dist/builtins/sit.d.ts +23 -0
  180. package/dist/builtins/sit.d.ts.map +1 -0
  181. package/dist/builtins/sit.js +150 -0
  182. package/dist/builtins/sit.js.map +1 -0
  183. package/dist/builtins/sound.d.ts +19 -0
  184. package/dist/builtins/sound.d.ts.map +1 -0
  185. package/dist/builtins/sound.js +113 -0
  186. package/dist/builtins/sound.js.map +1 -0
  187. package/dist/builtins/strings.d.ts +6 -0
  188. package/dist/builtins/strings.d.ts.map +1 -1
  189. package/dist/builtins/strings.js +47 -6
  190. package/dist/builtins/strings.js.map +1 -1
  191. package/dist/builtins/targets.d.ts +12 -0
  192. package/dist/builtins/targets.d.ts.map +1 -0
  193. package/dist/builtins/targets.js +121 -0
  194. package/dist/builtins/targets.js.map +1 -0
  195. package/dist/builtins/time.d.ts +15 -5
  196. package/dist/builtins/time.d.ts.map +1 -1
  197. package/dist/builtins/time.js +36 -11
  198. package/dist/builtins/time.js.map +1 -1
  199. package/dist/builtins/vehicles.d.ts +22 -0
  200. package/dist/builtins/vehicles.d.ts.map +1 -0
  201. package/dist/builtins/vehicles.js +78 -0
  202. package/dist/builtins/vehicles.js.map +1 -0
  203. package/dist/builtins/viewer.d.ts +39 -0
  204. package/dist/builtins/viewer.d.ts.map +1 -0
  205. package/dist/builtins/viewer.js +74 -0
  206. package/dist/builtins/viewer.js.map +1 -0
  207. package/dist/clock.d.ts +45 -7
  208. package/dist/clock.d.ts.map +1 -1
  209. package/dist/clock.js +125 -14
  210. package/dist/clock.js.map +1 -1
  211. package/dist/dispatch.d.ts +3 -2
  212. package/dist/dispatch.d.ts.map +1 -1
  213. package/dist/dispatch.js +15 -10
  214. package/dist/dispatch.js.map +1 -1
  215. package/dist/experience.d.ts +39 -0
  216. package/dist/experience.d.ts.map +1 -0
  217. package/dist/experience.js +38 -0
  218. package/dist/experience.js.map +1 -0
  219. package/dist/index.d.ts +20 -3
  220. package/dist/index.d.ts.map +1 -1
  221. package/dist/index.js +1 -0
  222. package/dist/index.js.map +1 -1
  223. package/dist/interpreter.d.ts +5 -10
  224. package/dist/interpreter.d.ts.map +1 -1
  225. package/dist/interpreter.js +143 -70
  226. package/dist/interpreter.js.map +1 -1
  227. package/dist/inventory.d.ts +2 -0
  228. package/dist/inventory.d.ts.map +1 -1
  229. package/dist/inventory.js +2 -0
  230. package/dist/inventory.js.map +1 -1
  231. package/dist/linkset.d.ts +147 -11
  232. package/dist/linkset.d.ts.map +1 -1
  233. package/dist/linkset.js +401 -28
  234. package/dist/linkset.js.map +1 -1
  235. package/dist/memory.d.ts +5 -2
  236. package/dist/memory.d.ts.map +1 -1
  237. package/dist/memory.js +5 -2
  238. package/dist/memory.js.map +1 -1
  239. package/dist/prim-params.d.ts +27 -10
  240. package/dist/prim-params.d.ts.map +1 -1
  241. package/dist/prim-params.js +209 -125
  242. package/dist/prim-params.js.map +1 -1
  243. package/dist/prim.d.ts +95 -5
  244. package/dist/prim.d.ts.map +1 -1
  245. package/dist/prim.js +96 -7
  246. package/dist/prim.js.map +1 -1
  247. package/dist/runtime.d.ts +52 -3
  248. package/dist/runtime.d.ts.map +1 -1
  249. package/dist/script.d.ts +171 -12
  250. package/dist/script.d.ts.map +1 -1
  251. package/dist/script.js +480 -73
  252. package/dist/script.js.map +1 -1
  253. package/dist/typecheck.d.ts +3 -1
  254. package/dist/typecheck.d.ts.map +1 -1
  255. package/dist/typecheck.js +25 -5
  256. package/dist/typecheck.js.map +1 -1
  257. package/dist/values/coerce.d.ts +1 -1
  258. package/dist/values/coerce.d.ts.map +1 -1
  259. package/dist/values/coerce.js +10 -6
  260. package/dist/values/coerce.js.map +1 -1
  261. package/dist/values/format.d.ts +3 -1
  262. package/dist/values/format.d.ts.map +1 -1
  263. package/dist/values/format.js +10 -6
  264. package/dist/values/format.js.map +1 -1
  265. package/dist/values/ops.d.ts +3 -0
  266. package/dist/values/ops.d.ts.map +1 -1
  267. package/dist/values/ops.js +2 -2
  268. package/dist/values/ops.js.map +1 -1
  269. package/dist/world.d.ts +247 -1
  270. package/dist/world.d.ts.map +1 -1
  271. package/dist/world.js +318 -6
  272. package/dist/world.js.map +1 -1
  273. package/package.json +2 -2
@@ -0,0 +1,14 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ export declare const llGetUsername: BuiltinImpl;
3
+ export declare const llGetDisplayName: BuiltinImpl;
4
+ export declare const llGetAgentInfo: BuiltinImpl;
5
+ export declare const llGetAgentLanguage: BuiltinImpl;
6
+ export declare const llGetAgentSize: BuiltinImpl;
7
+ export declare const llName2Key: BuiltinImpl;
8
+ /** Global fixture lookup; answers on every script in this prim, like dataserver. */
9
+ export declare const llRequestUserKey: BuiltinImpl;
10
+ export declare const llGetAgentList: BuiltinImpl;
11
+ export declare const llGetVisualParams: BuiltinImpl;
12
+ export declare const llSameGroup: BuiltinImpl;
13
+ export declare const llIsFriend: BuiltinImpl;
14
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/builtins/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,eAAe,CAAA;AAa7D,eAAO,MAAM,aAAa,EAAE,WAA2E,CAAA;AACvG,eAAO,MAAM,gBAAgB,EAAE,WAA8E,CAAA;AAC7G,eAAO,MAAM,cAAc,EAAE,WAAsE,CAAA;AACnG,eAAO,MAAM,kBAAkB,EAAE,WAA2E,CAAA;AAC5G,eAAO,MAAM,cAAc,EAAE,WAA2F,CAAA;AAoBxH,eAAO,MAAM,UAAU,EAAE,WAGxB,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,WAS9B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,WAa5B,CAAA;AAQD,eAAO,MAAM,iBAAiB,EAAE,WAc/B,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,WASzB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WASxB,CAAA"}
@@ -0,0 +1,117 @@
1
+ import { NULL_KEY, ZERO_VECTOR } from '../values/types.js';
2
+ import { listElementType, typedList, uniformList } from '../values/list-types.js';
3
+ import { nextDataserverKey } from './dataserver.js';
4
+ import { findObjectPrim } from './object-reads.js';
5
+ const sameKey = (a, b) => a.toLowerCase() === b.toLowerCase();
6
+ const localAvatars = (ctx) => (ctx.linkset.world?.avatars ?? []).filter(a => a.region === ctx.linkset.region);
7
+ const avatar = (ctx, key) => localAvatars(ctx).find(a => sameKey(a.key, key));
8
+ export const llGetUsername = (ctx, args) => avatar(ctx, args[0])?.username ?? '';
9
+ export const llGetDisplayName = (ctx, args) => avatar(ctx, args[0])?.displayName ?? '';
10
+ export const llGetAgentInfo = (ctx, args) => avatar(ctx, args[0])?.info ?? 0;
11
+ export const llGetAgentLanguage = (ctx, args) => avatar(ctx, args[0])?.language ?? '';
12
+ export const llGetAgentSize = (ctx, args) => ({ ...(avatar(ctx, args[0])?.size ?? ZERO_VECTOR) });
13
+ // In-world, dotted input uses its first two components, whereas an extra
14
+ // space-separated word remains part of the surname and prevents a match.
15
+ function username(name) {
16
+ const clean = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
17
+ let first, last;
18
+ name = name.trim();
19
+ if (name.includes('.')) {
20
+ const parts = name.split('.');
21
+ first = clean(parts[0]);
22
+ last = clean(parts[1]);
23
+ }
24
+ else {
25
+ const parts = clean(name).split(' ');
26
+ first = parts.shift();
27
+ last = parts.join(' ') || 'resident';
28
+ }
29
+ return `${first}.${last}`;
30
+ }
31
+ export const llName2Key = (ctx, args) => {
32
+ const wanted = username(args[0]);
33
+ return localAvatars(ctx).find(a => username(a.username) === wanted)?.key ?? NULL_KEY;
34
+ };
35
+ /** Global fixture lookup; answers on every script in this prim, like dataserver. */
36
+ export const llRequestUserKey = (ctx, args) => {
37
+ const key = nextDataserverKey(ctx);
38
+ const wanted = username(args[0]);
39
+ const data = ctx.linkset.world?.avatars.find(a => username(a.username) === wanted)?.key ?? NULL_KEY;
40
+ ctx.state.dataserverRequests.push({ key, source: 'user_key', args: [args[0]], fulfilled: true });
41
+ for (const script of ctx.prim.scripts) {
42
+ ctx.state.clock.scheduleOn(script, ctx.state.clock.now, 'dataserver', { queryid: key, data });
43
+ }
44
+ return key;
45
+ };
46
+ export const llGetAgentList = (ctx, args) => {
47
+ const scope = args[0];
48
+ if (scope !== 1 && scope !== 2 && scope !== 4)
49
+ return uniformList(['INVALID_SCOPE'], 'string');
50
+ if (args[1].length)
51
+ return uniformList(['INVALID_OPTIONS'], 'string');
52
+ const { world, region } = ctx.linkset;
53
+ const parcel = region === undefined ? undefined : world?.parcelAt(region, ctx.prim.regionPosition());
54
+ const agents = localAvatars(ctx).filter(a => {
55
+ if (scope === 4)
56
+ return true;
57
+ const target = world.parcelAt(a.region, a.position);
58
+ if (scope === 1)
59
+ return target === parcel;
60
+ return sameKey(target?.owner ?? NULL_KEY, parcel?.owner ?? NULL_KEY);
61
+ });
62
+ return uniformList(agents.slice(0, 100).map(a => a.key), 'key');
63
+ };
64
+ const visualNames = {
65
+ height: 33, torso_length: 38, male: 80, heel_height: 198, platform_height: 503,
66
+ shoe_height: 616, hand_size: 675, head_size: 682, leg_length: 692, arm_length: 693,
67
+ neck_length: 756, waist_height: 814, hip_length: 842, hover: 11001,
68
+ };
69
+ const visualIDs = new Set(Object.values(visualNames));
70
+ export const llGetVisualParams = (ctx, args) => {
71
+ const found = avatar(ctx, args[0]);
72
+ if (!found)
73
+ return [];
74
+ const params = args[1];
75
+ const types = [];
76
+ const values = params.map((param, i) => {
77
+ const type = listElementType(params, i);
78
+ const id = type === 'integer' ? param
79
+ : type === 'string' ? visualNames[param.toLowerCase()] : undefined;
80
+ if (id === undefined || !visualIDs.has(id)) {
81
+ types.push('string');
82
+ return '';
83
+ }
84
+ types.push('float');
85
+ return found.visualParams[id] ?? 0;
86
+ });
87
+ return typedList(values, types);
88
+ };
89
+ function group(ctx) {
90
+ return ctx.linkset.world?.sensorProperties.get(ctx.linkset)?.group ?? NULL_KEY;
91
+ }
92
+ export const llSameGroup = (ctx, args) => {
93
+ const key = args[0];
94
+ const own = group(ctx);
95
+ if (sameKey(own, key))
96
+ return 1;
97
+ const target = avatar(ctx, key)
98
+ ?? ctx.linkset.world?.objects.find(o => o.region === ctx.linkset.region && sameKey(o.key, key));
99
+ if (target)
100
+ return Number(sameKey(own, target.group));
101
+ const prim = findObjectPrim(ctx, key);
102
+ return Number(prim !== undefined && sameKey(own, ctx.linkset.world?.sensorProperties.get(prim.linkset)?.group ?? NULL_KEY));
103
+ };
104
+ export const llIsFriend = (ctx, args) => {
105
+ if (group(ctx) !== NULL_KEY && sameKey(ctx.linkset.owner, group(ctx)))
106
+ return llSameGroup(ctx, args);
107
+ const key = args[0];
108
+ if (sameKey(key, ctx.linkset.owner))
109
+ return 0;
110
+ const avatars = ctx.linkset.world?.avatars ?? [];
111
+ const owner = avatars.find(a => sameKey(a.key, ctx.linkset.owner));
112
+ const target = avatars.find(a => sameKey(a.key, key));
113
+ if (!(owner && owner.region === ctx.linkset.region) && !(target && target.region === ctx.linkset.region))
114
+ return 0;
115
+ return owner?.friends.has(key.toLowerCase()) || target?.friends.has(ctx.linkset.owner.toLowerCase()) ? 1 : 0;
116
+ };
117
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/builtins/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ import type { Linkset } from '../linkset.js';
3
+ declare const DEFAULT_ANIMATIONS: {
4
+ readonly Crouching: 'crouch';
5
+ readonly CrouchWalking: 'crouchwalk';
6
+ readonly 'Falling Down': 'falldown';
7
+ readonly Flying: 'fly';
8
+ readonly FlyingSlow: 'flyslow';
9
+ readonly Hovering: 'hover';
10
+ readonly 'Hovering Down': 'hover_down';
11
+ readonly 'Hovering Up': 'hover_up';
12
+ readonly Jumping: 'jump';
13
+ readonly Landing: 'land';
14
+ readonly PreJumping: 'prejump';
15
+ readonly Running: 'run';
16
+ readonly Sitting: 'sit';
17
+ readonly 'Sitting on Ground': 'sit_ground_constrained';
18
+ readonly Standing: 'stand';
19
+ readonly 'Standing Up': 'standup';
20
+ readonly Striding: 'stride';
21
+ readonly 'Soft Landing': 'soft_land';
22
+ readonly 'Taking Off': 'hover_up';
23
+ readonly 'Turning Left': 'turnleft';
24
+ readonly 'Turning Right': 'turnright';
25
+ readonly Walking: 'walk';
26
+ };
27
+ export type AnimationState = keyof typeof DEFAULT_ANIMATIONS;
28
+ export interface AvatarAnimations {
29
+ state: AnimationState;
30
+ readonly playing: Set<string>;
31
+ readonly overrides: Map<AnimationState, string>;
32
+ }
33
+ export declare function animationAvatars(linkset: Linkset): Map<string, AvatarAnimations>;
34
+ /** Set locomotion, keeping script-started animations with unrelated UUIDs. */
35
+ export declare function setAnimationState(avatars: Map<string, AvatarAnimations>, agent: string, state: AnimationState): void;
36
+ /** The simulator reports playing animation keys in UUID order. */
37
+ export declare function playingAnimations(avatars: Map<string, AvatarAnimations>, agent: string): string[];
38
+ export declare const llStartAnimation: BuiltinImpl;
39
+ export declare const llStopAnimation: BuiltinImpl;
40
+ export declare const llGetAnimation: BuiltinImpl;
41
+ export declare const llGetAnimationList: BuiltinImpl;
42
+ export declare const llGetAnimationOverride: BuiltinImpl;
43
+ export declare const llSetAnimationOverride: BuiltinImpl;
44
+ export declare const llResetAnimationOverride: BuiltinImpl;
45
+ export {};
46
+ //# sourceMappingURL=animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../src/builtins/animation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAqJ5C,QAAA,MAAM,kBAAkB;aACtB,SAAS,EAAE,QAAQ;aACnB,aAAa,EAAE,YAAY;aAC3B,cAAc,EAAE,UAAU;aAC1B,MAAM,EAAE,KAAK;aACb,UAAU,EAAE,SAAS;aACrB,QAAQ,EAAE,OAAO;aACjB,eAAe,EAAE,YAAY;aAC7B,aAAa,EAAE,UAAU;aACzB,OAAO,EAAE,MAAM;aACf,OAAO,EAAE,MAAM;aACf,UAAU,EAAE,SAAS;aACrB,OAAO,EAAE,KAAK;aACd,OAAO,EAAE,KAAK;aACd,mBAAmB,EAAE,wBAAwB;aAC7C,QAAQ,EAAE,OAAO;aACjB,aAAa,EAAE,SAAS;aACxB,QAAQ,EAAE,QAAQ;aAClB,cAAc,EAAE,WAAW;aAC3B,YAAY,EAAE,UAAU;aACxB,cAAc,EAAE,UAAU;aAC1B,eAAe,EAAE,WAAW;aAC5B,OAAO,EAAE,MAAM;CACP,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,kBAAkB,CAAA;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;CAChD;AAOD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAahF;AAmBD,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAMpH;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjG;AAsBD,eAAO,MAAM,gBAAgB,EAAE,WAO9B,CAAA;AAID,eAAO,MAAM,eAAe,EAAE,WAS7B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,WAC6C,CAAA;AAE1E,eAAO,MAAM,kBAAkB,EAAE,WAC+C,CAAA;AAEhF,eAAO,MAAM,sBAAsB,EAAE,WAUpC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,WAkBpC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,WActC,CAAA"}
@@ -0,0 +1,316 @@
1
+ import { INVENTORY_ANIMATION, PERMISSION_TRIGGER_ANIMATION, PERMISSION_OVERRIDE_ANIMATIONS } from '../generated/constants.js';
2
+ import { uniformList } from '../values/list-types.js';
3
+ import { sayError } from './debug.js';
4
+ // https://wiki.secondlife.com/wiki/Internal_Animations
5
+ // In-world: builtins.lsl tried all 139 viewer names on Aditi, SLua Tideland,
6
+ // 2026-10-31. These 135 worked; the four *_new names did not.
7
+ const BUILT_IN_ANIMATIONS = new Map([
8
+ ['aim_l_bow', '46bb4359-de38-4ed8-6a22-f1f52fe8f506'],
9
+ ['aim_r_bazooka', 'b5b4a67d-0aee-30d2-72cd-77b333e932ef'],
10
+ ['aim_r_handgun', '3147d815-6338-b932-f011-16b56d9ac18b'],
11
+ ['aim_r_rifle', 'ea633413-8006-180a-c3ba-96dd1d756720'],
12
+ ['angry_fingerwag', 'c1bc7f36-3ba0-d844-f93c-93be945d644f'],
13
+ ['angry_tantrum', '11000694-3f41-adc2-606b-eee1d66f3724'],
14
+ ['away', 'fd037134-85d4-f241-72c6-4f42164fedee'],
15
+ ['backflip', 'c4ca6188-9127-4f31-0158-23c4e2f93304'],
16
+ ['blowkiss', 'db84829b-462c-ee83-1e27-9bbee66bd624'],
17
+ ['bow', '82e99230-c906-1403-4d9c-3889dd98daba'],
18
+ ['brush', '349a3801-54f9-bf2c-3bd0-1ac89772af01'],
19
+ ['busy', 'efcf670c-2d18-8128-973a-034ebc806b67'],
20
+ ['clap', '9b0c1c4e-8ac7-7969-1494-28c874c4f668'],
21
+ ['courtbow', '9ba1c942-08be-e43a-fb29-16ad440efc50'],
22
+ ['crouch', '201f3fdf-cb1f-dbec-201f-7333e328ae7c'],
23
+ ['crouchwalk', '47f5f6fb-22e5-ae44-f871-73aaaf4a6022'],
24
+ ['dance1', 'b68a3d7c-de9e-fc87-eec8-543d787e5b0d'],
25
+ ['dance2', '928cae18-e31d-76fd-9cc9-2f55160ff818'],
26
+ ['dance3', '30047778-10ea-1af7-6881-4db7a3a5a114'],
27
+ ['dance4', '951469f4-c7b2-c818-9dee-ad7eea8c30b7'],
28
+ ['dance5', '4bd69a1d-1114-a0b4-625f-84e0a5237155'],
29
+ ['dance6', 'cd28b69b-9c95-bb78-3f94-8d605ff1bb12'],
30
+ ['dance7', 'a54d8ee2-28bb-80a9-7f0c-7afbbe24a5d6'],
31
+ ['dance8', 'b0dc417c-1f11-af36-2e80-7e7489fa7cdc'],
32
+ ['dead', '57abaae6-1d17-7b1b-5f98-6d11a6411276'],
33
+ ['drink', '0f86e355-dd31-a61c-fdb0-3a96b9aad05f'],
34
+ ['express_afraid', '6b61c8e8-4747-0d75-12d7-e49ff207a4ca'],
35
+ ['express_afraid_emote', 'aa2df84d-cf8f-7218-527b-424a52de766e'],
36
+ ['express_anger', '5747a48e-073e-c331-f6f3-7c2149613d3e'],
37
+ ['express_anger_emote', '1a03b575-9634-b62a-5767-3a679e81f4de'],
38
+ ['express_bored', 'b906c4ba-703b-1940-32a3-0c7f7d791510'],
39
+ ['express_bored_emote', '214aa6c1-ba6a-4578-f27c-ce7688f61d0d'],
40
+ ['express_cry', '92624d3e-1068-f1aa-a5ec-8244585193ed'],
41
+ ['express_cry_emote', 'd535471b-85bf-3b4d-a542-93bea4f59d33'],
42
+ ['express_disdain', 'd4416ff1-09d3-300f-4183-1b68a19b9fc1'],
43
+ ['express_embarrased', '514af488-9051-044a-b3fc-d4dbf76377c6'],
44
+ ['express_embarrassed_emote', '0b8c8211-d78c-33e8-fa28-c51a9594e424'],
45
+ ['express_frown', 'fee3df48-fa3d-1015-1e26-a205810e3001'],
46
+ ['express_kiss', '1e8d90cc-a84e-e135-884c-7c82c8b03a14'],
47
+ ['express_laugh', '18b3a4b5-b463-bd48-e4b6-71eaac76c515'],
48
+ ['express_laugh_emote', '62570842-0950-96f8-341c-809e65110823'],
49
+ ['express_open_mouth', 'd63bc1f9-fc81-9625-a0c6-007176d82eb7'],
50
+ ['express_repulsed', '36f81a92-f076-5893-dc4b-7c3795e487cf'],
51
+ ['express_repulsed_emote', 'f76cda94-41d4-a229-2872-e0296e58afe1'],
52
+ ['express_sad', '0eb702e2-cc5a-9a88-56a5-661a55c0676a'],
53
+ ['express_sad_emote', 'eb6ebfb2-a4b3-a19c-d388-4dd5c03823f7'],
54
+ ['express_shrug', '70ea714f-3a97-d742-1b01-590a8fcd1db5'],
55
+ ['express_shrug_emote', 'a351b1bc-cc94-aac2-7bea-a7e6ebad15ef'],
56
+ ['express_smile', 'b7c7c833-e3d3-c4e3-9fc0-131237446312'],
57
+ ['express_surprise', '313b9881-4302-73c0-c7d0-0e7a36b6c224'],
58
+ ['express_surprise_emote', '728646d9-cc79-08b2-32d6-937f0a835c24'],
59
+ ['express_tongue_out', '835965c6-7f2f-bda2-5deb-2478737f91bf'],
60
+ ['express_toothsmile', 'b92ec1a5-e7ce-a76b-2b05-bcdb9311417e'],
61
+ ['express_wink', '869ecdad-a44b-671e-3266-56aef2e3ac2e'],
62
+ ['express_wink_emote', 'da020525-4d94-59d6-23d7-81fdebf33148'],
63
+ ['express_worry', '9f496bd2-589a-709f-16cc-69bf7df1d36c'],
64
+ ['express_worry_emote', '9c05e5c7-6f07-6ca4-ed5a-b230390c3950'],
65
+ ['falldown', '666307d9-a860-572d-6fd4-c3ab8865c094'],
66
+ ['female_walk', 'f5fc7433-043d-e819-8298-f519a119b688'],
67
+ ['fist_pump', '7db00ccd-f380-f3ee-439d-61968ec69c8a'],
68
+ ['fly', 'aec4610c-757f-bc4e-c092-c6e9caf18daf'],
69
+ ['flyslow', '2b5a38b2-5e00-3a97-a495-4c826bc443e6'],
70
+ ['hello', '9b29cd61-c45b-5689-ded2-91756b8d76a9'],
71
+ ['hold_l_bow', '8b102617-bcba-037b-86c1-b76219f90c88'],
72
+ ['hold_r_bazooka', 'ef62d355-c815-4816-2474-b1acc21094a6'],
73
+ ['hold_r_handgun', 'efdc1727-8b8a-c800-4077-975fc27ee2f2'],
74
+ ['hold_r_rifle', '3d94bad0-c55b-7dcc-8763-033c59405d33'],
75
+ ['hold_throw_r', '7570c7b5-1f22-56dd-56ef-a9168241bbb6'],
76
+ ['hover', '4ae8016b-31b9-03bb-c401-b1ea941db41d'],
77
+ ['hover_down', '20f063ea-8306-2562-0b07-5c853b37b31e'],
78
+ ['hover_up', '62c5de58-cb33-5743-3d07-9e4cd4352864'],
79
+ ['impatient', '5ea3991f-c293-392e-6860-91dfa01278a3'],
80
+ ['jump', '2305bd75-1ca9-b03b-1faa-b176b8a8c49e'],
81
+ ['jumpforjoy', '709ea28e-1573-c023-8bf8-520c8bc637fa'],
82
+ ['kick_roundhouse_r', '49aea43b-5ac3-8a44-b595-96100af0beda'],
83
+ ['kissmybutt', '19999406-3a3a-d58c-a2ac-d72e555dcf51'],
84
+ ['land', '7a17b059-12b2-41b1-570a-186368b6aa6f'],
85
+ ['laugh_short', 'ca5b3f14-3194-7a2b-c894-aa699b718d1f'],
86
+ ['motorcycle_sit', '08464f78-3a8e-2944-cba5-0c94aff3af29'],
87
+ ['musclebeach', '315c3a41-a5f3-0ba4-27da-f893f769e69b'],
88
+ ['no_head', '5a977ed9-7f72-44e9-4c4c-6e913df8ae74'],
89
+ ['no_unhappy', 'd83fa0e5-97ed-7eb2-e798-7bd006215cb4'],
90
+ ['nyanya', 'f061723d-0a18-754f-66ee-29a44795a32f'],
91
+ ['peace', 'b312b10e-65ab-a0a4-8b3c-1326ea8e3ed9'],
92
+ ['point_me', '17c024cc-eef2-f6a0-3527-9869876d7752'],
93
+ ['point_you', 'ec952cca-61ef-aa3b-2789-4d1344f016de'],
94
+ ['prejump', '7a4e87fe-de39-6fcb-6223-024b00893244'],
95
+ ['punch_l', 'f3300ad9-3462-1d07-2044-0fef80062da0'],
96
+ ['punch_onetwo', 'eefc79be-daae-a239-8c04-890f5d23654a'],
97
+ ['punch_r', 'c8e42d32-7310-6906-c903-cab5d4a34656'],
98
+ ['rps_countdown', '35db4f7e-28c2-6679-cea9-3ee108f7fc7f'],
99
+ ['rps_paper', '0836b67f-7f7b-f37b-c00a-460dc1521f5a'],
100
+ ['rps_rock', '42dd95d5-0bc6-6392-f650-777304946c0f'],
101
+ ['rps_scissors', '16803a9f-5140-e042-4d7b-d28ba247c325'],
102
+ ['run', '05ddbff8-aaa9-92a1-2b74-8fe77a29b445'],
103
+ ['salute', 'cd7668a6-7011-d7e2-ead8-fc69eff1a104'],
104
+ ['shoot_l_bow', 'e04d450d-fdb5-0432-fd68-818aaf5935f8'],
105
+ ['shout', '6bd01860-4ebd-127a-bb3d-d1427e8e0c42'],
106
+ ['sit', '1a5fe8ac-a804-8a5d-7cbd-56bd83184568'],
107
+ ['sit_female', 'b1709c8d-ecd3-54a1-4f28-d55ac0840782'],
108
+ ['sit_generic', '245f3c54-f1c0-bf2e-811f-46d8eeb386e7'],
109
+ ['sit_ground', '1c7600d6-661f-b87b-efe2-d7421eb93c86'],
110
+ ['sit_ground_constrained', '1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e'],
111
+ ['sit_to_stand', 'a8dee56f-2eae-9e7a-05a2-6fb92b97e21e'],
112
+ ['sleep', 'f2bed5f9-9d44-39af-b0cd-257b2a17fe40'],
113
+ ['smoke_idle', 'd2f2ee58-8ad1-06c9-d8d3-3827ba31567a'],
114
+ ['smoke_inhale', '6802d553-49da-0778-9f85-1599a2266526'],
115
+ ['smoke_throw_down', '0a9fb970-8b44-9114-d3a9-bf69cfe804d6'],
116
+ ['snapshot', 'eae8905b-271a-99e2-4c0e-31106afd100c'],
117
+ ['soft_land', 'f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57'],
118
+ ['stand', '2408fe9e-df1d-1d7d-f4ff-1384fa7b350f'],
119
+ ['stand_1', '15468e00-3400-bb66-cecc-646d7c14458e'],
120
+ ['stand_2', '370f3a20-6ca6-9971-848c-9a01bc42ae3c'],
121
+ ['stand_3', '42b46214-4b44-79ae-deb8-0df61424ff4b'],
122
+ ['stand_4', 'f22fed8b-a5ed-2c93-64d5-bdd8b93c889f'],
123
+ ['standup', '3da1d753-028a-5446-24f3-9c9b856d9422'],
124
+ ['stretch', '80700431-74ec-a008-14f8-77575e73693f'],
125
+ ['stride', '1cb562b0-ba21-2202-efb3-30f82cdf9595'],
126
+ ['surf', '41426836-7437-7e89-025d-0aa4d10f1d69'],
127
+ ['sword_strike_r', '85428680-6bf9-3e64-b489-6f81087c24bd'],
128
+ ['talk', '5c682a95-6da4-a463-0bf6-0f5b7be129d1'],
129
+ ['throw_r', 'aa134404-7dac-7aca-2cba-435f9db875ca'],
130
+ ['tryon_shirt', '83ff59fe-2346-f236-9009-4e3608af64c1'],
131
+ ['turn_180', '038fcec9-5ebd-8a8e-0e2e-6e71a0a1ac53'],
132
+ ['turnback_180', '6883a61a-b27b-5914-a61e-dda118a9ee2c'],
133
+ ['turnleft', '56e0ba0d-4a9f-7f27-6117-32f2ebbf6135'],
134
+ ['turnright', '2d6daa51-3192-6794-8e2e-a15f8338ec30'],
135
+ ['type', 'c541c47f-e0c0-058b-ad1a-d6ae3a4584d9'],
136
+ ['walk', '6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0'],
137
+ ['whisper', '7693f268-06c7-ea71-fa21-2b30d6533f8f'],
138
+ ['whistle', 'b1ed7982-c68e-a982-7561-52a88a5298c0'],
139
+ ['wink_hollywood', 'c0c4030f-c02b-49de-24ba-2331f43fe41c'],
140
+ ['yes_happy', 'b8c8b2a3-9008-1771-3bfc-90924955ab2d'],
141
+ ['yes_head', '15dd911d-be82-2856-26db-27659b142875'],
142
+ ['yoga_float', '42ecd00b-9947-a97c-400a-bbc9174c7aeb'],
143
+ ]);
144
+ // https://wiki.secondlife.com/wiki/LlGetAnimationOverride
145
+ // In-world: defaults.lsl confirmed the state names and defaults; Standing was
146
+ // also measured after llResetAnimationOverride("ALL") in animation.lsl.
147
+ const DEFAULT_ANIMATIONS = {
148
+ Crouching: 'crouch',
149
+ CrouchWalking: 'crouchwalk',
150
+ 'Falling Down': 'falldown',
151
+ Flying: 'fly',
152
+ FlyingSlow: 'flyslow',
153
+ Hovering: 'hover',
154
+ 'Hovering Down': 'hover_down',
155
+ 'Hovering Up': 'hover_up',
156
+ Jumping: 'jump',
157
+ Landing: 'land',
158
+ PreJumping: 'prejump',
159
+ Running: 'run',
160
+ Sitting: 'sit',
161
+ 'Sitting on Ground': 'sit_ground_constrained',
162
+ Standing: 'stand',
163
+ 'Standing Up': 'standup',
164
+ Striding: 'stride',
165
+ 'Soft Landing': 'soft_land',
166
+ 'Taking Off': 'hover_up',
167
+ 'Turning Left': 'turnleft',
168
+ 'Turning Right': 'turnright',
169
+ Walking: 'walk',
170
+ };
171
+ // Use the existing clock to share avatar state across scripts and linksets in
172
+ // a World, including scripts removed or reset. Outside a World, linksets have
173
+ // their own clocks. The weak key lets a discarded test world be collected.
174
+ const avatarsByClock = new WeakMap();
175
+ export function animationAvatars(linkset) {
176
+ let regions = avatarsByClock.get(linkset.clock);
177
+ if (!regions) {
178
+ regions = new Map();
179
+ avatarsByClock.set(linkset.clock, regions);
180
+ }
181
+ const region = linkset.region ?? '';
182
+ let avatars = regions.get(region);
183
+ if (!avatars) {
184
+ avatars = new Map();
185
+ regions.set(region, avatars);
186
+ }
187
+ return avatars;
188
+ }
189
+ function defaultAnimation(avatar) {
190
+ return avatar.overrides.get(avatar.state) ?? BUILT_IN_ANIMATIONS.get(DEFAULT_ANIMATIONS[avatar.state]);
191
+ }
192
+ function avatarFor(avatars, agent) {
193
+ const key = agent.toLowerCase();
194
+ let avatar = avatars.get(key);
195
+ if (!avatar) {
196
+ avatar = { state: 'Standing', playing: new Set(), overrides: new Map() };
197
+ avatar.playing.add(defaultAnimation(avatar));
198
+ avatars.set(key, avatar);
199
+ }
200
+ return avatar;
201
+ }
202
+ // In-world: review-collision-repeat.lsl -> explicitly starting stand does not
203
+ // preserve it across walking (Aditi, SLua Tideland, 2026-10-31).
204
+ /** Set locomotion, keeping script-started animations with unrelated UUIDs. */
205
+ export function setAnimationState(avatars, agent, state) {
206
+ if (!Object.hasOwn(DEFAULT_ANIMATIONS, state))
207
+ throw new Error(`Unknown animation state '${state}'`);
208
+ const avatar = avatarFor(avatars, agent);
209
+ avatar.playing.delete(defaultAnimation(avatar));
210
+ avatar.state = state;
211
+ avatar.playing.add(defaultAnimation(avatar));
212
+ }
213
+ /** The simulator reports playing animation keys in UUID order. */
214
+ export function playingAnimations(avatars, agent) {
215
+ return [...(avatars.get(agent.toLowerCase())?.playing ?? [])].sort();
216
+ }
217
+ function permitted(ctx, permission) {
218
+ // In-world: permission failures are silent, including invalid arguments.
219
+ return (ctx.state.permissions.granted & permission) !== 0;
220
+ }
221
+ function permissionAvatar(ctx) {
222
+ return avatarFor(ctx.state.animations, ctx.state.permissions.agent);
223
+ }
224
+ function resolveAnimation(ctx, name) {
225
+ const item = ctx.prim.inventory.find(item => item.name === name && item.type === INVENTORY_ANIMATION);
226
+ return item?.key.toLowerCase() ?? BUILT_IN_ANIMATIONS.get(name.toLowerCase());
227
+ }
228
+ function knownState(ctx, state) {
229
+ if (Object.hasOwn(DEFAULT_ANIMATIONS, state))
230
+ return true;
231
+ sayError(ctx, `Unknown animation state '${state}'`);
232
+ return false;
233
+ }
234
+ export const llStartAnimation = (ctx, args) => {
235
+ if (!permitted(ctx, PERMISSION_TRIGGER_ANIMATION))
236
+ return undefined;
237
+ const name = args[0];
238
+ const key = resolveAnimation(ctx, name);
239
+ if (key === undefined)
240
+ sayError(ctx, `Could not find animation '${name}'`);
241
+ else
242
+ permissionAvatar(ctx).playing.add(key);
243
+ return undefined;
244
+ };
245
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
246
+ export const llStopAnimation = (ctx, args) => {
247
+ if (!permitted(ctx, PERMISSION_TRIGGER_ANIMATION))
248
+ return undefined;
249
+ const name = args[0];
250
+ // In-world: review-uuid-confirmed.lsl -> UUID-shaped inventory name stops
251
+ // its asset, not the raw UUID (Aditi, SLua Tideland, 2026-10-31).
252
+ const key = resolveAnimation(ctx, name) ?? (UUID.test(name) ? name.toLowerCase() : undefined);
253
+ if (key === undefined)
254
+ sayError(ctx, `Could not find animation '${name}'.`);
255
+ else
256
+ permissionAvatar(ctx).playing.delete(key);
257
+ return undefined;
258
+ };
259
+ export const llGetAnimation = (ctx, args) => ctx.state.animations.get(args[0].toLowerCase())?.state ?? '';
260
+ export const llGetAnimationList = (ctx, args) => uniformList(playingAnimations(ctx.state.animations, args[0]), 'key');
261
+ export const llGetAnimationOverride = (ctx, args) => {
262
+ if (!permitted(ctx, PERMISSION_TRIGGER_ANIMATION | PERMISSION_OVERRIDE_ANIMATIONS))
263
+ return '';
264
+ const state = args[0];
265
+ if (!knownState(ctx, state))
266
+ return '';
267
+ const key = permissionAvatar(ctx).overrides.get(state);
268
+ if (key === undefined)
269
+ return DEFAULT_ANIMATIONS[state];
270
+ for (const [name, builtinKey] of BUILT_IN_ANIMATIONS) {
271
+ if (builtinKey === key)
272
+ return name;
273
+ }
274
+ return ctx.prim.inventory.find(item => item.type === INVENTORY_ANIMATION && item.key.toLowerCase() === key)?.name ?? '';
275
+ };
276
+ export const llSetAnimationOverride = (ctx, args) => {
277
+ if (!permitted(ctx, PERMISSION_OVERRIDE_ANIMATIONS))
278
+ return undefined;
279
+ const state = args[0];
280
+ if (!knownState(ctx, state))
281
+ return undefined;
282
+ const name = args[1];
283
+ const key = resolveAnimation(ctx, name);
284
+ if (key === undefined) {
285
+ sayError(ctx, `Could not find animation '${name}'`);
286
+ return undefined;
287
+ }
288
+ const avatar = permissionAvatar(ctx);
289
+ const previous = defaultAnimation(avatar);
290
+ avatar.overrides.set(state, key);
291
+ if (state === avatar.state) {
292
+ avatar.playing.delete(previous);
293
+ avatar.playing.add(key);
294
+ }
295
+ return undefined;
296
+ };
297
+ export const llResetAnimationOverride = (ctx, args) => {
298
+ if (!permitted(ctx, PERMISSION_OVERRIDE_ANIMATIONS))
299
+ return undefined;
300
+ const state = args[0];
301
+ if (state !== 'ALL' && !knownState(ctx, state))
302
+ return undefined;
303
+ const avatar = permissionAvatar(ctx);
304
+ const previous = defaultAnimation(avatar);
305
+ const changesCurrent = avatar.overrides.has(avatar.state) && (state === 'ALL' || state === avatar.state);
306
+ if (state === 'ALL')
307
+ avatar.overrides.clear();
308
+ else
309
+ avatar.overrides.delete(state);
310
+ if (changesCurrent) {
311
+ avatar.playing.delete(previous);
312
+ avatar.playing.add(defaultAnimation(avatar));
313
+ }
314
+ return undefined;
315
+ };
316
+ //# sourceMappingURL=animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/builtins/animation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { BuiltinImpl } from '../runtime.js';
2
+ export declare const llAttachToAvatar: BuiltinImpl;
3
+ export declare const llAttachToAvatarTemp: BuiltinImpl;
4
+ export declare const llDetachFromAvatar: BuiltinImpl;
5
+ export declare const llGetAttached: BuiltinImpl;
6
+ export declare const llGetAttachedList: BuiltinImpl;
7
+ export declare const llGetAttachedListFiltered: BuiltinImpl;
8
+ export declare const llWorldPosToHUD: BuiltinImpl;
9
+ //# sourceMappingURL=attachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/builtins/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,eAAe,CAAA;AA+C7D,eAAO,MAAM,gBAAgB,EAAE,WAG9B,CAAA;AACD,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAMhC,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,WAAuD,CAAA;AAUnF,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,WAyBvC,CAAA;AAOD,eAAO,MAAM,eAAe,EAAE,WAU7B,CAAA"}