@defold-typescript/types 0.40.0 → 0.42.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 +18 -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 +106 -26
  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 +48 -10
  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
@@ -6,6 +6,7 @@ declare global {
6
6
  * Functions and messages used to manipulate tile map components.
7
7
  */
8
8
  namespace tilemap {
9
+ type TRANSFORM = typeof tilemap.H_FLIP | typeof tilemap.ROTATE_180 | typeof tilemap.ROTATE_270 | typeof tilemap.ROTATE_90 | typeof tilemap.V_FLIP;
9
10
  /**
10
11
  * flip tile horizontally
11
12
  */
@@ -34,6 +35,11 @@ declare global {
34
35
  * the bounds are calculated as if all layers were collapsed into one.
35
36
  *
36
37
  * @param url - the tile map
38
+ * @returns `[x, y, w, h]`:
39
+ * - `x` — x coordinate of the bottom left corner. **⚠️ 1-based; passed to Defold unchanged.**
40
+ * - `y` — y coordinate of the bottom left corner. **⚠️ 1-based; passed to Defold unchanged.**
41
+ * - `w` — number of columns (width) in the tile map
42
+ * - `h` — number of rows (height) in the tile map
37
43
  * @example
38
44
  * ```ts
39
45
  * // get the level bounds.
@@ -50,8 +56,8 @@ declare global {
50
56
  *
51
57
  * @param url - the tile map
52
58
  * @param layer - name of the layer for the tile
53
- * @param x - x-coordinate of the tile
54
- * @param y - y-coordinate of the tile
59
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
60
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
55
61
  * @returns index of the tile
56
62
  * @example
57
63
  * ```ts
@@ -71,9 +77,9 @@ declare global {
71
77
  *
72
78
  * @param url - the tile map
73
79
  * @param layer - name of the layer for the tile
74
- * @param x - x-coordinate of the tile
75
- * @param y - y-coordinate of the tile
76
- * @returns index of the tile
80
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
81
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
82
+ * @returns full tile information
77
83
  * @example
78
84
  * ```ts
79
85
  * function tile_info_under_player(self: { player_x: number; player_y: number }) {
@@ -113,7 +119,7 @@ declare global {
113
119
  * }
114
120
  * ```
115
121
  */
116
- function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaMap<number, LuaMap<number, number>>;
122
+ function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaTable<number, LuaTable<number, number>>;
117
123
  /**
118
124
  * Resets a shader constant for a tile map component.
119
125
  * The constant must be defined in the material assigned to the tile map.
@@ -134,27 +140,26 @@ declare global {
134
140
  * above and to the right of origin has coordinates 1,1.
135
141
  * Tiles to the left of and below origin are indexed 0, -1, -2 and so forth.
136
142
  *
143
+ * ```text
137
144
  * +-------+-------+------+------+
138
- * | 0,3 | 1,3 | 2,3 | 3,3 |
145
+ * | 0,3 | 1,3 | 2,3 | 3,3 |
139
146
  * +-------+-------+------+------+
140
- * | 0,2 | 1,2 | 2,2 | 3,2 |
147
+ * | 0,2 | 1,2 | 2,2 | 3,2 |
141
148
  * +-------+-------+------+------+
142
- * | 0,1 | 1,1 | 2,1 | 3,1 |
149
+ * | 0,1 | 1,1 | 2,1 | 3,1 |
143
150
  * +-------O-------+------+------+
144
- * | 0,0 | 1,0 | 2,0 | 3,0 |
151
+ * | 0,0 | 1,0 | 2,0 | 3,0 |
145
152
  * +-------+-------+------+------+
153
+ * ```
146
154
  *
147
155
  * The coordinates must be within the bounds of the tile map as it were created.
148
156
  * That is, it is not possible to extend the size of a tile map by setting tiles outside the edges.
149
157
  * To clear a tile, set the tile to number 0. Which tile map and layer to manipulate is identified by the URL and the layer name parameters.
150
- * Transform bitmask is arithmetic sum of one or both FLIP constants (`tilemap.H_FLIP`, `tilemap.V_FLIP`) and/or one of ROTATION constants
151
- * (`tilemap.ROTATE_90`, `tilemap.ROTATE_180`, `tilemap.ROTATE_270`).
152
- * Flip always applies before rotation (clockwise).
153
158
  *
154
159
  * @param url - the tile map
155
160
  * @param layer - name of the layer for the tile
156
- * @param x - x-coordinate of the tile
157
- * @param y - y-coordinate of the tile
161
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
162
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
158
163
  * @param tile - index of new tile to set. 0 resets the cell
159
164
  * @param transform_bitmask - optional flip and/or rotation should be applied to the tile
160
165
  * @example
@@ -171,7 +176,7 @@ declare global {
171
176
  * }
172
177
  * ```
173
178
  */
174
- function set_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number, tile: number, transform_bitmask?: number): void;
179
+ function set_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number, tile: number, transform_bitmask?: tilemap.TRANSFORM | number): boolean;
175
180
  /**
176
181
  * Sets the visibility of the tilemap layer
177
182
  *
@@ -8,6 +8,24 @@ declare global {
8
8
  * also affect the new timer.
9
9
  */
10
10
  namespace timer {
11
+ /**
12
+ * Timer information
13
+ */
14
+ interface info {
15
+ /**
16
+ * Time remaining until the next callback.
17
+ */
18
+ time_remaining: number;
19
+ /**
20
+ * Timer interval.
21
+ */
22
+ delay: number;
23
+ /**
24
+ * Whether the timer repeats until cancelled.
25
+ */
26
+ repeating: boolean;
27
+ }
28
+ type timer_handle = number;
11
29
  /**
12
30
  * Indicates an invalid timer handle
13
31
  */
@@ -17,14 +35,14 @@ declare global {
17
35
  * Cancelling a timer that is already executed or cancelled is safe.
18
36
  *
19
37
  * @param handle - the timer handle returned by timer.delay()
20
- * @returns if the timer was active, false if the timer is already cancelled / complete
38
+ * @returns `true` if the timer was active and cancelled, `false` if the timer was already cancelled or complete
21
39
  * @example
22
40
  * ```ts
23
41
  * function cancel_ticking(self: { handle: number }) {
24
42
  * self.handle = timer.delay(1, true, () => print("print every second"));
25
43
  * // ...
26
- * const result = timer.cancel(self.handle);
27
- * if (!result) {
44
+ * const cancelled = timer.cancel(self.handle);
45
+ * if (!cancelled) {
28
46
  * print("the timer is already cancelled");
29
47
  * }
30
48
  * }
@@ -44,18 +62,20 @@ declare global {
44
62
  * @param callback - timer callback function
45
63
  *
46
64
  * `self`
47
- * object The current object
65
+ * script_instance The current script instance
48
66
  * `handle`
49
- * number The handle of the timer
67
+ * timer_handle The handle of the timer
50
68
  * `time_elapsed`
51
69
  * number The elapsed time - on first trigger it is time since timer.delay call, otherwise time since last trigger
52
70
  * @returns identifier for the create timer, returns timer.INVALID_TIMER_HANDLE if the timer can not be created
53
71
  * @example
72
+ * A simple one-shot timer
54
73
  * ```ts
55
- * // A simple one-shot timer
56
74
  * timer.delay(1, false, () => print("print in one second"));
57
- *
58
- * // Repetitive timer which canceled after 10 calls
75
+ * ```
76
+ * @example
77
+ * Repetitive timer which canceled after 10 calls
78
+ * ```ts
59
79
  * function call_every_second(self: unknown, handle: unknown, time_elapsed: unknown) {
60
80
  * const state = self as { counter: number };
61
81
  * state.counter = state.counter + 1;
@@ -71,19 +91,12 @@ declare global {
71
91
  * }
72
92
  * ```
73
93
  */
74
- function delay(delay: number, repeating: boolean, callback: (self: unknown, handle: unknown, time_elapsed: unknown) => void): number;
94
+ function delay(delay: number, repeating: boolean, callback: (self: unknown, handle: number, time_elapsed: number) => void): number;
75
95
  /**
76
96
  * Get information about timer.
77
97
  *
78
98
  * @param handle - the timer handle returned by timer.delay()
79
- * @returns table or `nil` if timer is cancelled/completed. table with data in the following fields:
80
- *
81
- * `time_remaining`
82
- * number Time remaining until the next time a timer.delay() fires.
83
- * `delay`
84
- * number Time interval.
85
- * `repeating`
86
- * boolean true = repeat timer until cancel, false = one-shot timer.
99
+ * @returns timer information, or `nil` if the timer is cancelled or complete
87
100
  * @example
88
101
  * ```ts
89
102
  * function report_ticking(self: { handle: number }) {
@@ -98,19 +111,19 @@ declare global {
98
111
  * }
99
112
  * ```
100
113
  */
101
- function get_info(handle: number): { time_remaining: number; delay: number; repeating: boolean } | undefined;
114
+ function get_info(handle: number): timer.info | undefined;
102
115
  /**
103
116
  * Manual triggering a callback for a timer.
104
117
  *
105
118
  * @param handle - the timer handle returned by timer.delay()
106
- * @returns if the timer was active, false if the timer is already cancelled / complete
119
+ * @returns `true` if the timer was active and triggered, `false` if the timer was already cancelled or complete
107
120
  * @example
108
121
  * ```ts
109
122
  * function trigger_ticking(self: { handle: number }) {
110
123
  * self.handle = timer.delay(1, true, () => print("print every second or manually by timer.trigger"));
111
124
  * // ...
112
- * const result = timer.trigger(self.handle);
113
- * if (!result) {
125
+ * const triggered = timer.trigger(self.handle);
126
+ * if (!triggered) {
114
127
  * print("the timer is already cancelled or complete");
115
128
  * }
116
129
  * }
@@ -243,13 +243,6 @@ declare global {
243
243
  * @returns true if the body is allowed to sleep
244
244
  */
245
245
  function is_sleeping_enabled(body: Opaque<"b2Body">): boolean;
246
- /**
247
- * This resets the mass properties to the sum of the mass properties of the fixtures.
248
- * This normally does not need to be called unless you called SetMassData to override
249
- *
250
- * @param body - body
251
- */
252
- function reset_mass_data(body: Opaque<"b2Body">): void;
253
246
  /**
254
247
  * Set the active state of the body. An inactive body is not
255
248
  * simulated and cannot be collided with or woken up.
@@ -102,9 +102,7 @@ declare global {
102
102
  * @param declaration - A table where each entry (table) describes a stream
103
103
  *
104
104
  * - hash | string `name`: The name of the stream
105
- *
106
105
  * - constant `type`: The data type of the stream
107
- *
108
106
  * - number `count`: The number of values each element should hold
109
107
  * @returns the new buffer
110
108
  * @example
@@ -131,7 +129,7 @@ declare global {
131
129
  * });
132
130
  * ```
133
131
  */
134
- function create(element_count: number, declaration: { name?: Hash | string; type?: buffer.ValueType; count?: number }[]): Opaque<"buffer">;
132
+ function create(element_count: number, declaration: { name?: Hash | string; type: buffer.ValueType; count?: number }[]): Opaque<"buffer">;
135
133
  /**
136
134
  * Get a copy of all the bytes from a specified stream as a Lua string.
137
135
  *
@@ -1,5 +1,5 @@
1
1
  /** @noSelfInFile */
2
- import type { Matrix4, Url, Vector3 } from "../../../src/core-types";
2
+ import type { Hash, Matrix4, Url, Vector3 } from "../../../src/core-types";
3
3
 
4
4
  declare global {
5
5
  /**
@@ -28,7 +28,7 @@ declare global {
28
28
  * @param camera - camera id
29
29
  * @returns the effective aspect ratio.
30
30
  */
31
- function get_aspect_ratio(camera?: Url | number): number;
31
+ function get_aspect_ratio(camera?: Url | number | string | Hash): number;
32
32
  /**
33
33
  * Returns whether auto aspect ratio is enabled. When enabled, the camera automatically
34
34
  * calculates aspect ratio from render target dimensions. When disabled, uses the
@@ -37,7 +37,7 @@ declare global {
37
37
  * @param camera - camera id
38
38
  * @returns true if auto aspect ratio is enabled
39
39
  */
40
- function get_auto_aspect_ratio(camera?: Url | number): boolean;
40
+ function get_auto_aspect_ratio(camera?: Url | number | string | Hash): boolean;
41
41
  /**
42
42
  * This function returns a table with all the camera URLs that have been
43
43
  * registered in the render context.
@@ -60,28 +60,28 @@ declare global {
60
60
  * @param camera - camera id
61
61
  * @returns true if the camera is enabled
62
62
  */
63
- function get_enabled(camera?: Url | number): boolean;
63
+ function get_enabled(camera?: Url | number | string | Hash): boolean;
64
64
  /**
65
65
  * get far z
66
66
  *
67
67
  * @param camera - camera id
68
68
  * @returns the far z.
69
69
  */
70
- function get_far_z(camera?: Url | number): number;
70
+ function get_far_z(camera?: Url | number | string | Hash): number;
71
71
  /**
72
72
  * get field of view
73
73
  *
74
74
  * @param camera - camera id
75
75
  * @returns the field of view.
76
76
  */
77
- function get_fov(camera?: Url | number): number;
77
+ function get_fov(camera?: Url | number | string | Hash): number;
78
78
  /**
79
79
  * get near z
80
80
  *
81
81
  * @param camera - camera id
82
82
  * @returns the near z.
83
83
  */
84
- function get_near_z(camera?: Url | number): number;
84
+ function get_near_z(camera?: Url | number | string | Hash): number;
85
85
  /**
86
86
  * get orthographic zoom mode
87
87
  *
@@ -89,28 +89,28 @@ declare global {
89
89
  * @returns one of camera.ORTHO_MODE_FIXED, camera.ORTHO_MODE_AUTO_FIT or
90
90
  * camera.ORTHO_MODE_AUTO_COVER
91
91
  */
92
- function get_orthographic_mode(camera?: Url | number): number;
92
+ function get_orthographic_mode(camera?: Url | number | string | Hash): number;
93
93
  /**
94
94
  * get orthographic zoom
95
95
  *
96
96
  * @param camera - camera id
97
97
  * @returns the zoom level when the camera uses orthographic projection.
98
98
  */
99
- function get_orthographic_zoom(camera?: Url | number): number;
99
+ function get_orthographic_zoom(camera?: Url | number | string | Hash): number;
100
100
  /**
101
101
  * get projection matrix
102
102
  *
103
103
  * @param camera - camera id
104
104
  * @returns the projection matrix.
105
105
  */
106
- function get_projection(camera?: Url | number): Matrix4;
106
+ function get_projection(camera?: Url | number | string | Hash): Matrix4;
107
107
  /**
108
108
  * get view matrix
109
109
  *
110
110
  * @param camera - camera id
111
111
  * @returns the view matrix.
112
112
  */
113
- function get_view(camera?: Url | number): Matrix4;
113
+ function get_view(camera?: Url | number | string | Hash): Matrix4;
114
114
  /**
115
115
  * Converts a screen-space 2D point with view depth to a 3D world point.
116
116
  * z is the view depth in world units measured from the camera plane along the camera forward axis.
@@ -143,7 +143,7 @@ declare global {
143
143
  * });
144
144
  * ```
145
145
  */
146
- function screen_to_world(pos: Vector3, camera?: Url | number): Vector3;
146
+ function screen_to_world(pos: Vector3, camera?: Url | number | string | Hash): Vector3;
147
147
  /**
148
148
  * Converts 2D screen coordinates (x,y) to the 3D world-space point on the camera's near plane for that pixel.
149
149
  * If a camera isn't specified, the last enabled camera is used.
@@ -167,7 +167,7 @@ declare global {
167
167
  * });
168
168
  * ```
169
169
  */
170
- function screen_xy_to_world(x: number, y: number, camera?: Url | number): Vector3;
170
+ function screen_xy_to_world(x: number, y: number, camera?: Url | number | string | Hash): Vector3;
171
171
  /**
172
172
  * Sets the manual aspect ratio for the camera. This value is only used when
173
173
  * auto aspect ratio is disabled. To disable auto aspect ratio and use this
@@ -176,7 +176,7 @@ declare global {
176
176
  * @param camera - camera id
177
177
  * @param aspect_ratio - the manual aspect ratio value.
178
178
  */
179
- function set_aspect_ratio(camera: Url | number | undefined, aspect_ratio: number): void;
179
+ function set_aspect_ratio(camera: Url | number | string | Hash | undefined, aspect_ratio: number): void;
180
180
  /**
181
181
  * Enables or disables automatic aspect ratio calculation. When enabled (true),
182
182
  * the camera automatically calculates aspect ratio from render target dimensions.
@@ -185,42 +185,42 @@ declare global {
185
185
  * @param camera - camera id
186
186
  * @param auto_aspect_ratio - true to enable auto aspect ratio
187
187
  */
188
- function set_auto_aspect_ratio(camera: Url | number | undefined, auto_aspect_ratio: boolean): void;
188
+ function set_auto_aspect_ratio(camera: Url | number | string | Hash | undefined, auto_aspect_ratio: boolean): void;
189
189
  /**
190
190
  * set far z
191
191
  *
192
192
  * @param camera - camera id
193
193
  * @param far_z - the far z.
194
194
  */
195
- function set_far_z(camera: Url | number | undefined, far_z: number): void;
195
+ function set_far_z(camera: Url | number | string | Hash | undefined, far_z: number): void;
196
196
  /**
197
197
  * set field of view
198
198
  *
199
199
  * @param camera - camera id
200
200
  * @param fov - the field of view.
201
201
  */
202
- function set_fov(camera: Url | number | undefined, fov: number): void;
202
+ function set_fov(camera: Url | number | string | Hash | undefined, fov: number): void;
203
203
  /**
204
204
  * set near z
205
205
  *
206
206
  * @param camera - camera id
207
207
  * @param near_z - the near z.
208
208
  */
209
- function set_near_z(camera: Url | number | undefined, near_z: number): void;
209
+ function set_near_z(camera: Url | number | string | Hash | undefined, near_z: number): void;
210
210
  /**
211
211
  * set orthographic zoom mode
212
212
  *
213
213
  * @param camera - camera id
214
214
  * @param mode - camera.ORTHO_MODE_FIXED, camera.ORTHO_MODE_AUTO_FIT or camera.ORTHO_MODE_AUTO_COVER
215
215
  */
216
- function set_orthographic_mode(camera: Url | number | undefined, mode: number): void;
216
+ function set_orthographic_mode(camera: Url | number | string | Hash | undefined, mode: number): void;
217
217
  /**
218
218
  * set orthographic zoom
219
219
  *
220
220
  * @param camera - camera id
221
221
  * @param orthographic_zoom - the zoom level when the camera uses orthographic projection.
222
222
  */
223
- function set_orthographic_zoom(camera: Url | number | undefined, orthographic_zoom: number): void;
223
+ function set_orthographic_zoom(camera: Url | number | string | Hash | undefined, orthographic_zoom: number): void;
224
224
  /**
225
225
  * Converts a 3D world position to screen-space coordinates with view depth.
226
226
  * Returns a vector3 where x and y are in screen pixels and z is the view depth in world units
@@ -239,7 +239,7 @@ declare global {
239
239
  * const screen_pos = camera.world_to_screen(world_pos);
240
240
  * ```
241
241
  */
242
- function world_to_screen(world_pos: Vector3, camera?: Url | number): Vector3;
242
+ function world_to_screen(world_pos: Vector3, camera?: Url | number | string | Hash): Vector3;
243
243
  }
244
244
  }
245
245
 
@@ -43,8 +43,8 @@ declare global {
43
43
  * @param scale - uniform scaling to apply to the newly spawned collection (must be greater than 0).
44
44
  * @returns a table mapping the id:s from the collection to the new instance id:s
45
45
  * @example
46
+ * How to spawn a collection of game objects:
46
47
  * ```ts
47
- * // How to spawn a collection of game objects:
48
48
  * export default defineScript({
49
49
  * init() {
50
50
  * // Spawn a small group of enemies.
@@ -76,8 +76,10 @@ declare global {
76
76
  * return { enemy_ids };
77
77
  * },
78
78
  * });
79
- *
80
- * // How to delete a spawned collection:
79
+ * ```
80
+ * @example
81
+ * How to delete a spawned collection:
82
+ * ```ts
81
83
  * function delete_enemies(self: { enemy_ids: Hash[] }) {
82
84
  * go.delete(self.enemy_ids);
83
85
  * }
@@ -92,12 +94,10 @@ declare global {
92
94
  * @returns status of the collection factory component
93
95
  *
94
96
  * - `collectionfactory.STATUS_UNLOADED`
95
- *
96
97
  * - `collectionfactory.STATUS_LOADING`
97
- *
98
98
  * - `collectionfactory.STATUS_LOADED`
99
99
  */
100
- function get_status(url?: string | Hash | Url): collectionfactory.Status;
100
+ function get_status(url: string | Hash | Url): collectionfactory.Status;
101
101
  /**
102
102
  * Resources loaded are referenced by the collection factory component until the existing (parent) collection is destroyed or collectionfactory.unload is called.
103
103
  * Calling this function when the factory is not marked as dynamic loading does nothing.
@@ -117,7 +117,7 @@ declare global {
117
117
  * collectionfactory.load("#factory", (self, url, result) => {});
118
118
  * ```
119
119
  */
120
- function load(url?: string | Hash | Url, complete_function?: (self: unknown, url: unknown, result: unknown) => void): void;
120
+ function load(url: string | Hash | Url, complete_function: (self: unknown, url: unknown, result: unknown) => void): void;
121
121
  /**
122
122
  * Changes the prototype for the collection factory.
123
123
  * Setting the prototype to "nil" will revert back to the original prototype.
@@ -132,7 +132,7 @@ declare global {
132
132
  * const ids = collectionfactory.create("#factory", go.get_world_position(), vmath.quat());
133
133
  * ```
134
134
  */
135
- function set_prototype(url?: string | Hash | Url, prototype?: string): void;
135
+ function set_prototype(url: string | Hash | Url, prototype: string | undefined): void;
136
136
  /**
137
137
  * This decreases the reference count for each resource loaded with collectionfactory.load. If reference is zero, the resource is destroyed.
138
138
  * Calling this function when the factory is not marked as dynamic loading does nothing.
@@ -144,7 +144,7 @@ declare global {
144
144
  * collectionfactory.unload("#factory");
145
145
  * ```
146
146
  */
147
- function unload(url?: string | Hash | Url): void;
147
+ function unload(url: string | Hash | Url): void;
148
148
  }
149
149
  }
150
150
 
@@ -40,7 +40,7 @@ declare global {
40
40
  * }
41
41
  * ```
42
42
  */
43
- function get_resources(collectionproxy: Url): Hash[];
43
+ function get_resources(collectionproxy: Url | string | Hash): string[];
44
44
  /**
45
45
  * The collection should be loaded by the collection proxy.
46
46
  * Setting the collection to "nil" will revert it back to the original collection.
@@ -64,7 +64,7 @@ declare global {
64
64
  * msg.post("/go#collectionproxy", "enable");
65
65
  * ```
66
66
  */
67
- function set_collection(url?: string | Hash | Url, prototype?: string): LuaMultiReturn<[boolean, number]>;
67
+ function set_collection(url: string | Hash | Url, prototype: string | undefined): LuaMultiReturn<[boolean, number]>;
68
68
  }
69
69
  }
70
70
 
@@ -99,7 +99,7 @@ declare global {
99
99
  * reads user field from a loaded crash dump
100
100
  *
101
101
  * @param handle - crash dump handle
102
- * @param index - user data slot index
102
+ * @param index - user data slot index. **0️⃣ 0-based; passed to Defold unchanged.**
103
103
  * @returns user data value recorded in the crash dump
104
104
  */
105
105
  function get_user_field(handle: number, index: number): string;
@@ -127,7 +127,7 @@ declare global {
127
127
  * a crash occurs. This can be user id:s, breadcrumb data etc.
128
128
  * There are 32 slots indexed from 0. Each slot stores at most 255 characters.
129
129
  *
130
- * @param index - slot index. 0-indexed
130
+ * @param index - slot index. 0-indexed. **0️⃣ 0-based; passed to Defold unchanged.**
131
131
  * @param value - string value to store
132
132
  */
133
133
  function set_user_field(index: number, value: string): void;
@@ -35,8 +35,8 @@ declare global {
35
35
  * @param scale - the scale of the new game object (must be greater than 0), the scale of the game object containing the factory is used by default, or if the value is `nil`
36
36
  * @returns the global id of the spawned game object
37
37
  * @example
38
+ * How to create a new game object:
38
39
  * ```ts
39
- * // How to create a new game object:
40
40
  * export default defineScript({
41
41
  * init(self) {
42
42
  * // create a new game object and provide property values
@@ -45,16 +45,17 @@ declare global {
45
45
  * msg.post(created, "hello");
46
46
  * },
47
47
  * });
48
+ * ```
49
+ * @example
50
+ * And then let the new game object have a script attached:
51
+ * ```ts
52
+ * go.property("my_value", 0);
48
53
  *
49
- * // And then let the new game object have a script attached, in its own file:
50
- * //
51
- * // go.property("my_value", 0);
52
- * //
53
- * // export default defineScript({
54
- * // init(self) {
55
- * // // do something with self.my_value which is now one
56
- * // },
57
- * // });
54
+ * export default defineScript({
55
+ * init(self) {
56
+ * // do something with self.my_value which is now one
57
+ * },
58
+ * });
58
59
  * ```
59
60
  */
60
61
  function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: Record<string | number, unknown>, scale?: number | Vector3): Hash;
@@ -67,12 +68,10 @@ declare global {
67
68
  * @returns status of the factory component
68
69
  *
69
70
  * - `factory.STATUS_UNLOADED`
70
- *
71
71
  * - `factory.STATUS_LOADING`
72
- *
73
72
  * - `factory.STATUS_LOADED`
74
73
  */
75
- function get_status(url?: string | Hash | Url): factory.Status;
74
+ function get_status(url: string | Hash | Url): factory.Status;
76
75
  /**
77
76
  * Resources are referenced by the factory component until the existing (parent) collection is destroyed or factory.unload is called.
78
77
  * Calling this function when the factory is not marked as dynamic loading does nothing.
@@ -92,7 +91,7 @@ declare global {
92
91
  * factory.load("#factory", (self, url, result) => {});
93
92
  * ```
94
93
  */
95
- function load(url?: string | Hash | Url, complete_function?: (self: unknown, url: unknown, result: unknown) => void): void;
94
+ function load(url: string | Hash | Url, complete_function: (self: unknown, url: unknown, result: unknown) => void): void;
96
95
  /**
97
96
  * Changes the prototype for the factory.
98
97
  *
@@ -106,7 +105,7 @@ declare global {
106
105
  * const id = factory.create("#factory", go.get_world_position(), vmath.quat());
107
106
  * ```
108
107
  */
109
- function set_prototype(url?: string | Hash | Url, prototype?: string): void;
108
+ function set_prototype(url: string | Hash | Url, prototype: string | undefined): void;
110
109
  /**
111
110
  * This decreases the reference count for each resource loaded with factory.load. If reference is zero, the resource is destroyed.
112
111
  * Calling this function when the factory is not marked as dynamic loading does nothing.
@@ -118,7 +117,7 @@ declare global {
118
117
  * factory.unload("#factory");
119
118
  * ```
120
119
  */
121
- function unload(url?: string | Hash | Url): void;
120
+ function unload(url: string | Hash | Url): void;
122
121
  }
123
122
  }
124
123
 
@@ -217,15 +217,10 @@ declare global {
217
217
  * @param playback - playback mode of the animation
218
218
  *
219
219
  * - `go.PLAYBACK_ONCE_FORWARD`
220
- *
221
220
  * - `go.PLAYBACK_ONCE_BACKWARD`
222
- *
223
221
  * - `go.PLAYBACK_ONCE_PINGPONG`
224
- *
225
222
  * - `go.PLAYBACK_LOOP_FORWARD`
226
- *
227
223
  * - `go.PLAYBACK_LOOP_BACKWARD`
228
- *
229
224
  * - `go.PLAYBACK_LOOP_PINGPONG`
230
225
  * @param to - target property value
231
226
  * @param easing - easing to use during animation. Either specify a constant, see the animation guide for a complete list, or a vmath.vector with a curve
@@ -287,7 +282,7 @@ declare global {
287
282
  * go.cancel_animations("#sprite");
288
283
  * ```
289
284
  */
290
- export function cancel_animations(url: SceneAddress | Hash | Url, property?: string | Hash): void;
285
+ export function cancel_animations(url?: SceneAddress | Hash | Url, property?: string | Hash): void;
291
286
  /**
292
287
  * Delete one or more game objects identified by id. Deletion is asynchronous meaning that
293
288
  * the game object(s) are scheduled for deletion which will happen at the end of the current
@@ -378,7 +373,6 @@ declare global {
378
373
  * of the absolute path to the instance.
379
374
  *
380
375
  * - If `path` is specified, it can either be absolute or relative to the instance of the calling script.
381
- *
382
376
  * - If `path` is not specified, the id of the game object instance the script is attached to will be returned.
383
377
  *
384
378
  * @param path - path of the instance for which to return the id
@@ -740,7 +734,7 @@ declare global {
740
734
  *
741
735
  * @param self - reference to the script state to be used for storing data
742
736
  * @param action_id - id of the received input action, as mapped in the input_binding-file
743
- * @param action - a table containing the input data, see above for a description
737
+ * @param action - a table containing the input data, see above for a description. **0️⃣ `gamepad` is 0-based; passed to Defold unchanged.**
744
738
  * @returns optional boolean to signal if the input should be consumed (not passed on to others) or not, default is false
745
739
  * @example
746
740
  * ```ts
@@ -1043,7 +1037,7 @@ declare global {
1043
1037
  * const new_position = go.world_to_local_position(test_pos, "/child");
1044
1038
  * ```
1045
1039
  */
1046
- export function world_to_local_position(position: Vector3, url: SceneGameObjectAddress | Hash | Url): Vector3;
1040
+ export function world_to_local_position(position: Vector3, url?: SceneGameObjectAddress | Hash | Url): Vector3;
1047
1041
  /**
1048
1042
  * The function uses world transformation calculated at the end of previous frame.
1049
1043
  *
@@ -1058,7 +1052,7 @@ declare global {
1058
1052
  * const result_transform = go.world_to_local_transform(test_transform, "/child");
1059
1053
  * ```
1060
1054
  */
1061
- export function world_to_local_transform(transformation: Matrix4, url: SceneGameObjectAddress | Hash | Url): Matrix4;
1055
+ export function world_to_local_transform(transformation: Matrix4, url?: SceneGameObjectAddress | Hash | Url): Matrix4;
1062
1056
  export { _delete as delete };
1063
1057
  export interface properties {
1064
1058
  /**
@@ -1078,9 +1072,9 @@ declare global {
1078
1072
  */
1079
1073
  rotation: Quaternion;
1080
1074
  /**
1081
- * The uniform scale of the game object. The type of the property is number.
1075
+ * The scale of the game object. `go.get` returns a vector3; `go.set` and `go.animate` also take a number, which sets a uniform scale.
1082
1076
  */
1083
- scale: number;
1077
+ scale: number | Vector3;
1084
1078
  }
1085
1079
  }
1086
1080
  }