xray16 1.4.0 → 1.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.
Files changed (49) hide show
  1. package/package.json +1 -1
  2. package/types/xr_ai/xr_action.d.ts +1321 -29
  3. package/types/xr_ai/xr_alife.d.ts +1336 -32
  4. package/types/xr_ai/xr_enemy_evaluation.d.ts +112 -19
  5. package/types/xr_ai/xr_goap.d.ts +450 -3
  6. package/types/xr_ai/xr_graph.d.ts +94 -6
  7. package/types/xr_ai/xr_memory.d.ts +240 -6
  8. package/types/xr_lib/xr_animation.d.ts +185 -14
  9. package/types/xr_lib/xr_bitwise.d.ts +20 -8
  10. package/types/xr_lib/xr_color.d.ts +103 -6
  11. package/types/xr_lib/xr_debug.d.ts +110 -12
  12. package/types/xr_lib/xr_dialog.d.ts +99 -7
  13. package/types/xr_lib/xr_flags.d.ts +78 -15
  14. package/types/xr_lib/xr_fs.d.ts +395 -5
  15. package/types/xr_lib/xr_game.d.ts +101 -0
  16. package/types/xr_lib/xr_hit.d.ts +84 -0
  17. package/types/xr_lib/xr_ini.d.ts +60 -2
  18. package/types/xr_lib/xr_level.d.ts +182 -39
  19. package/types/xr_lib/xr_luabind.d.ts +37 -11
  20. package/types/xr_lib/xr_map.d.ts +137 -6
  21. package/types/xr_lib/xr_math.d.ts +56 -0
  22. package/types/xr_lib/xr_multiplayer.d.ts +729 -1
  23. package/types/xr_lib/xr_profile.d.ts +80 -0
  24. package/types/xr_lib/xr_properties.d.ts +159 -4
  25. package/types/xr_lib/xr_relation.d.ts +147 -0
  26. package/types/xr_lib/xr_render.d.ts +99 -3
  27. package/types/xr_lib/xr_save.d.ts +110 -4
  28. package/types/xr_lib/xr_sound.d.ts +373 -9
  29. package/types/xr_lib/xr_stats.ts +33 -4
  30. package/types/xr_lib/xr_task.d.ts +277 -0
  31. package/types/xr_lib/xr_time.d.ts +11 -0
  32. package/types/xr_object/client/xr_anomaly.d.ts +20 -0
  33. package/types/xr_object/client/xr_artefact.d.ts +57 -2
  34. package/types/xr_object/client/xr_client_object.d.ts +131 -0
  35. package/types/xr_object/client/xr_creature.d.ts +79 -0
  36. package/types/xr_object/client/xr_item.d.ts +108 -2
  37. package/types/xr_object/client/xr_level.d.ts +482 -14
  38. package/types/xr_object/client/xr_physic.d.ts +459 -29
  39. package/types/xr_object/client/xr_zone.d.ts +38 -0
  40. package/types/xr_object/script/xr_script_interface.d.ts +236 -1
  41. package/types/xr_object/script/xr_script_object.d.ts +3402 -82
  42. package/types/xr_object/script/xr_script_trade.d.ts +25 -15
  43. package/types/xr_object/server/xr_server_object.d.ts +707 -15
  44. package/types/xr_ui/xr_ui_asset.d.ts +241 -6
  45. package/types/xr_ui/xr_ui_core.d.ts +327 -9
  46. package/types/xr_ui/xr_ui_event.d.ts +1067 -1
  47. package/types/xr_ui/xr_ui_interface.d.ts +1563 -17
  48. package/types/xr_ui/xr_ui_menu.d.ts +259 -16
  49. package/types/xrf_plugin.d.ts +44 -14
@@ -2,6 +2,8 @@ declare module "xray16" {
2
2
  /**
3
3
  * No Lua profiler is active.
4
4
  *
5
+ * @since OpenXRay 2025-03-19, ac4ba75d, PR #1771
6
+ *
5
7
  * @source C++ enum CScriptProfilerType::None
6
8
  * @group xr_profiler
7
9
  */
@@ -10,6 +12,8 @@ declare module "xray16" {
10
12
  /**
11
13
  * Hook-based Lua profiler.
12
14
  *
15
+ * @since OpenXRay 2025-03-19, ac4ba75d, PR #1771
16
+ *
13
17
  * @source C++ enum CScriptProfilerType::Hook
14
18
  * @group xr_profiler
15
19
  */
@@ -18,6 +22,8 @@ declare module "xray16" {
18
22
  /**
19
23
  * LuaJIT sampling profiler.
20
24
  *
25
+ * @since OpenXRay 2025-03-19, ac4ba75d, PR #1771
26
+ *
21
27
  * @source C++ enum CScriptProfilerType::Sampling
22
28
  * @group xr_profiler
23
29
  */
@@ -32,18 +38,51 @@ declare module "xray16" {
32
38
  export type TXR_ProfilerType = typeof PROFILER_TYPE_NONE | typeof PROFILER_TYPE_HOOK | typeof PROFILER_TYPE_SAMPLING;
33
39
 
34
40
  /**
41
+ * Lightweight script profile timer.
42
+ *
43
+ * @since OpenXRay 2025-03-19, ac4ba75d, PR #1771
44
+ *
35
45
  * @source C++ class profile_timer
36
46
  * @customConstructor profile_timer
37
47
  * @group xr_profiler
48
+ *
49
+ * @remarks
50
+ * The timer accumulates elapsed microseconds between matching `start()` and `stop()` calls. Nested starts are counted
51
+ * and only the outermost stop adds elapsed time.
38
52
  */
39
53
  export class profile_timer extends EngineBinding {
54
+ /**
55
+ * Create a stopped profile timer.
56
+ */
40
57
  public constructor();
58
+
59
+ /**
60
+ * Copy an existing timer.
61
+ *
62
+ * @param timer - Timer to copy.
63
+ */
41
64
  public constructor(timer: profile_timer);
42
65
 
66
+ /**
67
+ * Stop measuring elapsed time.
68
+ *
69
+ * @remarks
70
+ * Calling `stop()` on a timer that was not started is ignored.
71
+ */
43
72
  public stop(): void;
44
73
 
74
+ /**
75
+ * Start or restart measuring elapsed time.
76
+ *
77
+ * @remarks
78
+ * Calling `start()` while the timer is already running increases the recursion mark instead of restarting the
79
+ * underlying clock.
80
+ */
45
81
  public start(): void;
46
82
 
83
+ /**
84
+ * @returns Elapsed time in microseconds.
85
+ */
47
86
  public time(): f32;
48
87
 
49
88
  /**
@@ -55,8 +94,15 @@ declare module "xray16" {
55
94
  }
56
95
 
57
96
  /**
97
+ * Lua script profiler namespace.
98
+ *
99
+ * @since OpenXRay 2025-03-19, ac4ba75d, PR #1771
100
+ *
58
101
  * @source namespace profiler
59
102
  * @group xr_profiler
103
+ *
104
+ * @remarks
105
+ * Requires an engine script profiler instance. Starting an already active profiler is ignored by the engine.
60
106
  */
61
107
  export interface IXR_profiler {
62
108
  /**
@@ -71,12 +117,18 @@ declare module "xray16" {
71
117
 
72
118
  /**
73
119
  * Start lua scripts profiler in default mode.
120
+ *
121
+ * @remarks
122
+ * The default mode is hook profiling.
74
123
  */
75
124
  start(this: void): void;
76
125
 
77
126
  /**
78
127
  * Start lua scripts profiler of provided type.
79
128
  *
129
+ * @remarks
130
+ * Passing `PROFILER_TYPE_NONE` does not start profiling and only logs a message.
131
+ *
80
132
  * @param profiler_type - Type of profiler to start (note: see global exports of type constants).
81
133
  */
82
134
  start(this: void, profiler_type: TXR_ProfilerType): void;
@@ -84,28 +136,44 @@ declare module "xray16" {
84
136
  /**
85
137
  * Start profiler in hook mode.
86
138
  * Profiling performance based on lua call start/end events.
139
+ *
140
+ * @remarks
141
+ * Hook mode attaches a Lua hook. If another hook is already installed, start may fail and only log the failure.
87
142
  */
88
143
  start_hook_mode(this: void): void;
89
144
 
90
145
  /**
91
146
  * Start profiler in sampling mode with default sampling interval.
147
+ *
148
+ * @remarks
149
+ * Sampling mode uses LuaJIT profiling. It cannot start when LuaJIT profiling is unavailable, for example with
150
+ * `-nojit`.
92
151
  */
93
152
  start_sampling_mode(this: void): void;
94
153
 
95
154
  /**
96
155
  * Start profiler in sampling mode with provided sampling interval value.
97
156
  *
157
+ * @remarks
158
+ * The engine clamps the interval to its supported range.
159
+ *
98
160
  * @param sampling_interval - Interval to collect samples with luaJIT sampling profiler.
99
161
  */
100
162
  start_sampling_mode(this: void, sampling_interval: u32): void;
101
163
 
102
164
  /**
103
165
  * Stop currently active profiler.
166
+ *
167
+ * @remarks
168
+ * Stopping clears collected profiling data. Calling it while inactive only logs a message.
104
169
  */
105
170
  stop(this: void): void;
106
171
 
107
172
  /**
108
173
  * Reset measurements data of profiler.
174
+ *
175
+ * @remarks
176
+ * Reset keeps the current profiling mode active and clears collected samples.
109
177
  */
110
178
  reset(this: void): void;
111
179
 
@@ -124,6 +192,10 @@ declare module "xray16" {
124
192
 
125
193
  /**
126
194
  * Save report of profiler measurements in corresponding log/perf file.
195
+ *
196
+ * @remarks
197
+ * Hook reports are saved under `$logs$` as `*_hook_profile.log`. Sampling reports are saved as
198
+ * `*_sampling_profile.perf`.
127
199
  */
128
200
  save_report(this: void): void;
129
201
  }
@@ -131,6 +203,8 @@ declare module "xray16" {
131
203
  /**
132
204
  * Lua script profiler namespace.
133
205
  *
206
+ * @since OpenXRay 2025-03-19, ac4ba75d, PR #1771
207
+ *
134
208
  * @source namespace profiler
135
209
  * @group xr_profiler
136
210
  */
@@ -153,8 +227,14 @@ declare module "xray16" {
153
227
  */
154
228
  ZoneBeginN(this: void, name: string): void;
155
229
 
230
+ /**
231
+ * Begin a Tracy profiling zone with source location data.
232
+ */
156
233
  ZoneBeginS(this: void): void;
157
234
 
235
+ /**
236
+ * Begin a named Tracy profiling zone with source location data.
237
+ */
158
238
  ZoneBeginNS(this: void): void;
159
239
 
160
240
  /**
@@ -17,6 +17,9 @@ declare module "xray16" {
17
17
  */
18
18
  public name: string;
19
19
 
20
+ /**
21
+ * Engine-created token.
22
+ */
20
23
  private constructor();
21
24
  }
22
25
 
@@ -26,6 +29,9 @@ declare module "xray16" {
26
29
  * @source C++ class rtoken_list
27
30
  * @customConstructor rtoken_list
28
31
  * @group xr_properties
32
+ *
33
+ * @remarks
34
+ * Used by editor property rows that need a list of strings computed at runtime.
29
35
  */
30
36
  export class rtoken_list {
31
37
  /**
@@ -36,6 +42,9 @@ declare module "xray16" {
36
42
  /**
37
43
  * Remove token by zero-based index.
38
44
  *
45
+ * @remarks
46
+ * Out-of-range indexes are ignored.
47
+ *
39
48
  * @param index - Token index.
40
49
  */
41
50
  public remove(index: u32): void;
@@ -44,9 +53,9 @@ declare module "xray16" {
44
53
  * Get token text by zero-based index.
45
54
  *
46
55
  * @param index - Token index.
47
- * @returns Token text.
56
+ * @returns Token text, or `null` from native code when index is out of range.
48
57
  */
49
- public get(index: u32): string;
58
+ public get(index: u32): string | null;
50
59
 
51
60
  /**
52
61
  * Get number of tokens in the list.
@@ -74,6 +83,9 @@ declare module "xray16" {
74
83
  * @source C++ class token_list
75
84
  * @customConstructor token_list
76
85
  * @group xr_properties
86
+ *
87
+ * @remarks
88
+ * The native list keeps a trailing sentinel entry for editor APIs; script code only works with named entries.
77
89
  */
78
90
  export class token_list {
79
91
  /**
@@ -84,6 +96,9 @@ declare module "xray16" {
84
96
  /**
85
97
  * Remove token by text.
86
98
  *
99
+ * @remarks
100
+ * Missing tokens are logged and otherwise ignored.
101
+ *
87
102
  * @param token - Token text.
88
103
  */
89
104
  public remove(token: string): void;
@@ -91,14 +106,20 @@ declare module "xray16" {
91
106
  /**
92
107
  * Find numeric id for a token.
93
108
  *
109
+ * @remarks
110
+ * The token must exist. Native code verifies the lookup result.
111
+ *
94
112
  * @param token - Token text.
95
- * @returns Token id, or engine-defined missing value.
113
+ * @returns Token id.
96
114
  */
97
115
  public id(token: string): i32;
98
116
 
99
117
  /**
100
118
  * Find token text by numeric id.
101
119
  *
120
+ * @remarks
121
+ * The id must exist. Native code verifies the lookup result.
122
+ *
102
123
  * @param id - Token id.
103
124
  * @returns Token text.
104
125
  */
@@ -107,6 +128,9 @@ declare module "xray16" {
107
128
  /**
108
129
  * Add a token/id pair.
109
130
  *
131
+ * @remarks
132
+ * Both token text and id must be unique in the list.
133
+ *
110
134
  * @param token - Token text.
111
135
  * @param id - Numeric token id.
112
136
  */
@@ -124,11 +148,18 @@ declare module "xray16" {
124
148
  * @source C++ class properties_list_helper
125
149
  * @customConstructor properties_list_helper
126
150
  * @group xr_properties
151
+ *
152
+ * @remarks
153
+ * This is an editor bridge. Most methods require a real editor property item list and a server object that owns
154
+ * the wrapped field; they are not useful in ordinary gameplay scripts.
127
155
  */
128
156
  export class properties_list_helper extends EngineBinding {
129
157
  /**
130
158
  * Create a 3-axis angle property.
131
159
  *
160
+ * @remarks
161
+ * Bound object field must be an `Fvector`.
162
+ *
132
163
  * @returns Engine property value handle.
133
164
  */
134
165
  public create_vangle(): unknown;
@@ -136,6 +167,9 @@ declare module "xray16" {
136
167
  /**
137
168
  * Create an angle property.
138
169
  *
170
+ * @remarks
171
+ * Bound object field must be a float.
172
+ *
139
173
  * @returns Engine property value handle.
140
174
  */
141
175
  public create_angle(): unknown;
@@ -143,6 +177,9 @@ declare module "xray16" {
143
177
  /**
144
178
  * Create a time property.
145
179
  *
180
+ * @remarks
181
+ * Bound object field must be a float.
182
+ *
146
183
  * @returns Engine property value handle.
147
184
  */
148
185
  public create_time(): unknown;
@@ -150,6 +187,9 @@ declare module "xray16" {
150
187
  /**
151
188
  * Create a color property.
152
189
  *
190
+ * @remarks
191
+ * Bound object field must be a 32-bit color value.
192
+ *
153
193
  * @returns Engine property value handle.
154
194
  */
155
195
  public create_color(): unknown;
@@ -157,6 +197,9 @@ declare module "xray16" {
157
197
  /**
158
198
  * Create a vector color property.
159
199
  *
200
+ * @remarks
201
+ * Bound object field must be an `Fvector`.
202
+ *
160
203
  * @returns Engine property value handle.
161
204
  */
162
205
  public create_vcolor(): unknown;
@@ -164,6 +207,9 @@ declare module "xray16" {
164
207
  /**
165
208
  * Create a float color property.
166
209
  *
210
+ * @remarks
211
+ * Bound object field must be an `Fcolor`.
212
+ *
167
213
  * @returns Engine property value handle.
168
214
  */
169
215
  public create_fcolor(): unknown;
@@ -171,6 +217,9 @@ declare module "xray16" {
171
217
  /**
172
218
  * Create a runtime token list property.
173
219
  *
220
+ * @remarks
221
+ * Requires an `rtoken_list`; keep it alive while the editor property uses it.
222
+ *
174
223
  * @returns Engine property value handle.
175
224
  */
176
225
  public create_list(): unknown;
@@ -178,6 +227,9 @@ declare module "xray16" {
178
227
  /**
179
228
  * Create an 8-bit token property.
180
229
  *
230
+ * @remarks
231
+ * Requires a `token_list`; ids must fit into an unsigned 8-bit value.
232
+ *
181
233
  * @returns Engine property value handle.
182
234
  */
183
235
  public create_token8(): unknown;
@@ -185,6 +237,9 @@ declare module "xray16" {
185
237
  /**
186
238
  * Create a 16-bit token property.
187
239
  *
240
+ * @remarks
241
+ * Requires a `token_list`; ids must fit into an unsigned 16-bit value.
242
+ *
188
243
  * @returns Engine property value handle.
189
244
  */
190
245
  public create_token16(): unknown;
@@ -192,6 +247,9 @@ declare module "xray16" {
192
247
  /**
193
248
  * Create a 32-bit token property.
194
249
  *
250
+ * @remarks
251
+ * Requires a `token_list`; ids are stored as unsigned 32-bit values.
252
+ *
195
253
  * @returns Engine property value handle.
196
254
  */
197
255
  public create_token32(): unknown;
@@ -199,6 +257,9 @@ declare module "xray16" {
199
257
  /**
200
258
  * Create an 8-bit flag property.
201
259
  *
260
+ * @remarks
261
+ * Binds individual bit toggles to an unsigned 8-bit integer field.
262
+ *
202
263
  * @returns Engine property value handle.
203
264
  */
204
265
  public create_flag8(): unknown;
@@ -206,6 +267,9 @@ declare module "xray16" {
206
267
  /**
207
268
  * Create a 16-bit flag property.
208
269
  *
270
+ * @remarks
271
+ * Binds individual bit toggles to an unsigned 16-bit integer field.
272
+ *
209
273
  * @returns Engine property value handle.
210
274
  */
211
275
  public create_flag16(): unknown;
@@ -213,6 +277,9 @@ declare module "xray16" {
213
277
  /**
214
278
  * Create a 32-bit flag property.
215
279
  *
280
+ * @remarks
281
+ * Binds individual bit toggles to an unsigned 32-bit integer field.
282
+ *
216
283
  * @returns Engine property value handle.
217
284
  */
218
285
  public create_flag32(): unknown;
@@ -220,6 +287,9 @@ declare module "xray16" {
220
287
  /**
221
288
  * Create a vector property.
222
289
  *
290
+ * @remarks
291
+ * Bound object field must be an `Fvector`.
292
+ *
223
293
  * @returns Engine property value handle.
224
294
  */
225
295
  public create_vector(): unknown;
@@ -227,6 +297,9 @@ declare module "xray16" {
227
297
  /**
228
298
  * Create a boolean property bound to an object field.
229
299
  *
300
+ * @remarks
301
+ * The native helper wraps `value[id]` and attaches the wrapper to `object`, so `object` must be a server object.
302
+ *
230
303
  * @param items - Property item list to append to.
231
304
  * @param path - Property path or caption.
232
305
  * @param object - Spawn object owning the property.
@@ -245,6 +318,9 @@ declare module "xray16" {
245
318
  /**
246
319
  * Create a float property.
247
320
  *
321
+ * @remarks
322
+ * Bound object field must be a float. Native overloads may also carry min/max/default editor values.
323
+ *
248
324
  * @returns Engine property value handle.
249
325
  */
250
326
  public create_float(): unknown;
@@ -252,6 +328,9 @@ declare module "xray16" {
252
328
  /**
253
329
  * Create an unsigned 8-bit integer property.
254
330
  *
331
+ * @remarks
332
+ * Bound object field must fit into an unsigned 8-bit value.
333
+ *
255
334
  * @returns Engine property value handle.
256
335
  */
257
336
  public create_u8(): unknown;
@@ -259,6 +338,9 @@ declare module "xray16" {
259
338
  /**
260
339
  * Create an unsigned 16-bit integer property.
261
340
  *
341
+ * @remarks
342
+ * Bound object field must fit into an unsigned 16-bit value.
343
+ *
262
344
  * @returns Engine property value handle.
263
345
  */
264
346
  public create_u16(): unknown;
@@ -266,6 +348,9 @@ declare module "xray16" {
266
348
  /**
267
349
  * Create an unsigned 32-bit integer property.
268
350
  *
351
+ * @remarks
352
+ * Bound object field must fit into an unsigned 32-bit value.
353
+ *
269
354
  * @returns Engine property value handle.
270
355
  */
271
356
  public create_u32(): unknown;
@@ -273,6 +358,9 @@ declare module "xray16" {
273
358
  /**
274
359
  * Create a signed 32-bit integer property.
275
360
  *
361
+ * @remarks
362
+ * Bound object field must fit into a signed 32-bit value.
363
+ *
276
364
  * @returns Engine property value handle.
277
365
  */
278
366
  public create_s32(): unknown;
@@ -280,6 +368,9 @@ declare module "xray16" {
280
368
  /**
281
369
  * Create a signed 16-bit integer property.
282
370
  *
371
+ * @remarks
372
+ * Bound object field must fit into a signed 16-bit value.
373
+ *
283
374
  * @returns Engine property value handle.
284
375
  */
285
376
  public create_s16(): unknown;
@@ -287,6 +378,9 @@ declare module "xray16" {
287
378
  /**
288
379
  * Create an asset/object chooser property.
289
380
  *
381
+ * @remarks
382
+ * Requires a chooser mode and a string-like field that receives the selected section, asset, or path.
383
+ *
290
384
  * @returns Engine property value handle.
291
385
  */
292
386
  public create_choose(): unknown;
@@ -294,6 +388,9 @@ declare module "xray16" {
294
388
  /**
295
389
  * Create a button property.
296
390
  *
391
+ * @remarks
392
+ * Editor-only command row. Use it to expose an action callback, not persistent object data.
393
+ *
297
394
  * @returns Engine property value handle.
298
395
  */
299
396
  public create_button(): unknown;
@@ -301,6 +398,9 @@ declare module "xray16" {
301
398
  /**
302
399
  * Create a custom canvas property.
303
400
  *
401
+ * @remarks
402
+ * Editor-only drawing surface for custom property UI.
403
+ *
304
404
  * @returns Engine property value handle.
305
405
  */
306
406
  public create_canvas(): unknown;
@@ -308,6 +408,9 @@ declare module "xray16" {
308
408
  /**
309
409
  * Create a read-only caption row.
310
410
  *
411
+ * @remarks
412
+ * Editor-only label row used to group or explain nearby properties.
413
+ *
311
414
  * @returns Engine property value handle.
312
415
  */
313
416
  public create_caption(): unknown;
@@ -315,6 +418,9 @@ declare module "xray16" {
315
418
  /**
316
419
  * Callback used after editing a float property.
317
420
  *
421
+ * @remarks
422
+ * Editor bridge callback. Native code passes the edited value through an output argument.
423
+ *
318
424
  * @returns Engine callback result.
319
425
  */
320
426
  public float_on_after_edit(): unknown;
@@ -322,6 +428,9 @@ declare module "xray16" {
322
428
  /**
323
429
  * Callback used before editing a float property.
324
430
  *
431
+ * @remarks
432
+ * Editor bridge callback. Native code passes the current value through an output argument.
433
+ *
325
434
  * @returns Engine callback result.
326
435
  */
327
436
  public float_on_before_edit(): unknown;
@@ -329,6 +438,9 @@ declare module "xray16" {
329
438
  /**
330
439
  * Callback used after editing an object name.
331
440
  *
441
+ * @remarks
442
+ * Editor bridge callback. Native code passes the edited name through an output argument.
443
+ *
332
444
  * @returns Engine callback result.
333
445
  */
334
446
  public name_after_edit(): unknown;
@@ -336,6 +448,9 @@ declare module "xray16" {
336
448
  /**
337
449
  * Callback used before editing an object name.
338
450
  *
451
+ * @remarks
452
+ * Editor bridge callback. Native code passes the current name through an output argument.
453
+ *
339
454
  * @returns Engine callback result.
340
455
  */
341
456
  public name_before_edit(): unknown;
@@ -343,6 +458,9 @@ declare module "xray16" {
343
458
  /**
344
459
  * Callback used before editing a vector property.
345
460
  *
461
+ * @remarks
462
+ * Editor bridge callback for vector rows, usually used to prepare a value before the editor opens.
463
+ *
346
464
  * @returns Engine callback result.
347
465
  */
348
466
  public vector_on_before_edit(): unknown;
@@ -350,6 +468,9 @@ declare module "xray16" {
350
468
  /**
351
469
  * Callback used after editing a vector property.
352
470
  *
471
+ * @remarks
472
+ * Editor bridge callback for vector rows, usually used to accept or normalize the edited value.
473
+ *
353
474
  * @returns Engine callback result.
354
475
  */
355
476
  public vector_on_after_edit(): unknown;
@@ -361,7 +482,10 @@ declare module "xray16" {
361
482
  * @source C++ class properties_helper
362
483
  * @customConstructor properties_helper
363
484
  * @group xr_properties
364
- * @remarks Only available when the editor property helper library is loaded.
485
+ *
486
+ * @remarks
487
+ * Only available when the editor property helper library is loaded. Outside that context the native accessor logs
488
+ * an error and returns no usable helper.
365
489
  */
366
490
  export class properties_helper extends properties_list_helper {}
367
491
 
@@ -371,11 +495,18 @@ declare module "xray16" {
371
495
  * @source C++ class prop_value
372
496
  * @customConstructor prop_value
373
497
  * @group xr_properties
498
+ *
499
+ * @remarks
500
+ * These helpers are downcasts to concrete editor property value types. Use only when the property was created as
501
+ * that matching kind.
374
502
  */
375
503
  export class prop_value {
376
504
  /**
377
505
  * Treat this property value as a 16-bit token value.
378
506
  *
507
+ * @remarks
508
+ * Use only for properties originally created as 16-bit token values.
509
+ *
379
510
  * @returns Engine property value handle.
380
511
  */
381
512
  public token16_value(): unknown;
@@ -383,6 +514,9 @@ declare module "xray16" {
383
514
  /**
384
515
  * Treat this property value as a 32-bit flag value.
385
516
  *
517
+ * @remarks
518
+ * Use only for properties originally created as 32-bit flag values.
519
+ *
386
520
  * @returns Engine property value handle.
387
521
  */
388
522
  public flag32_value(): unknown;
@@ -390,6 +524,9 @@ declare module "xray16" {
390
524
  /**
391
525
  * Treat this property value as text.
392
526
  *
527
+ * @remarks
528
+ * Use only for properties originally created as text values.
529
+ *
393
530
  * @returns Engine property value handle.
394
531
  */
395
532
  public text_value(): unknown;
@@ -397,6 +534,9 @@ declare module "xray16" {
397
534
  /**
398
535
  * Treat this property value as a boolean.
399
536
  *
537
+ * @remarks
538
+ * Use only for properties originally created as boolean values.
539
+ *
400
540
  * @returns Engine property value handle.
401
541
  */
402
542
  public bool_value(): unknown;
@@ -404,6 +544,9 @@ declare module "xray16" {
404
544
  /**
405
545
  * Treat this property value as an unsigned 16-bit integer.
406
546
  *
547
+ * @remarks
548
+ * Use only for properties originally created as unsigned 16-bit values.
549
+ *
407
550
  * @returns Engine property value handle.
408
551
  */
409
552
  public u16_value(): unknown;
@@ -411,6 +554,9 @@ declare module "xray16" {
411
554
  /**
412
555
  * Treat this property value as a signed 16-bit integer.
413
556
  *
557
+ * @remarks
558
+ * Use only for properties originally created as signed 16-bit values.
559
+ *
414
560
  * @returns Engine property value handle.
415
561
  */
416
562
  public s16_value(): unknown;
@@ -418,6 +564,9 @@ declare module "xray16" {
418
564
  /**
419
565
  * Treat this property value as a button.
420
566
  *
567
+ * @remarks
568
+ * Use only for properties originally created as button rows.
569
+ *
421
570
  * @returns Engine property value handle.
422
571
  */
423
572
  public button_value(): unknown;
@@ -425,6 +574,9 @@ declare module "xray16" {
425
574
  /**
426
575
  * Treat this property value as a caption.
427
576
  *
577
+ * @remarks
578
+ * Use only for properties originally created as caption rows.
579
+ *
428
580
  * @returns Engine property value handle.
429
581
  */
430
582
  public caption_value(): unknown;
@@ -436,6 +588,9 @@ declare module "xray16" {
436
588
  * @source C++ class TEX_INFO
437
589
  * @customConstructor TEX_INFO
438
590
  * @group xr_properties
591
+ *
592
+ * @remarks
593
+ * Metadata is borrowed from the engine UI texture atlas; use it for inspection, not ownership.
439
594
  */
440
595
  export class TEX_INFO {
441
596
  /**