@defold-typescript/types 0.50.1 → 0.52.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 (166) hide show
  1. package/api-availability.json +4 -58
  2. package/api-signatures.json +1128 -1552
  3. package/api-targets.json +15 -5
  4. package/examples/translations.json +19 -71
  5. package/fixtures/messages_doc.json +20 -39
  6. package/generated/b2d_world.d.ts +10 -10
  7. package/generated/buffer.d.ts +9 -9
  8. package/generated/builtin-messages.d.ts +16 -14
  9. package/generated/bullet3d_collision_object.d.ts +1 -1
  10. package/generated/bullet3d_constraint.d.ts +109 -7
  11. package/generated/bullet3d_shape.d.ts +2 -2
  12. package/generated/collectionfactory.d.ts +1 -1
  13. package/generated/collectionproxy.d.ts +2 -2
  14. package/generated/factory.d.ts +4 -2
  15. package/generated/go.d.ts +114 -220
  16. package/generated/graphics.d.ts +5 -0
  17. package/generated/gui.d.ts +148 -371
  18. package/generated/http.d.ts +4 -2
  19. package/generated/image.d.ts +56 -4
  20. package/generated/kinds/gui-script.d.ts +3 -0
  21. package/generated/kinds/render-script.d.ts +15 -15
  22. package/generated/kinds/script.d.ts +1 -0
  23. package/generated/liveupdate.d.ts +5 -1
  24. package/generated/material.d.ts +3 -3
  25. package/generated/model.d.ts +4 -5
  26. package/generated/particlefx.d.ts +20 -1
  27. package/generated/physics.d.ts +48 -4
  28. package/generated/render-script-modules/b2d.d.ts +711 -0
  29. package/generated/render-script-modules/bullet3d.d.ts +73 -0
  30. package/generated/render-script-modules/collectionfactory.d.ts +25 -0
  31. package/generated/render-script-modules/collectionproxy.d.ts +39 -0
  32. package/generated/render-script-modules/factory.d.ts +25 -0
  33. package/generated/render-script-modules/go.d.ts +436 -0
  34. package/generated/render-script-modules/label.d.ts +105 -0
  35. package/generated/render-script-modules/model.d.ts +89 -0
  36. package/generated/render-script-modules/particlefx.d.ts +59 -0
  37. package/generated/render-script-modules/physics.d.ts +333 -0
  38. package/generated/render-script-modules/resource.d.ts +1233 -0
  39. package/generated/render-script-modules/sound.d.ts +227 -0
  40. package/generated/render-script-modules/sprite.d.ts +68 -0
  41. package/generated/render-script-modules/tilemap.d.ts +43 -0
  42. package/generated/render.d.ts +175 -21
  43. package/generated/resource.d.ts +31 -10
  44. package/generated/sprite.d.ts +49 -1
  45. package/generated/sys.d.ts +78 -10
  46. package/generated/tilemap.d.ts +4 -4
  47. package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
  48. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +1 -1
  49. package/generated/versions/defold-1.12.4/collectionproxy.d.ts +1 -1
  50. package/generated/versions/defold-1.12.4/factory.d.ts +4 -2
  51. package/generated/versions/defold-1.12.4/go.d.ts +115 -343
  52. package/generated/versions/defold-1.12.4/graphics.d.ts +1 -0
  53. package/generated/versions/defold-1.12.4/gui.d.ts +151 -513
  54. package/generated/versions/defold-1.12.4/http.d.ts +4 -2
  55. package/generated/versions/defold-1.12.4/image.d.ts +83 -3
  56. package/generated/versions/defold-1.12.4/index.d.ts +2 -0
  57. package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
  58. package/generated/versions/defold-1.12.4/model.d.ts +4 -5
  59. package/generated/versions/defold-1.12.4/particlefx.d.ts +22 -1
  60. package/generated/versions/defold-1.12.4/physics.d.ts +47 -3
  61. package/generated/versions/defold-1.12.4/render.d.ts +119 -15
  62. package/generated/versions/defold-1.12.4/resource.d.ts +43 -10
  63. package/generated/versions/defold-1.12.4/sprite.d.ts +58 -1
  64. package/generated/versions/defold-1.12.4/sys.d.ts +101 -6
  65. package/generated/versions/defold-1.12.4/tilemap.d.ts +4 -4
  66. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
  67. package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
  68. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +1 -1
  69. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +1 -1
  70. package/generated/versions/defold-1.13.0/factory.d.ts +4 -2
  71. package/generated/versions/defold-1.13.0/go.d.ts +115 -370
  72. package/generated/versions/defold-1.13.0/graphics.d.ts +1 -0
  73. package/generated/versions/defold-1.13.0/gui.d.ts +151 -513
  74. package/generated/versions/defold-1.13.0/http.d.ts +4 -2
  75. package/generated/versions/defold-1.13.0/image.d.ts +83 -3
  76. package/generated/versions/defold-1.13.0/index.d.ts +2 -0
  77. package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
  78. package/generated/versions/defold-1.13.0/material.d.ts +3 -1
  79. package/generated/versions/defold-1.13.0/model.d.ts +4 -5
  80. package/generated/versions/defold-1.13.0/particlefx.d.ts +22 -1
  81. package/generated/versions/defold-1.13.0/physics.d.ts +47 -3
  82. package/generated/versions/defold-1.13.0/render.d.ts +182 -16
  83. package/generated/versions/defold-1.13.0/resource.d.ts +43 -10
  84. package/generated/versions/defold-1.13.0/sprite.d.ts +58 -1
  85. package/generated/versions/defold-1.13.0/sys.d.ts +101 -6
  86. package/generated/versions/defold-1.13.0/tilemap.d.ts +4 -4
  87. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
  88. package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
  89. package/generated/versions/defold-1.13.1/collectionfactory.d.ts +1 -1
  90. package/generated/versions/defold-1.13.1/collectionproxy.d.ts +1 -1
  91. package/generated/versions/defold-1.13.1/factory.d.ts +4 -2
  92. package/generated/versions/defold-1.13.1/go.d.ts +115 -370
  93. package/generated/versions/defold-1.13.1/graphics.d.ts +1 -0
  94. package/generated/versions/defold-1.13.1/gui.d.ts +151 -529
  95. package/generated/versions/defold-1.13.1/http.d.ts +4 -2
  96. package/generated/versions/defold-1.13.1/image.d.ts +83 -3
  97. package/generated/versions/defold-1.13.1/index.d.ts +3 -0
  98. package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
  99. package/generated/versions/defold-1.13.1/material.d.ts +3 -1
  100. package/generated/versions/defold-1.13.1/model.d.ts +4 -5
  101. package/generated/versions/defold-1.13.1/particlefx.d.ts +22 -1
  102. package/generated/versions/defold-1.13.1/physics.d.ts +47 -3
  103. package/generated/versions/defold-1.13.1/render.d.ts +182 -16
  104. package/generated/versions/defold-1.13.1/resource.d.ts +43 -10
  105. package/generated/versions/defold-1.13.1/sprite.d.ts +58 -1
  106. package/generated/versions/defold-1.13.1/sys.d.ts +101 -6
  107. package/generated/versions/defold-1.13.1/tilemap.d.ts +4 -4
  108. package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
  109. package/generated/versions/defold-1.13.2/b2d_world.d.ts +10 -10
  110. package/generated/versions/defold-1.13.2/buffer.d.ts +9 -9
  111. package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +1 -1
  112. package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +109 -7
  113. package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +2 -2
  114. package/generated/versions/defold-1.13.2/collectionfactory.d.ts +1 -1
  115. package/generated/versions/defold-1.13.2/collectionproxy.d.ts +2 -2
  116. package/generated/versions/defold-1.13.2/factory.d.ts +4 -2
  117. package/generated/versions/defold-1.13.2/go.d.ts +114 -220
  118. package/generated/versions/defold-1.13.2/graphics.d.ts +1 -0
  119. package/generated/versions/defold-1.13.2/gui.d.ts +148 -371
  120. package/generated/versions/defold-1.13.2/http.d.ts +4 -2
  121. package/generated/versions/defold-1.13.2/image.d.ts +56 -4
  122. package/generated/versions/defold-1.13.2/index.d.ts +3 -0
  123. package/generated/versions/defold-1.13.2/liveupdate.d.ts +5 -1
  124. package/generated/versions/defold-1.13.2/material.d.ts +3 -3
  125. package/generated/versions/defold-1.13.2/model.d.ts +4 -5
  126. package/generated/versions/defold-1.13.2/particlefx.d.ts +20 -1
  127. package/generated/versions/defold-1.13.2/physics.d.ts +48 -4
  128. package/generated/versions/defold-1.13.2/render.d.ts +164 -20
  129. package/generated/versions/defold-1.13.2/resource.d.ts +31 -10
  130. package/generated/versions/defold-1.13.2/sprite.d.ts +49 -1
  131. package/generated/versions/defold-1.13.2/sys.d.ts +78 -10
  132. package/generated/versions/defold-1.13.2/tilemap.d.ts +4 -4
  133. package/generated/versions/defold-1.13.2/vmath.d.ts +0 -24
  134. package/generated/versions/defold-1.13.2/window.d.ts +1 -1
  135. package/generated/vmath.d.ts +0 -24
  136. package/generated/window.d.ts +1 -1
  137. package/identity-vocabulary.json +98 -7
  138. package/index.d.ts +3 -0
  139. package/package.json +3 -1
  140. package/scripts/generate-api-availability.ts +6 -22
  141. package/scripts/generate-api-signatures.ts +87 -21
  142. package/scripts/materialize-version.ts +53 -6
  143. package/scripts/regen.ts +256 -44
  144. package/scripts/signature-store-fs.ts +1 -0
  145. package/scripts/target-version.ts +26 -0
  146. package/src/api-doc.ts +26 -0
  147. package/src/component-properties.d.ts +226 -6
  148. package/src/core-types.ts +82 -20
  149. package/src/doc-corrections.ts +53 -5
  150. package/src/emit-dts.ts +1300 -269
  151. package/src/emit-messages.ts +289 -0
  152. package/src/engine-globals.d.ts +8 -2
  153. package/src/go-overloads.d.ts +80 -15
  154. package/src/gui-overloads.d.ts +489 -0
  155. package/src/gui-texture-removal.d.ts +41 -0
  156. package/src/index.ts +2 -0
  157. package/src/lifecycle.ts +46 -37
  158. package/src/luals-type-expr.ts +6 -1
  159. package/src/msg-overloads.d.ts +25 -13
  160. package/src/physics-event-guard.d.ts +39 -0
  161. package/src/render-overloads.d.ts +2 -2
  162. package/src/return-correction-provenance.ts +36 -6
  163. package/src/signature-store.ts +50 -0
  164. package/src/timers.d.ts +2 -1
  165. package/src/vmath-overloads.d.ts +26 -0
  166. package/src/window-event-guard.d.ts +5 -3
@@ -54,7 +54,7 @@ declare global {
54
54
  /**
55
55
  * Script buffer containing the decompressed image data.
56
56
  */
57
- buffer: Opaque<"buffer">;
57
+ buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> };
58
58
  }
59
59
  /**
60
60
  * Image loading options
@@ -122,7 +122,7 @@ declare global {
122
122
  * }
123
123
  * ```
124
124
  */
125
- function get_astc_header(buffer: string): image.astc_header | undefined;
125
+ function get_astc_header(buffer: string): image.astc_header;
126
126
  /**
127
127
  * Load image (PNG or JPEG) from buffer.
128
128
  *
@@ -141,7 +141,59 @@ declare global {
141
141
  * });
142
142
  * ```
143
143
  */
144
- function load(buffer: string, options?: boolean | image.load_options): image.load_result | undefined;
144
+ function load(buffer: string): image.load_result | undefined;
145
+ /**
146
+ * Load image (PNG or JPEG) from buffer.
147
+ *
148
+ * @param buffer - image data buffer
149
+ * @param options - Optional loading parameters. A boolean is accepted for backwards compatibility and controls `premultiply_alpha`.
150
+ * @returns loaded image, or `nil` if loading fails
151
+ * @example
152
+ * ```ts
153
+ * // How to load an image from an URL and create a GUI texture from it:
154
+ * const imgurl = "http://www.site.com/image.png";
155
+ * http.request(imgurl, "GET", (self, id, response) => {
156
+ * const img = response.response !== undefined ? image.load(response.response) : undefined;
157
+ * if (img !== undefined) {
158
+ * const tx = gui.new_texture("image_node", img.width, img.height, img.type, img.buffer);
159
+ * }
160
+ * });
161
+ * ```
162
+ */
163
+ function load(buffer: string, options: boolean | image.load_options): image.load_result | undefined;
164
+ /**
165
+ * Load image (PNG or JPEG) from a string buffer.
166
+ *
167
+ * @param buffer - image data buffer
168
+ * @param options - Optional loading parameters. A boolean is accepted for backwards compatibility and controls `premultiply_alpha`.
169
+ * @returns loaded image, or `nil` if loading fails
170
+ * @example
171
+ * ```ts
172
+ * // Load an image from an URL as a buffer and create a texture resource from it:
173
+ * const imgurl = "http://www.site.com/image.png";
174
+ * http.request(imgurl, "GET", (self, id, response) => {
175
+ * const img =
176
+ * response.response !== undefined
177
+ * ? image.load_buffer(response.response, { flip_vertically: true })
178
+ * : undefined;
179
+ * // the engine registers a texture format only when the driver supports it
180
+ * const format = graphics.TEXTURE_FORMAT_RGBA;
181
+ * if (img !== undefined && format !== undefined) {
182
+ * const tparams = {
183
+ * width: img.width,
184
+ * height: img.height,
185
+ * type: graphics.TEXTURE_TYPE_2D,
186
+ * format,
187
+ * };
188
+ *
189
+ * const my_texture_id = resource.create_texture("/my_custom_texture.texturec", tparams, img.buffer);
190
+ * // Apply the texture to a model
191
+ * go.set("/go1#model", "texture0", my_texture_id);
192
+ * }
193
+ * });
194
+ * ```
195
+ */
196
+ function load_buffer(buffer: string): image.load_buffer_result | undefined;
145
197
  /**
146
198
  * Load image (PNG or JPEG) from a string buffer.
147
199
  *
@@ -174,7 +226,7 @@ declare global {
174
226
  * });
175
227
  * ```
176
228
  */
177
- function load_buffer(buffer: string, options?: boolean | image.load_options): image.load_buffer_result | undefined;
229
+ function load_buffer(buffer: string, options: boolean | image.load_options): image.load_buffer_result | undefined;
178
230
  }
179
231
  }
180
232
 
@@ -50,8 +50,11 @@ import "../../src/component-properties";
50
50
  import "../../src/custom-messages";
51
51
  import "../../src/engine-globals";
52
52
  import "../../src/go-overloads";
53
+ import "../../src/gui-overloads";
54
+ import "../../src/gui-texture-removal";
53
55
  import "../../src/message-guard";
54
56
  import "../../src/msg-overloads";
57
+ import "../../src/physics-event-guard";
55
58
  import "../../src/scene-addresses";
56
59
  import "../../src/sys-overloads";
57
60
  import "../../src/vmath-overloads";
@@ -1,6 +1,6 @@
1
1
  /// <reference types="lua-types/5.1" />
2
2
  /// <reference types="lua-types/special/jit-only" />
3
- import "../b2d";
3
+ import "../render-script-modules/b2d";
4
4
  import "../b2d_body";
5
5
  import "../b2d_chain";
6
6
  import "../b2d_fixture";
@@ -8,39 +8,39 @@ import "../b2d_joint";
8
8
  import "../b2d_shape";
9
9
  import "../b2d_world";
10
10
  import "../buffer";
11
- import "../bullet3d";
11
+ import "../render-script-modules/bullet3d";
12
12
  import "../bullet3d_collision_object";
13
13
  import "../bullet3d_constraint";
14
14
  import "../bullet3d_rigid_body";
15
15
  import "../bullet3d_shape";
16
16
  import "../bullet3d_world";
17
17
  import "../camera";
18
- import "../collectionfactory";
19
- import "../collectionproxy";
18
+ import "../render-script-modules/collectionfactory";
19
+ import "../render-script-modules/collectionproxy";
20
20
  import "../compute";
21
21
  import "../crash";
22
- import "../factory";
22
+ import "../render-script-modules/factory";
23
23
  import "../font";
24
- import "../go";
24
+ import "../render-script-modules/go";
25
25
  import "../graphics";
26
26
  import "../html5";
27
27
  import "../http";
28
28
  import "../image";
29
29
  import "../json";
30
- import "../label";
30
+ import "../render-script-modules/label";
31
31
  import "../liveupdate";
32
32
  import "../material";
33
- import "../model";
33
+ import "../render-script-modules/model";
34
34
  import "../msg";
35
- import "../particlefx";
36
- import "../physics";
35
+ import "../render-script-modules/particlefx";
36
+ import "../render-script-modules/physics";
37
37
  import "../profiler";
38
- import "../resource";
38
+ import "../render-script-modules/resource";
39
39
  import "../socket";
40
- import "../sound";
41
- import "../sprite";
40
+ import "../render-script-modules/sound";
41
+ import "../render-script-modules/sprite";
42
42
  import "../sys";
43
- import "../tilemap";
43
+ import "../render-script-modules/tilemap";
44
44
  import "../timer";
45
45
  import "../types";
46
46
  import "../vmath";
@@ -49,9 +49,9 @@ import "../zlib";
49
49
  import "../../src/component-properties";
50
50
  import "../../src/custom-messages";
51
51
  import "../../src/engine-globals";
52
- import "../../src/go-overloads";
53
52
  import "../../src/message-guard";
54
53
  import "../../src/msg-overloads";
54
+ import "../../src/physics-event-guard";
55
55
  import "../../src/render-overloads";
56
56
  import "../../src/scene-addresses";
57
57
  import "../../src/sys-overloads";
@@ -52,6 +52,7 @@ import "../../src/engine-globals";
52
52
  import "../../src/go-overloads";
53
53
  import "../../src/message-guard";
54
54
  import "../../src/msg-overloads";
55
+ import "../../src/physics-event-guard";
55
56
  import "../../src/scene-addresses";
56
57
  import "../../src/sys-overloads";
57
58
  import "../../src/vmath-overloads";
@@ -6,7 +6,7 @@ declare global {
6
6
  * Functions and constants to access resources.
7
7
  */
8
8
  namespace liveupdate {
9
- type LIVEUPDATE = typeof liveupdate.LIVEUPDATE_BUNDLED_RESOURCE_MISMATCH | typeof liveupdate.LIVEUPDATE_ENGINE_VERSION_MISMATCH | typeof liveupdate.LIVEUPDATE_FORMAT_ERROR | typeof liveupdate.LIVEUPDATE_INVAL | typeof liveupdate.LIVEUPDATE_INVALID_HEADER | typeof liveupdate.LIVEUPDATE_INVALID_RESOURCE | typeof liveupdate.LIVEUPDATE_IO_ERROR | typeof liveupdate.LIVEUPDATE_MEM_ERROR | typeof liveupdate.LIVEUPDATE_OK | typeof liveupdate.LIVEUPDATE_SCHEME_MISMATCH | typeof liveupdate.LIVEUPDATE_SIGNATURE_MISMATCH | typeof liveupdate.LIVEUPDATE_UNKNOWN | typeof liveupdate.LIVEUPDATE_VERSION_MISMATCH;
9
+ type LIVEUPDATE = typeof liveupdate.LIVEUPDATE_BUNDLED_RESOURCE_MISMATCH | typeof liveupdate.LIVEUPDATE_ENGINE_VERSION_MISMATCH | typeof liveupdate.LIVEUPDATE_FORMAT_ERROR | typeof liveupdate.LIVEUPDATE_INVAL | typeof liveupdate.LIVEUPDATE_INVALID_HEADER | typeof liveupdate.LIVEUPDATE_INVALID_RESOURCE | typeof liveupdate.LIVEUPDATE_IO_ERROR | typeof liveupdate.LIVEUPDATE_MEM_ERROR | typeof liveupdate.LIVEUPDATE_OK | typeof liveupdate.LIVEUPDATE_SCHEME_MISMATCH | typeof liveupdate.LIVEUPDATE_SIGNATURE_MISMATCH | typeof liveupdate.LIVEUPDATE_UNKNOWN | typeof liveupdate.LIVEUPDATE_VERSION_MISMATCH | typeof liveupdate.LIVEUPDATE_NOT_INITIALIZED;
10
10
  /**
11
11
  * Mismatch between between expected bundled resources and actual bundled resources. The manifest expects a resource to be in the bundle, but it was not found in the bundle. This is typically the case when a non-excluded resource was modified between publishing the bundle and publishing the manifest.
12
12
  */
@@ -39,6 +39,10 @@ declare global {
39
39
  * Memory wasn't allocated
40
40
  */
41
41
  const LIVEUPDATE_MEM_ERROR: number & { readonly __brand: "liveupdate.LIVEUPDATE_MEM_ERROR" };
42
+ /**
43
+ * Live update is not initialized. `liveupdate.add_mount` and `liveupdate.remove_mount` return it while live update is disabled.
44
+ */
45
+ const LIVEUPDATE_NOT_INITIALIZED: number & { readonly __brand: "liveupdate.LIVEUPDATE_NOT_INITIALIZED" };
42
46
  /**
43
47
  * Operation completed successfully.
44
48
  */
@@ -78,7 +78,7 @@ declare global {
78
78
  /**
79
79
  * Sampler texture type.
80
80
  */
81
- type: graphics.TEXTURE_TYPE;
81
+ type: graphics.TEXTURE_TYPE | 6 | 7 | 8 | 9 | 10;
82
82
  /**
83
83
  * Horizontal wrap mode.
84
84
  */
@@ -348,7 +348,7 @@ declare global {
348
348
  * Returns a table of all the textures from the material.
349
349
  *
350
350
  * @param path - The path to the resource
351
- * @returns material texture information
351
+ * @returns material texture information. Keyed by sampler slot from 1; a slot with no texture has no entry, so iterate with `for (const [slot, info] of textures)`.
352
352
  * @example
353
353
  * ```ts
354
354
  * // Get the textures from a material specified as a resource property
@@ -363,7 +363,7 @@ declare global {
363
363
  * });
364
364
  * ```
365
365
  */
366
- function get_textures(path: Hash | string): material.texture_info[];
366
+ function get_textures(path: Hash | string): LuaMap<number, material.texture_info>;
367
367
  /**
368
368
  * Returns a table of all the vertex attributes in the material. This function will return all the vertex attributes
369
369
  * that are used in the vertex shader of the material.
@@ -164,10 +164,9 @@ declare global {
164
164
  * // How to play the "jump" animation followed by the "run" animation:
165
165
  * const url = msg.url("#model");
166
166
  *
167
- * function anim_done(self: unknown, message_id: unknown, message: unknown, sender: unknown) {
167
+ * function anim_done(self: unknown, message_id: Hash, message: { animation_id: Hash }) {
168
168
  * if (message_id === hash("model_animation_done")) {
169
- * const { animation_id } = message as { animation_id: Hash };
170
- * if (animation_id === hash("jump")) {
169
+ * if (message.animation_id === hash("jump")) {
171
170
  * // open animation done, chain with "run"
172
171
  * const properties = { blend_duration: 0.2 };
173
172
  * model.play_anim(url, "run", go.PLAYBACK_LOOP_FORWARD, properties, anim_done);
@@ -184,7 +183,7 @@ declare global {
184
183
  * });
185
184
  * ```
186
185
  */
187
- function play_anim(url: string | Hash | Url, anim_id: string | Hash, playback: go.PLAYBACK, play_properties?: model.play_properties, complete_function?: (self: unknown, message_id: Hash, message: BuiltinMessages["model_animation_done"], sender: Url) => void): void;
186
+ function play_anim(url: string | Hash | Url, anim_id: string | Hash, playback: go.PLAYBACK, play_properties?: model.play_properties, complete_function?: (self: unknown, message_id: Hash, message: BuiltinMessages["model_animation_done"]) => void): void;
188
187
  /**
189
188
  * Resets a shader constant for a model component.
190
189
  * The constant must be defined in the material assigned to the model.
@@ -238,7 +237,7 @@ declare global {
238
237
  /**
239
238
  * The current animation set on the component. The type of the property is hash.
240
239
  */
241
- animation: Hash;
240
+ readonly animation: Hash;
242
241
  /**
243
242
  * The normalized animation cursor. The type of the property is number.
244
243
  * Please note that model events may not fire as expected when the cursor is manipulated directly.
@@ -128,7 +128,26 @@ declare global {
128
128
  * });
129
129
  * ```
130
130
  */
131
- function stop(url: string | Hash | Url, options?: particlefx.stop_options): void;
131
+ function stop(url: string | Hash | Url): void;
132
+ /**
133
+ * Stops a particle FX component from playing.
134
+ * Stopping a particle FX does not remove already spawned particles.
135
+ * Which particle FX to stop is identified by the URL.
136
+ *
137
+ * @param url - the particle fx that should stop playing
138
+ * @param options - options used when stopping the particle fx
139
+ * @example
140
+ * ```ts
141
+ * // How to stop a particle fx when a game object is deleted and immediately also
142
+ * // clear any spawned particles:
143
+ * export default defineScript({
144
+ * final(self) {
145
+ * particlefx.stop("#particlefx", { clear: true });
146
+ * },
147
+ * });
148
+ * ```
149
+ */
150
+ function stop(url: string | Hash | Url, options: particlefx.stop_options): void;
132
151
  interface properties {
133
152
  /**
134
153
  * The animation used during rendering by an emitter in a particle FX component.
@@ -6,7 +6,7 @@ declare global {
6
6
  * Collision object physics API documentation
7
7
  */
8
8
  namespace physics {
9
- type event = BuiltinMessages["contact_point_event"] | BuiltinMessages["collision_event"] | BuiltinMessages["trigger_event"] | BuiltinMessages["ray_cast_response"] | BuiltinMessages["ray_cast_missed"];
9
+ type event = BuiltinMessages["contact_point_event"] & { type: Hash<"contact_point_event"> } | BuiltinMessages["collision_event"] & { type: Hash<"collision_event"> } | BuiltinMessages["trigger_event"] & { type: Hash<"trigger_event"> } | BuiltinMessages["ray_cast_response"] & { type: Hash<"ray_cast_response"> } | BuiltinMessages["ray_cast_missed"] & { type: Hash<"ray_cast_missed"> };
10
10
  /**
11
11
  * The available fields depend on the joint type.
12
12
  */
@@ -366,7 +366,7 @@ declare global {
366
366
  * @returns It returns a list. If missed it returns `nil`. See ray_cast_response for details on the returned values.
367
367
  * @example
368
368
  * ```ts
369
- * function handle_result(hit: { fraction: number; position: Vector3; normal: Vector3; id: Hash; group: Hash; request_id: number }) {
369
+ * function handle_result(hit: { fraction: number; position: Vector3; normal: Vector3; id: Hash; group: Hash }) {
370
370
  * // act on the hit (see 'ray_cast_response')
371
371
  * }
372
372
  *
@@ -391,7 +391,7 @@ declare global {
391
391
  * });
392
392
  * ```
393
393
  */
394
- function raycast(from: Vector3, to: Vector3, groups: Hash[], options?: physics.raycast_options): BuiltinMessages["ray_cast_response"][] | BuiltinMessages["ray_cast_response"] | undefined;
394
+ function raycast(from: Vector3, to: Vector3, groups: Hash[], options?: physics.raycast_options): Omit<BuiltinMessages["ray_cast_response"], "request_id">[] | Omit<BuiltinMessages["ray_cast_response"], "request_id"> | undefined;
395
395
  /**
396
396
  * Ray casts are used to test for intersections against collision objects in the physics world.
397
397
  * Collision objects of types kinematic, dynamic and static are tested against. Trigger objects
@@ -435,7 +435,51 @@ declare global {
435
435
  * });
436
436
  * ```
437
437
  */
438
- function raycast_async(from: Vector3, to: Vector3, groups: Hash[], request_id?: number): void;
438
+ function raycast_async(from: Vector3, to: Vector3, groups: Hash[]): void;
439
+ /**
440
+ * Ray casts are used to test for intersections against collision objects in the physics world.
441
+ * Collision objects of types kinematic, dynamic and static are tested against. Trigger objects
442
+ * do not intersect with ray casts.
443
+ * Which collision objects to hit is filtered by their collision groups and can be configured
444
+ * through `groups`.
445
+ * The actual ray cast will be performed during the physics-update.
446
+ *
447
+ * - If an object is hit, the result will be reported via a ray_cast_response message.
448
+ * - If there is no object hit, the result will be reported via a ray_cast_missed message.
449
+ *
450
+ * NOTE: Ray casts will ignore collision objects that contain the starting point of the ray. This is a limitation in Box2D.
451
+ *
452
+ * @param from - the world position of the start of the ray
453
+ * @param to - the world position of the end of the ray
454
+ * @param groups - a lua table containing the hashed groups for which to test collisions against
455
+ * @param request_id - a number in range [0,255]. It will be sent back in the response for identification, 0 by default
456
+ * @example
457
+ * ```ts
458
+ * // How to perform a ray cast asynchronously:
459
+ * export default defineScript({
460
+ * init() {
461
+ * return { my_groups: [hash("my_group1"), hash("my_group2")] };
462
+ * },
463
+ *
464
+ * update(self, dt) {
465
+ * // request ray cast
466
+ * const my_start = go.get_world_position();
467
+ * const my_end = vmath.vector3(my_start.x, my_start.y - 100, my_start.z);
468
+ * physics.raycast_async(my_start, my_end, self.my_groups);
469
+ * },
470
+ *
471
+ * on_message(self, message_id, message, sender) {
472
+ * // check for the response
473
+ * if (message_id === hash("ray_cast_response")) {
474
+ * // act on the hit
475
+ * } else if (message_id === hash("ray_cast_missed")) {
476
+ * // act on the miss
477
+ * }
478
+ * },
479
+ * });
480
+ * ```
481
+ */
482
+ function raycast_async(from: Vector3, to: Vector3, groups: Hash[], request_id: number): void;
439
483
  /**
440
484
  * Only one physics world event listener can be set at a time.
441
485
  *