@defold-typescript/types 0.39.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 (227) hide show
  1. package/api-availability.json +4024 -716
  2. package/api-migrations.json +27 -0
  3. package/api-signatures.json +18118 -10264
  4. package/api-targets.json +448 -11
  5. package/examples/translations.json +619 -148
  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 +199 -14
  13. package/generated/b2d_world.d.ts +57 -63
  14. package/generated/buffer.d.ts +33 -29
  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 +31 -34
  23. package/generated/collectionfactory.d.ts +26 -27
  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 +243 -186
  37. package/generated/graphics.d.ts +374 -84
  38. package/generated/gui.d.ts +282 -492
  39. package/generated/html5.d.ts +5 -3
  40. package/generated/http.d.ts +31 -36
  41. package/generated/image.d.ts +127 -85
  42. package/generated/json.d.ts +34 -16
  43. package/generated/kinds/gui-script.d.ts +8 -0
  44. package/generated/kinds/render-script.d.ts +8 -0
  45. package/generated/kinds/script.d.ts +8 -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 +72 -42
  50. package/generated/particlefx.d.ts +19 -28
  51. package/generated/physics.d.ts +378 -144
  52. package/generated/profiler.d.ts +14 -24
  53. package/generated/render.d.ts +294 -297
  54. package/generated/resource.d.ts +753 -641
  55. package/generated/socket.d.ts +131 -134
  56. package/generated/sound.d.ts +65 -34
  57. package/generated/sprite.d.ts +39 -17
  58. package/generated/sys.d.ts +237 -182
  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 +18 -17
  63. package/generated/versions/defold-1.12.4/camera.d.ts +23 -23
  64. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +21 -19
  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 +15 -17
  69. package/generated/versions/defold-1.12.4/gui.d.ts +111 -193
  70. package/generated/versions/defold-1.12.4/html5.d.ts +4 -2
  71. package/generated/versions/defold-1.12.4/http.d.ts +4 -15
  72. package/generated/versions/defold-1.12.4/image.d.ts +38 -46
  73. package/generated/versions/defold-1.12.4/index.d.ts +2 -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 +34 -13
  78. package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
  79. package/generated/versions/defold-1.12.4/physics.d.ts +82 -78
  80. package/generated/versions/defold-1.12.4/profiler.d.ts +3 -6
  81. package/generated/versions/defold-1.12.4/render.d.ts +160 -132
  82. package/generated/versions/defold-1.12.4/resource.d.ts +212 -209
  83. package/generated/versions/defold-1.12.4/socket.d.ts +45 -61
  84. package/generated/versions/defold-1.12.4/sound.d.ts +11 -11
  85. package/generated/versions/defold-1.12.4/sprite.d.ts +24 -6
  86. package/generated/versions/defold-1.12.4/sys.d.ts +45 -68
  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 +5 -26
  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 +188 -5
  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 +18 -17
  96. package/generated/versions/defold-1.13.0/camera.d.ts +27 -27
  97. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +21 -19
  98. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
  99. package/generated/versions/defold-1.13.0/compute.d.ts +1 -70
  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 +15 -17
  105. package/generated/versions/defold-1.13.0/graphics.d.ts +121 -37
  106. package/generated/versions/defold-1.13.0/gui.d.ts +111 -193
  107. package/generated/versions/defold-1.13.0/html5.d.ts +4 -2
  108. package/generated/versions/defold-1.13.0/http.d.ts +4 -15
  109. package/generated/versions/defold-1.13.0/image.d.ts +38 -46
  110. package/generated/versions/defold-1.13.0/index.d.ts +2 -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 +69 -107
  115. package/generated/versions/defold-1.13.0/model.d.ts +34 -13
  116. package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
  117. package/generated/versions/defold-1.13.0/physics.d.ts +82 -78
  118. package/generated/versions/defold-1.13.0/profiler.d.ts +3 -6
  119. package/generated/versions/defold-1.13.0/render.d.ts +160 -132
  120. package/generated/versions/defold-1.13.0/resource.d.ts +217 -210
  121. package/generated/versions/defold-1.13.0/socket.d.ts +45 -61
  122. package/generated/versions/defold-1.13.0/sound.d.ts +11 -11
  123. package/generated/versions/defold-1.13.0/sprite.d.ts +24 -6
  124. package/generated/versions/defold-1.13.0/sys.d.ts +45 -68
  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 +5 -26
  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 +6 -26
  182. package/generated/window.d.ts +71 -71
  183. package/identity-vocabulary.json +561 -0
  184. package/index.d.ts +8 -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 +14 -3
  191. package/scripts/import-defold-release.ts +85 -24
  192. package/scripts/prose-constants.ts +157 -0
  193. package/scripts/regen.ts +396 -78
  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/component-properties.d.ts +33 -0
  201. package/src/core-types.ts +28 -3
  202. package/src/correction-pins.ts +49 -0
  203. package/src/custom-messages.d.ts +4 -3
  204. package/src/doc-comment.ts +139 -23
  205. package/src/doc-corrections.ts +108 -0
  206. package/src/editor-vm-globals.d.ts +5 -2
  207. package/src/emit-dts.ts +2474 -281
  208. package/src/emit-messages.ts +52 -0
  209. package/src/engine-globals.d.ts +2 -2
  210. package/src/example-store.ts +125 -14
  211. package/src/field-correction-coverage.ts +204 -0
  212. package/src/fnv1a.ts +16 -0
  213. package/src/go-overloads.d.ts +33 -13
  214. package/src/index-base-table.ts +145 -0
  215. package/src/index-slot-classifications.ts +588 -0
  216. package/src/index.ts +39 -2
  217. package/src/library-index-slot-classifications.ts +332 -0
  218. package/src/lifecycle.ts +61 -199
  219. package/src/luals-type-expr.ts +354 -0
  220. package/src/msg-overloads.d.ts +0 -1
  221. package/src/param-correction-provenance.ts +64 -0
  222. package/src/return-correction-provenance.ts +58 -16
  223. package/src/script-api.ts +3 -1
  224. package/src/sys-overloads.d.ts +48 -0
  225. package/src/vmath-overloads.d.ts +27 -1
  226. package/src/window-event-guard.d.ts +6 -9
  227. package/url-parameters.json +1 -2
@@ -1,25 +1,22 @@
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
  /**
6
6
  * Messages to control camera components and camera focus.
7
7
  */
8
8
  namespace camera {
9
+ type ORTHO_MODE = typeof camera.ORTHO_MODE_AUTO_COVER | typeof camera.ORTHO_MODE_AUTO_FIT | typeof camera.ORTHO_MODE_FIXED;
9
10
  /**
10
- * Computes zoom so the original display area covers the entire window while preserving aspect ratio.
11
- * Equivalent to using max(window_width/width, window_height/height).
12
- * The result is multiplied by the user-controlled orthographic zoom.
11
+ * auto-cover orthographic zoom mode Computes zoom so the original display area covers the entire window while preserving aspect ratio. Equivalent to using max(window_width/width, window_height/height). The result is multiplied by the user-controlled orthographic zoom.
13
12
  */
14
13
  const ORTHO_MODE_AUTO_COVER: number & { readonly __brand: "camera.ORTHO_MODE_AUTO_COVER" };
15
14
  /**
16
- * Computes zoom so the original display area (game.project width/height) fits inside the window
17
- * while preserving aspect ratio. Equivalent to using min(window_width/width, window_height/height).
18
- * The result is multiplied by the user-controlled orthographic zoom.
15
+ * auto-fit orthographic zoom mode Computes zoom so the original display area (game.project width/height) fits inside the window while preserving aspect ratio. Equivalent to using min(window_width/width, window_height/height). The result is multiplied by the user-controlled orthographic zoom.
19
16
  */
20
17
  const ORTHO_MODE_AUTO_FIT: number & { readonly __brand: "camera.ORTHO_MODE_AUTO_FIT" };
21
18
  /**
22
- * Uses the manually set orthographic zoom value (camera.set_orthographic_zoom).
19
+ * fixed orthographic zoom mode Uses the manually set orthographic zoom value (camera.set_orthographic_zoom).
23
20
  */
24
21
  const ORTHO_MODE_FIXED: number & { readonly __brand: "camera.ORTHO_MODE_FIXED" };
25
22
  /**
@@ -30,7 +27,7 @@ declare global {
30
27
  * @param camera - camera id
31
28
  * @returns the effective aspect ratio.
32
29
  */
33
- function get_aspect_ratio(camera?: Url | number): number;
30
+ function get_aspect_ratio(camera?: Url | number | string | Hash): number;
34
31
  /**
35
32
  * Returns whether auto aspect ratio is enabled. When enabled, the camera automatically
36
33
  * calculates aspect ratio from render target dimensions. When disabled, uses the
@@ -39,7 +36,7 @@ declare global {
39
36
  * @param camera - camera id
40
37
  * @returns true if auto aspect ratio is enabled
41
38
  */
42
- function get_auto_aspect_ratio(camera?: Url | number): boolean;
39
+ function get_auto_aspect_ratio(camera?: Url | number | string | Hash): boolean;
43
40
  /**
44
41
  * This function returns a table with all the camera URLs that have been
45
42
  * registered in the render context.
@@ -62,28 +59,28 @@ declare global {
62
59
  * @param camera - camera id
63
60
  * @returns true if the camera is enabled
64
61
  */
65
- function get_enabled(camera?: Url | number): boolean;
62
+ function get_enabled(camera?: Url | number | string | Hash): boolean;
66
63
  /**
67
64
  * get far z
68
65
  *
69
66
  * @param camera - camera id
70
67
  * @returns the far z.
71
68
  */
72
- function get_far_z(camera?: Url | number): number;
69
+ function get_far_z(camera?: Url | number | string | Hash): number;
73
70
  /**
74
71
  * get field of view
75
72
  *
76
73
  * @param camera - camera id
77
74
  * @returns the field of view.
78
75
  */
79
- function get_fov(camera?: Url | number): number;
76
+ function get_fov(camera?: Url | number | string | Hash): number;
80
77
  /**
81
78
  * get near z
82
79
  *
83
80
  * @param camera - camera id
84
81
  * @returns the near z.
85
82
  */
86
- function get_near_z(camera?: Url | number): number;
83
+ function get_near_z(camera?: Url | number | string | Hash): number;
87
84
  /**
88
85
  * Gets the orthographic zoom calculated from the current window and project dimensions
89
86
  * in auto-fit and auto-cover modes. Returns 1.0 in fixed mode.
@@ -91,7 +88,7 @@ declare global {
91
88
  * @param camera - camera id
92
89
  * @returns the calculated orthographic auto zoom.
93
90
  */
94
- function get_orthographic_auto_zoom(camera?: Url | number): number;
91
+ function get_orthographic_auto_zoom(camera?: Url | number | string | Hash): number;
95
92
  /**
96
93
  * get orthographic zoom mode
97
94
  *
@@ -99,7 +96,7 @@ declare global {
99
96
  * @returns one of camera.ORTHO_MODE_FIXED, camera.ORTHO_MODE_AUTO_FIT or
100
97
  * camera.ORTHO_MODE_AUTO_COVER
101
98
  */
102
- function get_orthographic_mode(camera?: Url | number): number;
99
+ function get_orthographic_mode(camera?: Url | number | string | Hash): camera.ORTHO_MODE;
103
100
  /**
104
101
  * Gets the positive user-controlled orthographic zoom multiplier. In auto-fit and auto-cover
105
102
  * modes, this value is multiplied with camera.get_orthographic_auto_zoom(camera).
@@ -107,21 +104,21 @@ declare global {
107
104
  * @param camera - camera id
108
105
  * @returns the positive zoom multiplier when the camera uses orthographic projection.
109
106
  */
110
- function get_orthographic_zoom(camera?: Url | number): number;
107
+ function get_orthographic_zoom(camera?: Url | number | string | Hash): number;
111
108
  /**
112
109
  * get projection matrix
113
110
  *
114
111
  * @param camera - camera id
115
112
  * @returns the projection matrix.
116
113
  */
117
- function get_projection(camera?: Url | number): Matrix4;
114
+ function get_projection(camera?: Url | number | string | Hash): Matrix4;
118
115
  /**
119
116
  * get view matrix
120
117
  *
121
118
  * @param camera - camera id
122
119
  * @returns the view matrix.
123
120
  */
124
- function get_view(camera?: Url | number): Matrix4;
121
+ function get_view(camera?: Url | number | string | Hash): Matrix4;
125
122
  /**
126
123
  * Converts a screen-space 2D point with view depth to a 3D world point.
127
124
  * z is the view depth in world units measured from the camera plane along the camera forward axis.
@@ -137,7 +134,7 @@ declare global {
137
134
  * export default defineScript({
138
135
  * on_input(self, action_id, action) {
139
136
  * if (action_id === hash("touch")) {
140
- * if (action.pressed) {
137
+ * if (action.pressed && action.screen_x !== undefined && action.screen_y !== undefined) {
141
138
  * const perspective_camera = msg.url("#perspective_camera");
142
139
  * const random_z = math.random(
143
140
  * camera.get_near_z(perspective_camera) + 0.01,
@@ -154,7 +151,7 @@ declare global {
154
151
  * });
155
152
  * ```
156
153
  */
157
- function screen_to_world(pos: Vector3, camera?: Url | number): Vector3;
154
+ function screen_to_world(pos: Vector3, camera?: Url | number | string | Hash): Vector3;
158
155
  /**
159
156
  * Converts 2D screen coordinates (x,y) to the 3D world-space point on the camera's near plane for that pixel.
160
157
  * If a camera isn't specified, the last enabled camera is used.
@@ -169,7 +166,7 @@ declare global {
169
166
  * export default defineScript({
170
167
  * on_input(self, action_id, action) {
171
168
  * if (action_id === hash("touch")) {
172
- * if (action.pressed) {
169
+ * if (action.pressed && action.screen_x !== undefined && action.screen_y !== undefined) {
173
170
  * const world_position = camera.screen_xy_to_world(action.screen_x, action.screen_y);
174
171
  * go.set_position(world_position, "/go1");
175
172
  * }
@@ -178,7 +175,7 @@ declare global {
178
175
  * });
179
176
  * ```
180
177
  */
181
- function screen_xy_to_world(x: number, y: number, camera?: Url | number): Vector3;
178
+ function screen_xy_to_world(x: number, y: number, camera?: Url | number | string | Hash): Vector3;
182
179
  /**
183
180
  * Sets the manual aspect ratio for the camera. This value is only used when
184
181
  * auto aspect ratio is disabled. To disable auto aspect ratio and use this
@@ -187,7 +184,7 @@ declare global {
187
184
  * @param camera - camera id
188
185
  * @param aspect_ratio - the manual aspect ratio value.
189
186
  */
190
- function set_aspect_ratio(camera: Url | number | undefined, aspect_ratio: number): void;
187
+ function set_aspect_ratio(camera: Url | number | string | Hash | undefined, aspect_ratio: number): void;
191
188
  /**
192
189
  * Enables or disables automatic aspect ratio calculation. When enabled (true),
193
190
  * the camera automatically calculates aspect ratio from render target dimensions.
@@ -196,35 +193,35 @@ declare global {
196
193
  * @param camera - camera id
197
194
  * @param auto_aspect_ratio - true to enable auto aspect ratio
198
195
  */
199
- function set_auto_aspect_ratio(camera: Url | number | undefined, auto_aspect_ratio: boolean): void;
196
+ function set_auto_aspect_ratio(camera: Url | number | string | Hash | undefined, auto_aspect_ratio: boolean): void;
200
197
  /**
201
198
  * set far z
202
199
  *
203
200
  * @param camera - camera id
204
201
  * @param far_z - the far z.
205
202
  */
206
- function set_far_z(camera: Url | number | undefined, far_z: number): void;
203
+ function set_far_z(camera: Url | number | string | Hash | undefined, far_z: number): void;
207
204
  /**
208
205
  * set field of view
209
206
  *
210
207
  * @param camera - camera id
211
208
  * @param fov - the field of view.
212
209
  */
213
- function set_fov(camera: Url | number | undefined, fov: number): void;
210
+ function set_fov(camera: Url | number | string | Hash | undefined, fov: number): void;
214
211
  /**
215
212
  * set near z
216
213
  *
217
214
  * @param camera - camera id
218
215
  * @param near_z - the near z.
219
216
  */
220
- function set_near_z(camera: Url | number | undefined, near_z: number): void;
217
+ function set_near_z(camera: Url | number | string | Hash | undefined, near_z: number): void;
221
218
  /**
222
219
  * set orthographic zoom mode
223
220
  *
224
221
  * @param camera - camera id
225
222
  * @param mode - camera.ORTHO_MODE_FIXED, camera.ORTHO_MODE_AUTO_FIT or camera.ORTHO_MODE_AUTO_COVER
226
223
  */
227
- function set_orthographic_mode(camera: Url | number | undefined, mode: number): void;
224
+ function set_orthographic_mode(camera: Url | number | string | Hash | undefined, mode: camera.ORTHO_MODE): void;
228
225
  /**
229
226
  * Sets the positive user-controlled orthographic zoom multiplier. In auto-fit and auto-cover
230
227
  * modes, this value is multiplied with camera.get_orthographic_auto_zoom(camera).
@@ -232,7 +229,7 @@ declare global {
232
229
  * @param camera - camera id
233
230
  * @param orthographic_zoom - the positive zoom multiplier when the camera uses orthographic projection.
234
231
  */
235
- function set_orthographic_zoom(camera: Url | number | undefined, orthographic_zoom: number): void;
232
+ function set_orthographic_zoom(camera: Url | number | string | Hash | undefined, orthographic_zoom: number): void;
236
233
  /**
237
234
  * Converts a 3D world position to screen-space coordinates with view depth.
238
235
  * Returns a vector3 where x and y are in screen pixels and z is the view depth in world units
@@ -251,7 +248,7 @@ declare global {
251
248
  * const screen_pos = camera.world_to_screen(world_pos);
252
249
  * ```
253
250
  */
254
- function world_to_screen(world_pos: Vector3, camera?: Url | number): Vector3;
251
+ function world_to_screen(world_pos: Vector3, camera?: Url | number | string | Hash): Vector3;
255
252
  interface properties {
256
253
  /**
257
254
  * The ratio between the frustum width and height. Used when calculating the
@@ -279,7 +276,7 @@ declare global {
279
276
  * in auto fit and auto cover modes. The value is 1.0 in fixed mode.
280
277
  * The type of the property is float.
281
278
  */
282
- orthographic_auto_zoom: number;
279
+ readonly orthographic_auto_zoom: number;
283
280
  /**
284
281
  * Positive zoom multiplier when using an orthographic projection. In auto fit and auto cover
285
282
  * modes, this value is multiplied with the calculated orthographic_auto_zoom value.
@@ -290,12 +287,12 @@ declare global {
290
287
  * READ ONLY The calculated projection matrix of the camera.
291
288
  * The type of the property is matrix4.
292
289
  */
293
- projection: Matrix4;
290
+ readonly projection: Matrix4;
294
291
  /**
295
292
  * READ ONLY The calculated view matrix of the camera.
296
293
  * The type of the property is matrix4.
297
294
  */
298
- view: Matrix4;
295
+ readonly view: Matrix4;
299
296
  }
300
297
  }
301
298
  }
@@ -8,16 +8,17 @@ declare global {
8
8
  */
9
9
  namespace collectionfactory {
10
10
  type Status = typeof collectionfactory.STATUS_UNLOADED | typeof collectionfactory.STATUS_LOADING | typeof collectionfactory.STATUS_LOADED;
11
+ type STATUS = typeof collectionfactory.STATUS_LOADED | typeof collectionfactory.STATUS_LOADING | typeof collectionfactory.STATUS_UNLOADED;
11
12
  /**
12
- * loaded
13
+ * The collection factory resources are loaded.
13
14
  */
14
15
  const STATUS_LOADED: number & { readonly __brand: "collectionfactory.STATUS_LOADED" };
15
16
  /**
16
- * loading
17
+ * The collection factory resources are loading.
17
18
  */
18
19
  const STATUS_LOADING: number & { readonly __brand: "collectionfactory.STATUS_LOADING" };
19
20
  /**
20
- * unloaded
21
+ * The collection factory resources are unloaded.
21
22
  */
22
23
  const STATUS_UNLOADED: number & { readonly __brand: "collectionfactory.STATUS_UNLOADED" };
23
24
  /**
@@ -43,21 +44,20 @@ declare global {
43
44
  * @param scale - uniform scaling to apply to the newly spawned collection (must be greater than 0).
44
45
  * @returns a table mapping the id:s from the collection to the new instance id:s
45
46
  * @example
47
+ * How to spawn a collection of game objects:
46
48
  * ```ts
47
- * // How to spawn a collection of game objects:
48
49
  * export default defineScript({
49
- * init(self) {
50
+ * init() {
50
51
  * // Spawn a small group of enemies.
51
52
  * const pos = vmath.vector3(100, 12.5, 0);
52
53
  * const rot = vmath.quat_rotation_z(Math.PI / 2);
53
54
  * const scale = 0.5;
54
- * const props = {
55
- * [hash("/enemy_leader")]: { health: 1000.0 },
56
- * [hash("/enemy_1")]: { health: 200.0 },
57
- * [hash("/enemy_2")]: { health: 400.0, color: hash("green") },
58
- * };
55
+ * const props = new LuaMap<Hash, Record<string, unknown>>();
56
+ * props.set(hash("/enemy_leader"), { health: 1000.0 });
57
+ * props.set(hash("/enemy_1"), { health: 200.0 });
58
+ * props.set(hash("/enemy_2"), { health: 400.0, color: hash("green") });
59
59
  *
60
- * self.enemy_ids = collectionfactory.create("#enemyfactory", pos, rot, props, scale);
60
+ * const enemy_ids = collectionfactory.create("#enemyfactory", pos, rot, props, scale);
61
61
  * // enemy_ids now map to the spawned instance ids:
62
62
  * //
63
63
  * // pprint(self.enemy_ids)
@@ -70,32 +70,31 @@ declare global {
70
70
  * // }
71
71
  *
72
72
  * // Send "attack" message to the leader. First look up its instance id.
73
- * const leader_id = self.enemy_ids[hash("/enemy_leader")];
74
- * msg.post(leader_id, "attack");
73
+ * const leader_id = enemy_ids.get(hash("/enemy_leader"));
74
+ * if (leader_id !== undefined) {
75
+ * msg.post(leader_id, "attack");
76
+ * }
77
+ * return { enemy_ids };
75
78
  * },
76
79
  * });
77
- *
78
- * // How to delete a spawned collection:
80
+ * ```
81
+ * @example
82
+ * How to delete a spawned collection:
83
+ * ```ts
79
84
  * function delete_enemies(self: { enemy_ids: Hash[] }) {
80
85
  * go.delete(self.enemy_ids);
81
86
  * }
82
87
  * ```
83
88
  */
84
- function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: Record<string | number, unknown>, scale?: number | Vector3): LuaMap<Hash, Hash>;
89
+ function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<Hash, Record<string | number, unknown>> | Record<string, Record<string | number, unknown>>, scale?: number | Vector3): LuaTable<Hash, Hash>;
85
90
  /**
86
91
  * This returns status of the collection factory.
87
92
  * Calling this function when the factory is not marked as dynamic loading always returns COMP_COLLECTION_FACTORY_STATUS_LOADED.
88
93
  *
89
94
  * @param url - the collection factory component to get status from
90
95
  * @returns status of the collection factory component
91
- *
92
- * - `collectionfactory.STATUS_UNLOADED`
93
- *
94
- * - `collectionfactory.STATUS_LOADING`
95
- *
96
- * - `collectionfactory.STATUS_LOADED`
97
96
  */
98
- function get_status(url?: string | Hash | Url): collectionfactory.Status;
97
+ function get_status(url: string | Hash | Url): collectionfactory.STATUS;
99
98
  /**
100
99
  * Resources loaded are referenced by the collection factory component until the existing (parent) collection is destroyed or collectionfactory.unload is called.
101
100
  * Calling this function when the factory is not marked as dynamic loading does nothing.
@@ -104,7 +103,7 @@ declare global {
104
103
  * @param complete_function - function to call when resources are loaded.
105
104
  *
106
105
  * `self`
107
- * object The current object.
106
+ * script_instance The current script instance.
108
107
  * `url`
109
108
  * url url of the collection factory component
110
109
  * `result`
@@ -115,7 +114,7 @@ declare global {
115
114
  * collectionfactory.load("#factory", (self, url, result) => {});
116
115
  * ```
117
116
  */
118
- function load(url?: string | Hash | Url, complete_function?: (self: unknown, url: unknown, result: unknown) => void): void;
117
+ function load(url: string | Hash | Url, complete_function: (self: unknown, url: Url, result: boolean) => void): void;
119
118
  /**
120
119
  * Changes the prototype for the collection factory.
121
120
  * Setting the prototype to "nil" will revert back to the original prototype.
@@ -130,7 +129,7 @@ declare global {
130
129
  * const ids = collectionfactory.create("#factory", go.get_world_position(), vmath.quat());
131
130
  * ```
132
131
  */
133
- function set_prototype(url?: string | Hash | Url, prototype?: string): void;
132
+ function set_prototype(url: string | Hash | Url, prototype: string | undefined): void;
134
133
  /**
135
134
  * This decreases the reference count for each resource loaded with collectionfactory.load. If reference is zero, the resource is destroyed.
136
135
  * Calling this function when the factory is not marked as dynamic loading does nothing.
@@ -142,7 +141,7 @@ declare global {
142
141
  * collectionfactory.unload("#factory");
143
142
  * ```
144
143
  */
145
- function unload(url?: string | Hash | Url): void;
144
+ function unload(url: string | Hash | Url): void;
146
145
  }
147
146
  }
148
147
 
@@ -8,15 +8,31 @@ declare global {
8
8
  */
9
9
  namespace collectionproxy {
10
10
  /**
11
- * It's impossible to change the collection if the collection is already loaded.
11
+ * Data delivered to a collectionproxy.load callback. The available
12
+ * field depends on the callback message identifier.
13
+ */
14
+ interface load_data {
15
+ /**
16
+ * Loading progress from 0 to 1 for `proxy_loading`.
17
+ */
18
+ progress?: number;
19
+ /**
20
+ * Error code for `proxy_error`.
21
+ */
22
+ code?: number;
23
+ }
24
+ type TIME_STEP_MODE = 0 | 1;
25
+ type RESULT = typeof collectionproxy.RESULT_ALREADY_LOADED | typeof collectionproxy.RESULT_LOADING | typeof collectionproxy.RESULT_NOT_EXCLUDED;
26
+ /**
27
+ * The collection proxy is already loaded, so its collection cannot be changed.
12
28
  */
13
29
  const RESULT_ALREADY_LOADED: number & { readonly __brand: "collectionproxy.RESULT_ALREADY_LOADED" };
14
30
  /**
15
- * It's impossible to change the collection while the collection proxy is loading.
31
+ * The collection proxy is loading, so its collection cannot be changed.
16
32
  */
17
33
  const RESULT_LOADING: number & { readonly __brand: "collectionproxy.RESULT_LOADING" };
18
34
  /**
19
- * It's impossible to change the collection for a proxy that isn't excluded.
35
+ * The collection proxy is not excluded from the bundle; only excluded proxies can change collections.
20
36
  */
21
37
  const RESULT_NOT_EXCLUDED: number & { readonly __brand: "collectionproxy.RESULT_NOT_EXCLUDED" };
22
38
  /**
@@ -40,7 +56,7 @@ declare global {
40
56
  * }
41
57
  * ```
42
58
  */
43
- function get_resources(collectionproxy: Url): Hash[];
59
+ function get_resources(collectionproxy: Url | string | Hash): string[];
44
60
  /**
45
61
  * Loads the collection referenced by a collection proxy. The proxy is also
46
62
  * initialized and the callback receives `proxy_loading`, `proxy_ready`, or
@@ -62,7 +78,7 @@ declare global {
62
78
  * });
63
79
  * ```
64
80
  */
65
- function load(url: string | Hash | Url, options: Record<string | number, unknown> | undefined, callback: (self: unknown, message_id: unknown, message: unknown, sender: unknown) => void): void;
81
+ function load(url: string | Hash | Url, options: {} | undefined, callback: (self: unknown, message_id: Hash, message: Record<string | number, unknown>, sender: Url) => void): void;
66
82
  /**
67
83
  * The collection should be loaded by the collection proxy.
68
84
  * Setting the collection to "nil" will revert it back to the original collection.
@@ -86,7 +102,7 @@ declare global {
86
102
  * msg.post("/go#collectionproxy", "enable");
87
103
  * ```
88
104
  */
89
- function set_collection(url?: string | Hash | Url, prototype?: string): LuaMultiReturn<[boolean, number]>;
105
+ function set_collection(url: string | Hash | Url, prototype: string | undefined): LuaMultiReturn<[boolean, collectionproxy.RESULT]>;
90
106
  }
91
107
  }
92
108