@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
@@ -7,6 +7,484 @@ declare global {
7
7
  */
8
8
  namespace b2d.joint {
9
9
  type b2Joint = Opaque<"b2Joint">;
10
+ /**
11
+ * Box2D distance-joint definition
12
+ */
13
+ interface distance_definition {
14
+ /**
15
+ * Local anchor on the first body.
16
+ */
17
+ local_anchor_a?: Vector3;
18
+ /**
19
+ * Local anchor on the second body.
20
+ */
21
+ local_anchor_b?: Vector3;
22
+ /**
23
+ * Rest length.
24
+ */
25
+ length?: number;
26
+ /**
27
+ * Minimum length.
28
+ */
29
+ min_length?: number;
30
+ /**
31
+ * Maximum length.
32
+ */
33
+ max_length?: number;
34
+ /**
35
+ * Whether the spring is enabled.
36
+ */
37
+ enable_spring?: boolean;
38
+ /**
39
+ * Spring frequency in hertz.
40
+ */
41
+ hertz?: number;
42
+ /**
43
+ * Legacy spring frequency alias.
44
+ */
45
+ frequency?: number;
46
+ /**
47
+ * Spring damping ratio.
48
+ */
49
+ damping_ratio?: number;
50
+ /**
51
+ * Legacy spring damping-ratio alias.
52
+ */
53
+ damping?: number;
54
+ /**
55
+ * Whether length limits are enabled.
56
+ */
57
+ enable_limit?: boolean;
58
+ /**
59
+ * Whether the motor is enabled.
60
+ */
61
+ enable_motor?: boolean;
62
+ /**
63
+ * Maximum motor force.
64
+ */
65
+ max_motor_force?: number;
66
+ /**
67
+ * Motor speed.
68
+ */
69
+ motor_speed?: number;
70
+ /**
71
+ * Whether connected bodies collide.
72
+ */
73
+ collide_connected?: boolean;
74
+ }
75
+ type filter_definition = {};
76
+ /**
77
+ * Box2D friction-joint definition
78
+ */
79
+ interface friction_definition {
80
+ /**
81
+ * Local anchor on the first body.
82
+ */
83
+ local_anchor_a?: Vector3;
84
+ /**
85
+ * Local anchor on the second body.
86
+ */
87
+ local_anchor_b?: Vector3;
88
+ /**
89
+ * Maximum friction force.
90
+ */
91
+ max_force?: number;
92
+ /**
93
+ * Maximum friction torque.
94
+ */
95
+ max_torque?: number;
96
+ /**
97
+ * Whether connected bodies collide.
98
+ */
99
+ collide_connected?: boolean;
100
+ }
101
+ /**
102
+ * Box2D gear-joint definition
103
+ */
104
+ interface gear_definition {
105
+ /**
106
+ * Gear ratio.
107
+ */
108
+ ratio?: number;
109
+ /**
110
+ * Whether connected bodies collide.
111
+ */
112
+ collide_connected?: boolean;
113
+ }
114
+ /**
115
+ * Box2D motor-joint definition
116
+ */
117
+ interface motor_definition {
118
+ /**
119
+ * Linear target offset.
120
+ */
121
+ linear_offset?: Vector3;
122
+ /**
123
+ * Angular target offset.
124
+ */
125
+ angular_offset?: number;
126
+ /**
127
+ * Maximum motor force.
128
+ */
129
+ max_force?: number;
130
+ /**
131
+ * Maximum motor torque.
132
+ */
133
+ max_torque?: number;
134
+ /**
135
+ * Position correction factor.
136
+ */
137
+ correction_factor?: number;
138
+ /**
139
+ * Whether connected bodies collide.
140
+ */
141
+ collide_connected?: boolean;
142
+ }
143
+ /**
144
+ * Box2D mouse-joint definition
145
+ */
146
+ interface mouse_definition {
147
+ /**
148
+ * Target position.
149
+ */
150
+ target?: Vector3;
151
+ /**
152
+ * Maximum force.
153
+ */
154
+ max_force?: number;
155
+ /**
156
+ * Spring frequency in hertz.
157
+ */
158
+ hertz?: number;
159
+ /**
160
+ * Legacy spring frequency alias.
161
+ */
162
+ frequency?: number;
163
+ /**
164
+ * Spring damping ratio.
165
+ */
166
+ damping_ratio?: number;
167
+ /**
168
+ * Legacy spring damping-ratio alias.
169
+ */
170
+ damping?: number;
171
+ /**
172
+ * Whether connected bodies collide.
173
+ */
174
+ collide_connected?: boolean;
175
+ }
176
+ /**
177
+ * Box2D prismatic-joint definition
178
+ */
179
+ interface prismatic_definition {
180
+ /**
181
+ * Local anchor on the first body.
182
+ */
183
+ local_anchor_a?: Vector3;
184
+ /**
185
+ * Local anchor on the second body.
186
+ */
187
+ local_anchor_b?: Vector3;
188
+ /**
189
+ * Local translation axis on the first body.
190
+ */
191
+ local_axis_a?: Vector3;
192
+ /**
193
+ * Reference angle.
194
+ */
195
+ reference_angle?: number;
196
+ /**
197
+ * Whether the spring is enabled.
198
+ */
199
+ enable_spring?: boolean;
200
+ /**
201
+ * Spring frequency in hertz.
202
+ */
203
+ hertz?: number;
204
+ /**
205
+ * Legacy spring frequency alias.
206
+ */
207
+ frequency?: number;
208
+ /**
209
+ * Spring damping ratio.
210
+ */
211
+ damping_ratio?: number;
212
+ /**
213
+ * Legacy spring damping-ratio alias.
214
+ */
215
+ damping?: number;
216
+ /**
217
+ * Whether translation limits are enabled.
218
+ */
219
+ enable_limit?: boolean;
220
+ /**
221
+ * Lower translation limit.
222
+ */
223
+ lower_translation?: number;
224
+ /**
225
+ * Upper translation limit.
226
+ */
227
+ upper_translation?: number;
228
+ /**
229
+ * Whether the motor is enabled.
230
+ */
231
+ enable_motor?: boolean;
232
+ /**
233
+ * Maximum motor force.
234
+ */
235
+ max_motor_force?: number;
236
+ /**
237
+ * Motor speed.
238
+ */
239
+ motor_speed?: number;
240
+ /**
241
+ * Whether connected bodies collide.
242
+ */
243
+ collide_connected?: boolean;
244
+ }
245
+ /**
246
+ * Box2D pulley-joint definition
247
+ */
248
+ interface pulley_definition {
249
+ /**
250
+ * First ground anchor.
251
+ */
252
+ ground_anchor_a?: Vector3;
253
+ /**
254
+ * Second ground anchor.
255
+ */
256
+ ground_anchor_b?: Vector3;
257
+ /**
258
+ * Local anchor on the first body.
259
+ */
260
+ local_anchor_a?: Vector3;
261
+ /**
262
+ * Local anchor on the second body.
263
+ */
264
+ local_anchor_b?: Vector3;
265
+ /**
266
+ * First segment length.
267
+ */
268
+ length_a?: number;
269
+ /**
270
+ * Second segment length.
271
+ */
272
+ length_b?: number;
273
+ /**
274
+ * Pulley ratio.
275
+ */
276
+ ratio?: number;
277
+ /**
278
+ * Whether connected bodies collide.
279
+ */
280
+ collide_connected?: boolean;
281
+ }
282
+ /**
283
+ * Box2D revolute-joint definition
284
+ */
285
+ interface revolute_definition {
286
+ /**
287
+ * Local anchor on the first body.
288
+ */
289
+ local_anchor_a?: Vector3;
290
+ /**
291
+ * Local anchor on the second body.
292
+ */
293
+ local_anchor_b?: Vector3;
294
+ /**
295
+ * Reference angle.
296
+ */
297
+ reference_angle?: number;
298
+ /**
299
+ * Whether the spring is enabled.
300
+ */
301
+ enable_spring?: boolean;
302
+ /**
303
+ * Spring frequency in hertz.
304
+ */
305
+ hertz?: number;
306
+ /**
307
+ * Legacy spring frequency alias.
308
+ */
309
+ frequency?: number;
310
+ /**
311
+ * Spring damping ratio.
312
+ */
313
+ damping_ratio?: number;
314
+ /**
315
+ * Legacy spring damping-ratio alias.
316
+ */
317
+ damping?: number;
318
+ /**
319
+ * Whether angular limits are enabled.
320
+ */
321
+ enable_limit?: boolean;
322
+ /**
323
+ * Lower angular limit.
324
+ */
325
+ lower_angle?: number;
326
+ /**
327
+ * Upper angular limit.
328
+ */
329
+ upper_angle?: number;
330
+ /**
331
+ * Whether the motor is enabled.
332
+ */
333
+ enable_motor?: boolean;
334
+ /**
335
+ * Maximum motor torque.
336
+ */
337
+ max_motor_torque?: number;
338
+ /**
339
+ * Motor speed.
340
+ */
341
+ motor_speed?: number;
342
+ /**
343
+ * Whether connected bodies collide.
344
+ */
345
+ collide_connected?: boolean;
346
+ }
347
+ /**
348
+ * Box2D rope-joint definition
349
+ */
350
+ interface rope_definition {
351
+ /**
352
+ * Local anchor on the first body.
353
+ */
354
+ local_anchor_a?: Vector3;
355
+ /**
356
+ * Local anchor on the second body.
357
+ */
358
+ local_anchor_b?: Vector3;
359
+ /**
360
+ * Maximum rope length.
361
+ */
362
+ max_length?: number;
363
+ /**
364
+ * Whether connected bodies collide.
365
+ */
366
+ collide_connected?: boolean;
367
+ }
368
+ /**
369
+ * Box2D weld-joint definition
370
+ */
371
+ interface weld_definition {
372
+ /**
373
+ * Local anchor on the first body.
374
+ */
375
+ local_anchor_a?: Vector3;
376
+ /**
377
+ * Local anchor on the second body.
378
+ */
379
+ local_anchor_b?: Vector3;
380
+ /**
381
+ * Reference angle.
382
+ */
383
+ reference_angle?: number;
384
+ /**
385
+ * Legacy spring frequency in hertz.
386
+ */
387
+ hertz?: number;
388
+ /**
389
+ * Legacy spring frequency.
390
+ */
391
+ frequency?: number;
392
+ /**
393
+ * Legacy spring damping ratio.
394
+ */
395
+ damping_ratio?: number;
396
+ /**
397
+ * Legacy spring damping-ratio alias.
398
+ */
399
+ damping?: number;
400
+ /**
401
+ * Linear spring frequency in hertz.
402
+ */
403
+ linear_hertz?: number;
404
+ /**
405
+ * Angular spring frequency in hertz.
406
+ */
407
+ angular_hertz?: number;
408
+ /**
409
+ * Linear damping ratio.
410
+ */
411
+ linear_damping_ratio?: number;
412
+ /**
413
+ * Angular damping ratio.
414
+ */
415
+ angular_damping_ratio?: number;
416
+ /**
417
+ * Whether connected bodies collide.
418
+ */
419
+ collide_connected?: boolean;
420
+ }
421
+ /**
422
+ * Box2D wheel-joint definition
423
+ */
424
+ interface wheel_definition {
425
+ /**
426
+ * Local anchor on the first body.
427
+ */
428
+ local_anchor_a?: Vector3;
429
+ /**
430
+ * Local anchor on the second body.
431
+ */
432
+ local_anchor_b?: Vector3;
433
+ /**
434
+ * Local suspension axis on the first body.
435
+ */
436
+ local_axis_a?: Vector3;
437
+ /**
438
+ * Whether the spring is enabled.
439
+ */
440
+ enable_spring?: boolean;
441
+ /**
442
+ * Spring frequency in hertz.
443
+ */
444
+ hertz?: number;
445
+ /**
446
+ * Legacy spring frequency alias.
447
+ */
448
+ frequency?: number;
449
+ /**
450
+ * Spring damping ratio.
451
+ */
452
+ damping_ratio?: number;
453
+ /**
454
+ * Legacy spring damping-ratio alias.
455
+ */
456
+ damping?: number;
457
+ /**
458
+ * Whether translation limits are enabled.
459
+ */
460
+ enable_limit?: boolean;
461
+ /**
462
+ * Lower translation limit.
463
+ */
464
+ lower_translation?: number;
465
+ /**
466
+ * Upper translation limit.
467
+ */
468
+ upper_translation?: number;
469
+ /**
470
+ * Whether the motor is enabled.
471
+ */
472
+ enable_motor?: boolean;
473
+ /**
474
+ * Maximum motor torque.
475
+ */
476
+ max_motor_torque?: number;
477
+ /**
478
+ * Motor speed.
479
+ */
480
+ motor_speed?: number;
481
+ /**
482
+ * Whether connected bodies collide.
483
+ */
484
+ collide_connected?: boolean;
485
+ }
486
+ type JOINT_TYPE = typeof b2d.joint.JOINT_TYPE_DISTANCE | typeof b2d.joint.JOINT_TYPE_FILTER | typeof b2d.joint.JOINT_TYPE_FRICTION | typeof b2d.joint.JOINT_TYPE_GEAR | typeof b2d.joint.JOINT_TYPE_MOTOR | typeof b2d.joint.JOINT_TYPE_MOUSE | typeof b2d.joint.JOINT_TYPE_PRISMATIC | typeof b2d.joint.JOINT_TYPE_PULLEY | typeof b2d.joint.JOINT_TYPE_REVOLUTE | typeof b2d.joint.JOINT_TYPE_ROPE | typeof b2d.joint.JOINT_TYPE_UNKNOWN | typeof b2d.joint.JOINT_TYPE_WELD | typeof b2d.joint.JOINT_TYPE_WHEEL;
487
+ type LIMIT_STATE = typeof b2d.joint.LIMIT_STATE_AT_LOWER | typeof b2d.joint.LIMIT_STATE_AT_UPPER | typeof b2d.joint.LIMIT_STATE_EQUAL | typeof b2d.joint.LIMIT_STATE_INACTIVE;
10
488
  /**
11
489
  * Distance joint type.
12
490
  */
@@ -80,10 +558,10 @@ declare global {
80
558
  *
81
559
  * @param body_a - first body
82
560
  * @param body_b - second body
83
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `length`, `frequency`, `damping_ratio`, and `collide_connected`
561
+ * @param definition - optional joint definition
84
562
  * @returns created joint
85
563
  */
86
- function create_distance(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; length?: number; frequency?: number; damping_ratio?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
564
+ function create_distance(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.distance_definition): Opaque<"b2Joint">;
87
565
  /**
88
566
  * Create a filter joint.
89
567
  *
@@ -92,97 +570,97 @@ declare global {
92
570
  * @param definition - optional definition table
93
571
  * @returns created joint
94
572
  */
95
- function create_filter(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: Record<string | number, unknown>): Opaque<"b2Joint">;
573
+ function create_filter(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.filter_definition): Opaque<"b2Joint">;
96
574
  /**
97
575
  * Create a friction joint.
98
576
  *
99
577
  * @param body_a - first body
100
578
  * @param body_b - second body
101
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `max_force`, `max_torque`, and `collide_connected`
579
+ * @param definition - optional joint definition
102
580
  * @returns created joint
103
581
  */
104
- function create_friction(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; max_force?: number; max_torque?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
582
+ function create_friction(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.friction_definition): Opaque<"b2Joint">;
105
583
  /**
106
584
  * Create a gear joint.
107
585
  *
108
586
  * @param joint1 - first revolute or prismatic joint
109
587
  * @param joint2 - second revolute or prismatic joint
110
- * @param definition - optional definition with `ratio`
588
+ * @param definition - optional joint definition
111
589
  * @returns created joint
112
590
  */
113
- function create_gear(joint1: Opaque<"b2Joint">, joint2: Opaque<"b2Joint">, definition?: { ratio?: number }): Opaque<"b2Joint">;
591
+ function create_gear(joint1: Opaque<"b2Joint">, joint2: Opaque<"b2Joint">, definition?: b2d.joint.gear_definition): Opaque<"b2Joint">;
114
592
  /**
115
593
  * Create a motor joint.
116
594
  *
117
595
  * @param body_a - first body
118
596
  * @param body_b - second body
119
- * @param definition - optional definition with `linear_offset`, `angular_offset`, `max_force`, `max_torque`, `correction_factor`, and `collide_connected`
597
+ * @param definition - optional joint definition
120
598
  * @returns created joint
121
599
  */
122
- function create_motor(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { linear_offset?: Vector3; angular_offset?: number; max_force?: number; max_torque?: number; correction_factor?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
600
+ function create_motor(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.motor_definition): Opaque<"b2Joint">;
123
601
  /**
124
602
  * Create a mouse joint.
125
603
  *
126
604
  * @param body_a - first body
127
605
  * @param body_b - second body
128
- * @param definition - optional definition with `target`, `max_force`, `frequency`, `damping_ratio`, and `collide_connected`
606
+ * @param definition - optional joint definition
129
607
  * @returns created joint
130
608
  */
131
- function create_mouse(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { target?: Vector3; max_force?: number; frequency?: number; damping_ratio?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
609
+ function create_mouse(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.mouse_definition): Opaque<"b2Joint">;
132
610
  /**
133
611
  * Create a prismatic joint.
134
612
  *
135
613
  * @param body_a - first body
136
614
  * @param body_b - second body
137
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `local_axis_a`, `reference_angle`, `enable_limit`, `lower_translation`, `upper_translation`, `enable_motor`, `max_motor_force`, `motor_speed`, and `collide_connected`
615
+ * @param definition - optional joint definition
138
616
  * @returns created joint
139
617
  */
140
- function create_prismatic(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; local_axis_a?: Vector3; reference_angle?: number; enable_limit?: boolean; lower_translation?: number; upper_translation?: number; enable_motor?: boolean; max_motor_force?: number; motor_speed?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
618
+ function create_prismatic(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.prismatic_definition): Opaque<"b2Joint">;
141
619
  /**
142
620
  * Create a pulley joint.
143
621
  *
144
622
  * @param body_a - first body
145
623
  * @param body_b - second body
146
- * @param definition - optional definition with `ground_anchor_a`, `ground_anchor_b`, `local_anchor_a`, `local_anchor_b`, `length_a`, `length_b`, `ratio`, and `collide_connected`
624
+ * @param definition - optional joint definition
147
625
  * @returns created joint
148
626
  */
149
- function create_pulley(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { ground_anchor_a?: Vector3; ground_anchor_b?: Vector3; local_anchor_a?: Vector3; local_anchor_b?: Vector3; length_a?: number; length_b?: number; ratio?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
627
+ function create_pulley(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.pulley_definition): Opaque<"b2Joint">;
150
628
  /**
151
629
  * Create a revolute joint.
152
630
  *
153
631
  * @param body_a - first body
154
632
  * @param body_b - second body
155
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `reference_angle`, `enable_limit`, `lower_angle`, `upper_angle`, `enable_motor`, `max_motor_torque`, `motor_speed`, and `collide_connected`
633
+ * @param definition - optional joint definition
156
634
  * @returns created joint
157
635
  */
158
- function create_revolute(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; reference_angle?: number; enable_limit?: boolean; lower_angle?: number; upper_angle?: number; enable_motor?: boolean; max_motor_torque?: number; motor_speed?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
636
+ function create_revolute(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.revolute_definition): Opaque<"b2Joint">;
159
637
  /**
160
638
  * Create a rope joint.
161
639
  *
162
640
  * @param body_a - first body
163
641
  * @param body_b - second body
164
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `max_length`, and `collide_connected`
642
+ * @param definition - optional joint definition
165
643
  * @returns created joint
166
644
  */
167
- function create_rope(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; max_length?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
645
+ function create_rope(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.rope_definition): Opaque<"b2Joint">;
168
646
  /**
169
647
  * Create a weld joint.
170
648
  *
171
649
  * @param body_a - first body
172
650
  * @param body_b - second body
173
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `reference_angle`, `frequency`, `damping_ratio`, and `collide_connected`
651
+ * @param definition - optional joint definition
174
652
  * @returns created joint
175
653
  */
176
- function create_weld(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; reference_angle?: number; frequency?: number; damping_ratio?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
654
+ function create_weld(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.weld_definition): Opaque<"b2Joint">;
177
655
  /**
178
656
  * Create a wheel joint.
179
657
  *
180
658
  * @param body_a - first body
181
659
  * @param body_b - second body
182
- * @param definition - optional definition with `local_anchor_a`, `local_anchor_b`, `local_axis_a`, `enable_motor`, `max_motor_torque`, `motor_speed`, `frequency`, `damping_ratio`, and `collide_connected`
660
+ * @param definition - optional joint definition
183
661
  * @returns created joint
184
662
  */
185
- function create_wheel(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: { local_anchor_a?: Vector3; local_anchor_b?: Vector3; local_axis_a?: Vector3; enable_motor?: boolean; max_motor_torque?: number; motor_speed?: number; frequency?: number; damping_ratio?: number; collide_connected?: boolean }): Opaque<"b2Joint">;
663
+ function create_wheel(body_a: Opaque<"b2Body">, body_b: Opaque<"b2Body">, definition?: b2d.joint.wheel_definition): Opaque<"b2Joint">;
186
664
  /**
187
665
  * Destroy a joint created by `b2d.joint`.
188
666
  *
@@ -377,7 +855,7 @@ declare global {
377
855
  * @param joint - rope joint
378
856
  * @returns one of the `LIMIT_STATE_*` constants
379
857
  */
380
- function get_limit_state(joint: Opaque<"b2Joint">): number;
858
+ function get_limit_state(joint: Opaque<"b2Joint">): b2d.joint.LIMIT_STATE;
381
859
  /**
382
860
  * Get weld joint linear damping ratio.
383
861
  *
@@ -577,7 +1055,7 @@ declare global {
577
1055
  * @param joint - joint
578
1056
  * @returns one of the `JOINT_TYPE_*` constants
579
1057
  */
580
- function get_type(joint: Opaque<"b2Joint">): number;
1058
+ function get_type(joint: Opaque<"b2Joint">): b2d.joint.JOINT_TYPE;
581
1059
  /**
582
1060
  * Get the upper joint limit.
583
1061
  *