@defold-typescript/types 0.40.0 → 0.41.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 (224) hide show
  1. package/api-availability.json +3963 -772
  2. package/api-migrations.json +27 -0
  3. package/api-signatures.json +18069 -10240
  4. package/api-targets.json +448 -11
  5. package/examples/translations.json +560 -89
  6. package/fixtures/messages_doc.json +96 -0
  7. package/generated/b2d.d.ts +680 -4
  8. package/generated/b2d_body.d.ts +29 -103
  9. package/generated/b2d_chain.d.ts +5 -6
  10. package/generated/b2d_fixture.d.ts +34 -38
  11. package/generated/b2d_joint.d.ts +503 -25
  12. package/generated/b2d_shape.d.ts +183 -20
  13. package/generated/b2d_world.d.ts +57 -63
  14. package/generated/buffer.d.ts +16 -15
  15. package/generated/builtin-messages.d.ts +7 -1
  16. package/generated/bullet3d.d.ts +91 -0
  17. package/generated/bullet3d_collision_object.d.ts +433 -0
  18. package/generated/bullet3d_constraint.d.ts +818 -0
  19. package/generated/bullet3d_rigid_body.d.ts +429 -0
  20. package/generated/bullet3d_shape.d.ts +123 -0
  21. package/generated/bullet3d_world.d.ts +492 -0
  22. package/generated/camera.d.ts +29 -32
  23. package/generated/collectionfactory.d.ts +15 -18
  24. package/generated/collectionproxy.d.ts +22 -6
  25. package/generated/compute.d.ts +12 -238
  26. package/generated/crash.d.ts +24 -10
  27. package/generated/editor-vm/http.d.ts +90 -7
  28. package/generated/editor-vm/image.d.ts +7 -7
  29. package/generated/editor-vm/json.d.ts +11 -0
  30. package/generated/editor-vm/localization.d.ts +7 -7
  31. package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
  32. package/generated/editor-vm/zip.d.ts +28 -0
  33. package/generated/editor.d.ts +1496 -430
  34. package/generated/factory.d.ts +21 -25
  35. package/generated/font.d.ts +64 -22
  36. package/generated/go.d.ts +235 -182
  37. package/generated/graphics.d.ts +335 -97
  38. package/generated/gui.d.ts +240 -471
  39. package/generated/html5.d.ts +2 -2
  40. package/generated/http.d.ts +28 -35
  41. package/generated/image.d.ts +105 -72
  42. package/generated/json.d.ts +34 -16
  43. package/generated/kinds/gui-script.d.ts +7 -0
  44. package/generated/kinds/render-script.d.ts +7 -0
  45. package/generated/kinds/script.d.ts +7 -0
  46. package/generated/label.d.ts +77 -7
  47. package/generated/liveupdate.d.ts +13 -10
  48. package/generated/material.d.ts +312 -360
  49. package/generated/model.d.ts +40 -39
  50. package/generated/particlefx.d.ts +19 -28
  51. package/generated/physics.d.ts +365 -133
  52. package/generated/profiler.d.ts +13 -23
  53. package/generated/render.d.ts +237 -297
  54. package/generated/resource.d.ts +664 -583
  55. package/generated/socket.d.ts +120 -133
  56. package/generated/sound.d.ts +62 -31
  57. package/generated/sprite.d.ts +31 -17
  58. package/generated/sys.d.ts +234 -190
  59. package/generated/tilemap.d.ts +21 -16
  60. package/generated/timer.d.ts +34 -21
  61. package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
  62. package/generated/versions/defold-1.12.4/buffer.d.ts +1 -3
  63. package/generated/versions/defold-1.12.4/camera.d.ts +21 -21
  64. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +9 -9
  65. package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
  66. package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
  67. package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
  68. package/generated/versions/defold-1.12.4/go.d.ts +6 -12
  69. package/generated/versions/defold-1.12.4/gui.d.ts +77 -175
  70. package/generated/versions/defold-1.12.4/html5.d.ts +1 -1
  71. package/generated/versions/defold-1.12.4/http.d.ts +0 -13
  72. package/generated/versions/defold-1.12.4/image.d.ts +16 -33
  73. package/generated/versions/defold-1.12.4/index.d.ts +1 -0
  74. package/generated/versions/defold-1.12.4/json.d.ts +10 -6
  75. package/generated/versions/defold-1.12.4/label.d.ts +2 -3
  76. package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
  77. package/generated/versions/defold-1.12.4/model.d.ts +2 -10
  78. package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
  79. package/generated/versions/defold-1.12.4/physics.d.ts +69 -67
  80. package/generated/versions/defold-1.12.4/profiler.d.ts +2 -5
  81. package/generated/versions/defold-1.12.4/render.d.ts +99 -128
  82. package/generated/versions/defold-1.12.4/resource.d.ts +120 -148
  83. package/generated/versions/defold-1.12.4/socket.d.ts +34 -60
  84. package/generated/versions/defold-1.12.4/sound.d.ts +8 -8
  85. package/generated/versions/defold-1.12.4/sprite.d.ts +15 -5
  86. package/generated/versions/defold-1.12.4/sys.d.ts +37 -71
  87. package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
  88. package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
  89. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -21
  90. package/generated/versions/defold-1.12.4/window.d.ts +1 -16
  91. package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
  92. package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
  93. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +169 -8
  94. package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
  95. package/generated/versions/defold-1.13.0/buffer.d.ts +1 -3
  96. package/generated/versions/defold-1.13.0/camera.d.ts +25 -25
  97. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +9 -9
  98. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
  99. package/generated/versions/defold-1.13.0/compute.d.ts +0 -69
  100. package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
  101. package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
  102. package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
  103. package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
  104. package/generated/versions/defold-1.13.0/go.d.ts +6 -12
  105. package/generated/versions/defold-1.13.0/graphics.d.ts +73 -37
  106. package/generated/versions/defold-1.13.0/gui.d.ts +77 -175
  107. package/generated/versions/defold-1.13.0/html5.d.ts +1 -1
  108. package/generated/versions/defold-1.13.0/http.d.ts +0 -13
  109. package/generated/versions/defold-1.13.0/image.d.ts +16 -33
  110. package/generated/versions/defold-1.13.0/index.d.ts +1 -0
  111. package/generated/versions/defold-1.13.0/json.d.ts +10 -6
  112. package/generated/versions/defold-1.13.0/label.d.ts +2 -3
  113. package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
  114. package/generated/versions/defold-1.13.0/material.d.ts +68 -106
  115. package/generated/versions/defold-1.13.0/model.d.ts +2 -10
  116. package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
  117. package/generated/versions/defold-1.13.0/physics.d.ts +69 -67
  118. package/generated/versions/defold-1.13.0/profiler.d.ts +2 -5
  119. package/generated/versions/defold-1.13.0/render.d.ts +99 -128
  120. package/generated/versions/defold-1.13.0/resource.d.ts +126 -150
  121. package/generated/versions/defold-1.13.0/socket.d.ts +34 -60
  122. package/generated/versions/defold-1.13.0/sound.d.ts +8 -8
  123. package/generated/versions/defold-1.13.0/sprite.d.ts +15 -5
  124. package/generated/versions/defold-1.13.0/sys.d.ts +37 -71
  125. package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
  126. package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
  127. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -21
  128. package/generated/versions/defold-1.13.0/window.d.ts +1 -16
  129. package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
  130. package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
  131. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
  132. package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
  133. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
  134. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
  135. package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
  136. package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
  137. package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
  138. package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
  139. package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
  140. package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
  141. package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
  142. package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
  143. package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
  144. package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
  145. package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
  146. package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
  147. package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
  148. package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
  149. package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
  150. package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
  151. package/generated/versions/defold-1.13.1/font.d.ts +81 -0
  152. package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
  153. package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
  154. package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
  155. package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
  156. package/generated/versions/defold-1.13.1/http.d.ts +77 -0
  157. package/generated/versions/defold-1.13.1/image.d.ts +131 -0
  158. package/generated/versions/defold-1.13.1/index.d.ts +57 -0
  159. package/generated/versions/defold-1.13.1/json.d.ts +80 -0
  160. package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
  161. package/generated/versions/defold-1.13.1/label.d.ts +93 -0
  162. package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
  163. package/generated/versions/defold-1.13.1/material.d.ts +408 -0
  164. package/generated/versions/defold-1.13.1/model.d.ts +272 -0
  165. package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
  166. package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
  167. package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
  168. package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
  169. package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
  170. package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
  171. package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
  172. package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
  173. package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
  174. package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
  175. package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
  176. package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
  177. package/generated/versions/defold-1.13.1/types.d.ts +61 -0
  178. package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
  179. package/generated/versions/defold-1.13.1/window.d.ts +183 -0
  180. package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
  181. package/generated/vmath.d.ts +1 -21
  182. package/generated/window.d.ts +71 -71
  183. package/identity-vocabulary.json +561 -0
  184. package/index.d.ts +7 -0
  185. package/package.json +13 -2
  186. package/scripts/example-store-io.ts +12 -1
  187. package/scripts/extension-goldens.ts +1 -0
  188. package/scripts/fidelity-baseline.json +146 -46
  189. package/scripts/generate-api-availability.ts +90 -12
  190. package/scripts/generate-api-signatures.ts +12 -2
  191. package/scripts/import-defold-release.ts +85 -24
  192. package/scripts/prose-constants.ts +77 -16
  193. package/scripts/regen.ts +391 -77
  194. package/scripts/shared-handle-methods.ts +53 -0
  195. package/scripts/signature-store-fs.ts +1 -0
  196. package/scripts/sync-api-docs.ts +16 -5
  197. package/src/api-availability.ts +0 -0
  198. package/src/api-doc.ts +201 -3
  199. package/src/api-identity.ts +252 -0
  200. package/src/core-types.ts +26 -3
  201. package/src/correction-pins.ts +49 -0
  202. package/src/doc-comment.ts +104 -11
  203. package/src/doc-corrections.ts +108 -0
  204. package/src/editor-vm-globals.d.ts +5 -2
  205. package/src/emit-dts.ts +2064 -281
  206. package/src/emit-messages.ts +52 -0
  207. package/src/example-store.ts +125 -14
  208. package/src/field-correction-coverage.ts +204 -0
  209. package/src/fnv1a.ts +16 -0
  210. package/src/go-overloads.d.ts +25 -6
  211. package/src/index-base-table.ts +145 -0
  212. package/src/index-slot-classifications.ts +588 -0
  213. package/src/index.ts +38 -5
  214. package/src/library-index-slot-classifications.ts +332 -0
  215. package/src/lifecycle.ts +61 -199
  216. package/src/luals-type-expr.ts +354 -0
  217. package/src/msg-overloads.d.ts +0 -1
  218. package/src/param-correction-provenance.ts +8 -11
  219. package/src/render-overloads.d.ts +0 -15
  220. package/src/return-correction-provenance.ts +58 -16
  221. package/src/sys-overloads.d.ts +48 -0
  222. package/src/vmath-overloads.d.ts +27 -1
  223. package/src/window-event-guard.d.ts +6 -9
  224. package/url-parameters.json +1 -2
@@ -48,7 +48,7 @@ declare global {
48
48
  * });
49
49
  * ```
50
50
  */
51
- function set_interaction_listener(callback?: (self: unknown) => void): void;
51
+ function set_interaction_listener(callback: ((self: unknown) => void) | undefined): void;
52
52
  }
53
53
  }
54
54
 
@@ -22,36 +22,23 @@ declare global {
22
22
  * table The response data. Contains the fields:
23
23
  *
24
24
  * - number `status`: the status of the response
25
- *
26
25
  * - string `response`: the response data (if not saved on disc)
27
- *
28
26
  * - table `headers`: all the returned headers (if status is 200 or 206)
29
- *
30
27
  * - string `path`: the stored path (if saved to disc)
31
- *
32
28
  * - string `error`: if any unforeseen errors occurred (e.g. file I/O)
33
- *
34
29
  * - number `bytes_received`: the amount of bytes received/sent for a request, only if option `report_progress` is true
35
- *
36
30
  * - number `bytes_total`: the total amount of bytes for a request, only if option `report_progress` is true
37
- *
38
31
  * - number `range_start`: the start offset into the requested file
39
- *
40
32
  * - number `range_end`: the end offset into the requested file (inclusive)
41
- *
42
33
  * - number `document_size`: the full size of the requested file
43
34
  * @param headers - optional table with custom headers
44
35
  * @param post_data - optional data to send
45
36
  * @param options - optional table with request parameters. Supported entries:
46
37
  *
47
38
  * - number `timeout`: timeout in seconds
48
- *
49
39
  * - string `path`: path on disc where to download the file. Only overwrites the path if status is 200. Path should be absolute
50
- *
51
40
  * - boolean `ignore_cache`: don't return cached data if we get a 304. Not available in HTML5 build
52
- *
53
41
  * - boolean `chunked_transfer`: use chunked transfer encoding for https requests larger than 16kb. Defaults to true. Not available in HTML5 build
54
- *
55
42
  * - boolean `report_progress`: when it is true, the amount of bytes sent and/or received for a request will be passed into the callback function
56
43
  * @example
57
44
  * ```ts
@@ -9,19 +9,19 @@ declare global {
9
9
  /**
10
10
  * luminance image type
11
11
  */
12
- const TYPE_LUMINANCE: number & { readonly __brand: "image.TYPE_LUMINANCE" };
12
+ const TYPE_LUMINANCE: string & { readonly __brand: "image.TYPE_LUMINANCE" };
13
13
  /**
14
14
  * luminance image type
15
15
  */
16
- const TYPE_LUMINANCE_ALPHA: number & { readonly __brand: "image.TYPE_LUMINANCE_ALPHA" };
16
+ const TYPE_LUMINANCE_ALPHA: string & { readonly __brand: "image.TYPE_LUMINANCE_ALPHA" };
17
17
  /**
18
18
  * RGB image type
19
19
  */
20
- const TYPE_RGB: number & { readonly __brand: "image.TYPE_RGB" };
20
+ const TYPE_RGB: string & { readonly __brand: "image.TYPE_RGB" };
21
21
  /**
22
22
  * RGBA image type
23
23
  */
24
- const TYPE_RGBA: number & { readonly __brand: "image.TYPE_RGBA" };
24
+ const TYPE_RGBA: string & { readonly __brand: "image.TYPE_RGBA" };
25
25
  /**
26
26
  * get the header of an .astc buffer
27
27
  *
@@ -29,15 +29,10 @@ declare global {
29
29
  * @returns header or `nil` if buffer is not a valid .astc. The header has these fields:
30
30
  *
31
31
  * - number `width`: image width
32
- *
33
32
  * - number `height`: image height
34
- *
35
33
  * - number `depth`: image depth
36
- *
37
34
  * - number `block_size_x`: block size x
38
- *
39
35
  * - number `block_size_y`: block size y
40
- *
41
36
  * - number `block_size_z`: block size z
42
37
  * @example
43
38
  * ```ts
@@ -63,19 +58,12 @@ declare global {
63
58
  * @returns object or `nil` if loading fails. The object is a table with the following fields:
64
59
  *
65
60
  * - number `width`: image width
66
- *
67
61
  * - number `height`: image height
68
- *
69
62
  * - constant `type`: image type
70
- *
71
- * - `image.TYPE_RGB`
72
- *
73
- * - `image.TYPE_RGBA`
74
- *
75
- * - `image.TYPE_LUMINANCE`
76
- *
77
- * - `image.TYPE_LUMINANCE_ALPHA`
78
- *
63
+ * - `image.TYPE_RGB`
64
+ * - `image.TYPE_RGBA`
65
+ * - `image.TYPE_LUMINANCE`
66
+ * - `image.TYPE_LUMINANCE_ALPHA`
79
67
  * - string `buffer`: the raw image data
80
68
  * @example
81
69
  * ```ts
@@ -103,19 +91,12 @@ declare global {
103
91
  * @returns object or `nil` if loading fails. The object is a table with the following fields:
104
92
  *
105
93
  * - number `width`: image width
106
- *
107
94
  * - number `height`: image height
108
- *
109
95
  * - constant `type`: image type
110
- *
111
- * - `image.TYPE_RGB`
112
- *
113
- * - `image.TYPE_RGBA`
114
- *
115
- * - `image.TYPE_LUMINANCE`
116
- *
117
- * - `image.TYPE_LUMINANCE_ALPHA`
118
- *
96
+ * - `image.TYPE_RGB`
97
+ * - `image.TYPE_RGBA`
98
+ * - `image.TYPE_LUMINANCE`
99
+ * - `image.TYPE_LUMINANCE_ALPHA`
119
100
  * - buffer `buffer`: the script buffer that holds the decompressed image data. See buffer.create how to use the buffer.
120
101
  * @example
121
102
  * ```ts
@@ -126,12 +107,14 @@ declare global {
126
107
  * response.response !== undefined
127
108
  * ? image.load_buffer(response.response, { flip_vertically: true })
128
109
  * : undefined;
129
- * if (img !== undefined) {
110
+ * // the engine registers a texture format only when the driver supports it
111
+ * const format = graphics.TEXTURE_FORMAT_RGBA;
112
+ * if (img !== undefined && format !== undefined) {
130
113
  * const tparams = {
131
114
  * width: img.width,
132
115
  * height: img.height,
133
116
  * type: graphics.TEXTURE_TYPE_2D,
134
- * format: graphics.TEXTURE_FORMAT_RGBA,
117
+ * format,
135
118
  * };
136
119
  *
137
120
  * const my_texture_id = resource.create_texture("/my_custom_texture.texturec", tparams, img.buffer);
@@ -45,5 +45,6 @@ import "../../../src/go-overloads";
45
45
  import "../../../src/component-properties";
46
46
  import "../../../src/render-overloads";
47
47
  import "../../../src/vmath-overloads";
48
+ import "../../../src/sys-overloads";
48
49
 
49
50
  export {};
@@ -18,8 +18,8 @@ declare global {
18
18
  * - boolean `decode_null_as_userdata`: wether to decode a JSON null value as json.null or nil (default is nil)
19
19
  * @returns decoded json
20
20
  * @example
21
+ * Converting a string containing JSON data into a Lua table:
21
22
  * ```ts
22
- * // Converting a string containing JSON data into a table:
23
23
  * export default defineScript({
24
24
  * init() {
25
25
  * const jsonstring = '{"persons":[{"name":"John Doe"},{"name":"Darth Vader"}]}';
@@ -27,8 +27,10 @@ declare global {
27
27
  * pprint(data);
28
28
  * },
29
29
  * });
30
- *
31
- * // Results in the following printout:
30
+ * ```
31
+ * @example
32
+ * Results in the following printout:
33
+ * ```ts
32
34
  * // {
33
35
  * // persons = {
34
36
  * // 1 = {
@@ -52,8 +54,8 @@ declare global {
52
54
  * - string `encode_empty_table_as_object`: wether to encode an empty table as an JSON object or array (default is object)
53
55
  * @returns encoded json
54
56
  * @example
57
+ * Convert a lua table to a JSON string:
55
58
  * ```ts
56
- * // Convert a table to a JSON string:
57
59
  * export default defineScript({
58
60
  * init() {
59
61
  * const tbl = {
@@ -63,8 +65,10 @@ declare global {
63
65
  * pprint(jsonstring);
64
66
  * },
65
67
  * });
66
- *
67
- * // Results in the following printout:
68
+ * ```
69
+ * @example
70
+ * Results in the following printout:
71
+ * ```ts
68
72
  * // {"persons":[{"name":"John Doe"},{"name":"Darth Vader"}]}
69
73
  * ```
70
74
  */
@@ -68,10 +68,9 @@ declare global {
68
68
  */
69
69
  outline: Vector4;
70
70
  /**
71
- * The scale of the label. The type of the property is number (uniform)
72
- * or vector3 (non uniform).
71
+ * The scale of the label. `go.get` returns and `go.set` takes a vector3; `go.animate` also takes a number, which sets a uniform scale.
73
72
  */
74
- scale: number | Vector3;
73
+ scale: Vector3;
75
74
  /**
76
75
  * The shadow color of the label. The type of the property is vector4.
77
76
  */
@@ -81,11 +81,13 @@ declare global {
81
81
  *
82
82
  * @returns Array of mounts
83
83
  * @example
84
+ * Output the current resource mounts
84
85
  * ```ts
85
- * // Output the current resource mounts
86
86
  * pprint("MOUNTS", liveupdate.get_mounts());
87
- *
88
- * // Give an output like:
87
+ * ```
88
+ * @example
89
+ * Give an output like:
90
+ * ```ts
89
91
  * // DEBUG:SCRIPT: MOUNTS,
90
92
  * // {
91
93
  * // 1 = {
@@ -82,7 +82,7 @@ declare global {
82
82
  * });
83
83
  * ```
84
84
  */
85
- function get_mesh_enabled(url: string | Hash | Url, mesh_id: string | Hash | Url): boolean;
85
+ function get_mesh_enabled(url: string | Hash | Url, mesh_id: string | Hash): boolean;
86
86
  /**
87
87
  * Plays an animation on a model component with specified playback
88
88
  * mode and parameters.
@@ -94,9 +94,7 @@ declare global {
94
94
  * animations that play with the following playback modes:
95
95
  *
96
96
  * - `go.PLAYBACK_ONCE_FORWARD`
97
- *
98
97
  * - `go.PLAYBACK_ONCE_BACKWARD`
99
- *
100
98
  * - `go.PLAYBACK_ONCE_PINGPONG`
101
99
  *
102
100
  * @param url - the model for which to play the animation
@@ -104,15 +102,10 @@ declare global {
104
102
  * @param playback - playback mode of the animation
105
103
  *
106
104
  * - `go.PLAYBACK_ONCE_FORWARD`
107
- *
108
105
  * - `go.PLAYBACK_ONCE_BACKWARD`
109
- *
110
106
  * - `go.PLAYBACK_ONCE_PINGPONG`
111
- *
112
107
  * - `go.PLAYBACK_LOOP_FORWARD`
113
- *
114
108
  * - `go.PLAYBACK_LOOP_BACKWARD`
115
- *
116
109
  * - `go.PLAYBACK_LOOP_PINGPONG`
117
110
  * @param play_properties - optional table with properties
118
111
  * Play properties table:
@@ -133,7 +126,6 @@ declare global {
133
126
  * table Information about the completion:
134
127
  *
135
128
  * - hash `animation_id` - the animation that was completed.
136
- *
137
129
  * - constant `playback` - the playback mode for the animation.
138
130
  *
139
131
  * `sender`
@@ -181,7 +173,7 @@ declare global {
181
173
  * });
182
174
  * ```
183
175
  */
184
- function set_mesh_enabled(url: string | Hash | Url, mesh_id: string | Hash | Url, enabled: boolean): void;
176
+ function set_mesh_enabled(url: string | Hash | Url, mesh_id: string | Hash, enabled: boolean): void;
185
177
  interface properties {
186
178
  /**
187
179
  * The current animation set on the component. The type of the property is hash.
@@ -1,5 +1,5 @@
1
1
  /** @noSelfInFile */
2
- import type { Hash, Url, Vector4 } from "../../../src/core-types";
2
+ import type { Hash, Matrix4, Url, Vector4 } from "../../../src/core-types";
3
3
 
4
4
  declare global {
5
5
  /**
@@ -42,11 +42,8 @@ declare global {
42
42
  * constant the new state of the emitter:
43
43
  *
44
44
  * - `particlefx.EMITTER_STATE_SLEEPING`
45
- *
46
45
  * - `particlefx.EMITTER_STATE_PRESPAWN`
47
- *
48
46
  * - `particlefx.EMITTER_STATE_SPAWNING`
49
- *
50
47
  * - `particlefx.EMITTER_STATE_POSTSPAWN`
51
48
  * @example
52
49
  * ```ts
@@ -118,7 +115,7 @@ declare global {
118
115
  * });
119
116
  * ```
120
117
  */
121
- function set_constant(url: string | Hash | Url, emitter: string | Hash, constant: string | Hash, value: Vector4): void;
118
+ function set_constant(url: string | Hash | Url, emitter: string | Hash, constant: string | Hash, value: Vector4 | Matrix4): void;
122
119
  /**
123
120
  * Stops a particle FX component from playing.
124
121
  * Stopping a particle FX does not remove already spawned particles.
@@ -85,11 +85,12 @@ declare global {
85
85
  * @param url - the collision object to return the group of.
86
86
  * @returns hash value of the group.
87
87
  *
88
- * `local function check_is_enemy()
89
- * local group = physics.get_group("#collisionobject")
90
- * return group == hash("enemy")
91
- * end
92
- * `
88
+ * ```ts
89
+ * function check_is_enemy(): boolean {
90
+ * const group = physics.get_group("#collisionobject");
91
+ * return group === hash("enemy");
92
+ * }
93
+ * ```
93
94
  */
94
95
  function get_group(url: string | Hash | Url): Hash;
95
96
  /**
@@ -132,14 +133,15 @@ declare global {
132
133
  * @param group - the name of the group to check for.
133
134
  * @returns boolean value of the maskbit. 'true' if present, 'false' otherwise.
134
135
  *
135
- * `local function is_invincible()
136
- * -- check if the collisionobject would collide with the "bullet" group
137
- * local invincible = physics.get_maskbit("#collisionobject", "bullet")
138
- * return invincible
139
- * end
140
- * `
136
+ * ```ts
137
+ * function is_invincible(): boolean {
138
+ * // check if the collisionobject would collide with the "bullet" group
139
+ * const invincible = physics.get_maskbit("#collisionobject", "bullet");
140
+ * return invincible;
141
+ * }
142
+ * ```
141
143
  */
142
- function get_maskbit(url: string | Hash | Url, group: string): boolean;
144
+ function get_maskbit(url: string | Hash | Url, group: string | Hash): boolean;
143
145
  /**
144
146
  * Gets collision shape data from a collision object
145
147
  *
@@ -151,11 +153,8 @@ declare global {
151
153
  * number The shape type. Supported values:
152
154
  *
153
155
  * - `physics.SHAPE_TYPE_SPHERE`
154
- *
155
156
  * - `physics.SHAPE_TYPE_BOX`
156
- *
157
157
  * - `physics.SHAPE_TYPE_CAPSULE` *Only supported for 3D physics*
158
- *
159
158
  * - `physics.SHAPE_TYPE_HULL`
160
159
  *
161
160
  * The returned table contains different fields depending on which type the shape is.
@@ -176,12 +175,13 @@ declare global {
176
175
  * `height`
177
176
  * number the height of the capsule
178
177
  *
179
- * `local function get_shape_meta()
180
- * local sphere = physics.get_shape("#collisionobject", "my_sphere_shape")
181
- * -- returns a table with sphere.diameter
182
- * return sphere
183
- * end
184
- * `
178
+ * ```ts
179
+ * function get_shape_meta() {
180
+ * const sphere = physics.get_shape("#collisionobject", "my_sphere_shape");
181
+ * // returns a table with sphere.diameter
182
+ * return sphere;
183
+ * }
184
+ * ```
185
185
  */
186
186
  function get_shape(url: string | Hash | Url, shape: string | Hash): { type: number; diameter?: number; dimensions?: Vector3; height?: number };
187
187
  /**
@@ -218,7 +218,8 @@ declare global {
218
218
  * const to = vmath.vector3(from.x, from.y - 100, from.z);
219
219
  * const results = physics.raycast(from, to, self.groups, { all: true });
220
220
  * if (results !== undefined) {
221
- * for (const result of results) {
221
+ * // with `all` set, the ray cast returns every hit as a list
222
+ * for (const result of Array.isArray(results) ? results : [results]) {
222
223
  * handle_result(result);
223
224
  * }
224
225
  * }
@@ -236,7 +237,6 @@ declare global {
236
237
  * The actual ray cast will be performed during the physics-update.
237
238
  *
238
239
  * - If an object is hit, the result will be reported via a ray_cast_response message.
239
- *
240
240
  * - If there is no object hit, the result will be reported via a ray_cast_missed message.
241
241
  *
242
242
  * NOTE: Ray casts will ignore collision objects that contain the starting point of the ray. This is a limitation in Box2D.
@@ -283,13 +283,9 @@ declare global {
283
283
  * constant The type of event. Can be one of these messages:
284
284
  *
285
285
  * - contact_point_event
286
- *
287
286
  * - collision_event
288
- *
289
287
  * - trigger_event
290
- *
291
288
  * - ray_cast_response
292
- *
293
289
  * - ray_cast_missed
294
290
  *
295
291
  * `data`
@@ -402,12 +398,13 @@ declare global {
402
398
  * @param url - the collision object affected.
403
399
  * @param group - the new group name to be assigned.
404
400
  *
405
- * `local function change_collision_group()
406
- * physics.set_group("#collisionobject", "enemy")
407
- * end
408
- * `
401
+ * ```ts
402
+ * function change_collision_group() {
403
+ * physics.set_group("#collisionobject", "enemy");
404
+ * }
405
+ * ```
409
406
  */
410
- function set_group(url: string | Hash | Url, group: string): void;
407
+ function set_group(url: string | Hash | Url, group: string | Hash): void;
411
408
  /**
412
409
  * Flips the collision shapes horizontally for a collision object
413
410
  *
@@ -443,13 +440,14 @@ declare global {
443
440
  * @param group - the name of the group (maskbit) to modify in the mask.
444
441
  * @param maskbit - boolean value of the new maskbit. 'true' to enable, 'false' to disable.
445
442
  *
446
- * `local function make_invincible()
447
- * -- no longer collide with the "bullet" group
448
- * physics.set_maskbit("#collisionobject", "bullet", false)
449
- * end
450
- * `
443
+ * ```ts
444
+ * function make_invincible() {
445
+ * // no longer collide with the "bullet" group
446
+ * physics.set_maskbit("#collisionobject", "bullet", false);
447
+ * }
448
+ * ```
451
449
  */
452
- function set_maskbit(url: string | Hash | Url, group: string, maskbit: boolean): void;
450
+ function set_maskbit(url: string | Hash | Url, group: string | Hash, maskbit: boolean): void;
453
451
  /**
454
452
  * Sets collision shape data for a collision object. Please note that updating data in 3D
455
453
  * can be quite costly for box and capsules. Because of the physics engine, the cost
@@ -460,29 +458,30 @@ declare global {
460
458
  * @param table - the shape data to update the shape with.
461
459
  * See physics.get_shape for a detailed description of each field in the data table.
462
460
  *
463
- * `local function set_shape_data()
464
- * -- set capsule shape data
465
- * local data = {}
466
- * data.type = physics.SHAPE_TYPE_CAPSULE
467
- * data.diameter = 10
468
- * data.height = 20
469
- * physics.set_shape("#collisionobject", "my_capsule_shape", data)
470
- *
471
- * -- set sphere shape data
472
- * data = {}
473
- * data.type = physics.SHAPE_TYPE_SPHERE
474
- * data.diameter = 10
475
- * physics.set_shape("#collisionobject", "my_sphere_shape", data)
476
- *
477
- * -- set box shape data
478
- * data = {}
479
- * data.type = physics.SHAPE_TYPE_BOX
480
- * data.dimensions = vmath.vector3(10, 10, 5)
481
- * physics.set_shape("#collisionobject", "my_box_shape", data)
482
- * end
483
- * `
461
+ * ```ts
462
+ * function set_shape_data() {
463
+ * // set capsule shape data
464
+ * physics.set_shape("#collisionobject", "my_capsule_shape", {
465
+ * type: physics.SHAPE_TYPE_CAPSULE,
466
+ * diameter: 10,
467
+ * height: 20,
468
+ * });
469
+ *
470
+ * // set sphere shape data
471
+ * physics.set_shape("#collisionobject", "my_sphere_shape", {
472
+ * type: physics.SHAPE_TYPE_SPHERE,
473
+ * diameter: 10,
474
+ * });
475
+ *
476
+ * // set box shape data
477
+ * physics.set_shape("#collisionobject", "my_box_shape", {
478
+ * type: physics.SHAPE_TYPE_BOX,
479
+ * dimensions: vmath.vector3(10, 10, 5),
480
+ * });
481
+ * }
482
+ * ```
484
483
  */
485
- function set_shape(url: string | Hash | Url, shape: string | Hash, table: { type?: number; diameter?: number; dimensions?: Vector3; height?: number }): void;
484
+ function set_shape(url: string | Hash | Url, shape: string | Hash, table: { type: typeof physics.SHAPE_TYPE_SPHERE; diameter: number } | { type: typeof physics.SHAPE_TYPE_BOX; dimensions: Vector3 } | { type: typeof physics.SHAPE_TYPE_CAPSULE; diameter: number; height: number }): void;
486
485
  /**
487
486
  * Flips the collision shapes vertically for a collision object
488
487
  *
@@ -518,12 +517,15 @@ declare global {
518
517
  *
519
518
  * @param url - the collision object to wake.
520
519
  *
521
- * `function on_input(self, action_id, action)
522
- * if action_id == hash("test") and action.pressed then
523
- * physics.wakeup("#collisionobject")
524
- * end
525
- * end
526
- * `
520
+ * ```ts
521
+ * export default defineScript({
522
+ * on_input(self, action_id, action) {
523
+ * if (action_id === hash("test") && action.pressed) {
524
+ * physics.wakeup("#collisionobject");
525
+ * }
526
+ * },
527
+ * });
528
+ * ```
527
529
  */
528
530
  function wakeup(url: string | Hash | Url): void;
529
531
  interface properties {
@@ -551,7 +553,7 @@ declare global {
551
553
  /**
552
554
  * READ ONLY Returns the defined physical mass of the collision object component as a number.
553
555
  */
554
- mass: number;
556
+ readonly mass: number;
555
557
  }
556
558
  }
557
559
  }
@@ -160,11 +160,8 @@ declare global {
160
160
  * @param mode - the mode to set the ui profiler in
161
161
  *
162
162
  * - `profiler.MODE_RUN` This is default mode that continously shows the last frame
163
- *
164
163
  * - `profiler.MODE_PAUSE` Pauses on the currently displayed frame
165
- *
166
164
  * - `profiler.MODE_SHOW_PEAK_FRAME` Pauses on the currently displayed frame but shows a new frame if that frame is slower
167
- *
168
165
  * - `profiler.MODE_RECORD` Records all incoming frames to the recording buffer
169
166
  *
170
167
  * To stop recording, switch to a different mode such as `MODE_PAUSE` or `MODE_RUN`.
@@ -188,7 +185,6 @@ declare global {
188
185
  * @param mode - the view mode to set the ui profiler in
189
186
  *
190
187
  * - `profiler.VIEW_MODE_FULL` The default mode which displays all the ui profiler details
191
- *
192
188
  * - `profiler.VIEW_MODE_MINIMIZED` Minimized mode which only shows the top header (fps counters and ui profiler mode)
193
189
  * @example
194
190
  * ```ts
@@ -224,8 +220,9 @@ declare global {
224
220
  * @param frame_index - a table where you specify one of the following parameters:
225
221
  *
226
222
  * - `distance` The offset from the currently displayed frame (this is truncated between zero and the number of recorded frames)
227
- *
228
223
  * - `frame` The frame index in the recording buffer (1 is first recorded frame)
224
+ *
225
+ * **⚠️ `frame` is 1-based; passed to Defold unchanged.**
229
226
  * @example
230
227
  * ```ts
231
228
  * // Go back one frame