@defold-typescript/types 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/api-availability.json +3963 -772
  2. package/api-migrations.json +27 -0
  3. package/api-signatures.json +18069 -10240
  4. package/api-targets.json +448 -11
  5. package/examples/translations.json +560 -89
  6. package/fixtures/messages_doc.json +96 -0
  7. package/generated/b2d.d.ts +680 -4
  8. package/generated/b2d_body.d.ts +29 -103
  9. package/generated/b2d_chain.d.ts +5 -6
  10. package/generated/b2d_fixture.d.ts +34 -38
  11. package/generated/b2d_joint.d.ts +503 -25
  12. package/generated/b2d_shape.d.ts +183 -20
  13. package/generated/b2d_world.d.ts +57 -63
  14. package/generated/buffer.d.ts +16 -15
  15. package/generated/builtin-messages.d.ts +7 -1
  16. package/generated/bullet3d.d.ts +91 -0
  17. package/generated/bullet3d_collision_object.d.ts +433 -0
  18. package/generated/bullet3d_constraint.d.ts +818 -0
  19. package/generated/bullet3d_rigid_body.d.ts +429 -0
  20. package/generated/bullet3d_shape.d.ts +123 -0
  21. package/generated/bullet3d_world.d.ts +492 -0
  22. package/generated/camera.d.ts +29 -32
  23. package/generated/collectionfactory.d.ts +15 -18
  24. package/generated/collectionproxy.d.ts +22 -6
  25. package/generated/compute.d.ts +12 -238
  26. package/generated/crash.d.ts +24 -10
  27. package/generated/editor-vm/http.d.ts +90 -7
  28. package/generated/editor-vm/image.d.ts +7 -7
  29. package/generated/editor-vm/json.d.ts +11 -0
  30. package/generated/editor-vm/localization.d.ts +7 -7
  31. package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
  32. package/generated/editor-vm/zip.d.ts +28 -0
  33. package/generated/editor.d.ts +1496 -430
  34. package/generated/factory.d.ts +21 -25
  35. package/generated/font.d.ts +64 -22
  36. package/generated/go.d.ts +235 -182
  37. package/generated/graphics.d.ts +335 -97
  38. package/generated/gui.d.ts +240 -471
  39. package/generated/html5.d.ts +2 -2
  40. package/generated/http.d.ts +28 -35
  41. package/generated/image.d.ts +105 -72
  42. package/generated/json.d.ts +34 -16
  43. package/generated/kinds/gui-script.d.ts +7 -0
  44. package/generated/kinds/render-script.d.ts +7 -0
  45. package/generated/kinds/script.d.ts +7 -0
  46. package/generated/label.d.ts +77 -7
  47. package/generated/liveupdate.d.ts +13 -10
  48. package/generated/material.d.ts +312 -360
  49. package/generated/model.d.ts +40 -39
  50. package/generated/particlefx.d.ts +19 -28
  51. package/generated/physics.d.ts +365 -133
  52. package/generated/profiler.d.ts +13 -23
  53. package/generated/render.d.ts +237 -297
  54. package/generated/resource.d.ts +664 -583
  55. package/generated/socket.d.ts +120 -133
  56. package/generated/sound.d.ts +62 -31
  57. package/generated/sprite.d.ts +31 -17
  58. package/generated/sys.d.ts +234 -190
  59. package/generated/tilemap.d.ts +21 -16
  60. package/generated/timer.d.ts +34 -21
  61. package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
  62. package/generated/versions/defold-1.12.4/buffer.d.ts +1 -3
  63. package/generated/versions/defold-1.12.4/camera.d.ts +21 -21
  64. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +9 -9
  65. package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
  66. package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
  67. package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
  68. package/generated/versions/defold-1.12.4/go.d.ts +6 -12
  69. package/generated/versions/defold-1.12.4/gui.d.ts +77 -175
  70. package/generated/versions/defold-1.12.4/html5.d.ts +1 -1
  71. package/generated/versions/defold-1.12.4/http.d.ts +0 -13
  72. package/generated/versions/defold-1.12.4/image.d.ts +16 -33
  73. package/generated/versions/defold-1.12.4/index.d.ts +1 -0
  74. package/generated/versions/defold-1.12.4/json.d.ts +10 -6
  75. package/generated/versions/defold-1.12.4/label.d.ts +2 -3
  76. package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
  77. package/generated/versions/defold-1.12.4/model.d.ts +2 -10
  78. package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
  79. package/generated/versions/defold-1.12.4/physics.d.ts +69 -67
  80. package/generated/versions/defold-1.12.4/profiler.d.ts +2 -5
  81. package/generated/versions/defold-1.12.4/render.d.ts +99 -128
  82. package/generated/versions/defold-1.12.4/resource.d.ts +120 -148
  83. package/generated/versions/defold-1.12.4/socket.d.ts +34 -60
  84. package/generated/versions/defold-1.12.4/sound.d.ts +8 -8
  85. package/generated/versions/defold-1.12.4/sprite.d.ts +15 -5
  86. package/generated/versions/defold-1.12.4/sys.d.ts +37 -71
  87. package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
  88. package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
  89. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -21
  90. package/generated/versions/defold-1.12.4/window.d.ts +1 -16
  91. package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
  92. package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
  93. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +169 -8
  94. package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
  95. package/generated/versions/defold-1.13.0/buffer.d.ts +1 -3
  96. package/generated/versions/defold-1.13.0/camera.d.ts +25 -25
  97. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +9 -9
  98. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
  99. package/generated/versions/defold-1.13.0/compute.d.ts +0 -69
  100. package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
  101. package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
  102. package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
  103. package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
  104. package/generated/versions/defold-1.13.0/go.d.ts +6 -12
  105. package/generated/versions/defold-1.13.0/graphics.d.ts +73 -37
  106. package/generated/versions/defold-1.13.0/gui.d.ts +77 -175
  107. package/generated/versions/defold-1.13.0/html5.d.ts +1 -1
  108. package/generated/versions/defold-1.13.0/http.d.ts +0 -13
  109. package/generated/versions/defold-1.13.0/image.d.ts +16 -33
  110. package/generated/versions/defold-1.13.0/index.d.ts +1 -0
  111. package/generated/versions/defold-1.13.0/json.d.ts +10 -6
  112. package/generated/versions/defold-1.13.0/label.d.ts +2 -3
  113. package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
  114. package/generated/versions/defold-1.13.0/material.d.ts +68 -106
  115. package/generated/versions/defold-1.13.0/model.d.ts +2 -10
  116. package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
  117. package/generated/versions/defold-1.13.0/physics.d.ts +69 -67
  118. package/generated/versions/defold-1.13.0/profiler.d.ts +2 -5
  119. package/generated/versions/defold-1.13.0/render.d.ts +99 -128
  120. package/generated/versions/defold-1.13.0/resource.d.ts +126 -150
  121. package/generated/versions/defold-1.13.0/socket.d.ts +34 -60
  122. package/generated/versions/defold-1.13.0/sound.d.ts +8 -8
  123. package/generated/versions/defold-1.13.0/sprite.d.ts +15 -5
  124. package/generated/versions/defold-1.13.0/sys.d.ts +37 -71
  125. package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
  126. package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
  127. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -21
  128. package/generated/versions/defold-1.13.0/window.d.ts +1 -16
  129. package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
  130. package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
  131. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
  132. package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
  133. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
  134. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
  135. package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
  136. package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
  137. package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
  138. package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
  139. package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
  140. package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
  141. package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
  142. package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
  143. package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
  144. package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
  145. package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
  146. package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
  147. package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
  148. package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
  149. package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
  150. package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
  151. package/generated/versions/defold-1.13.1/font.d.ts +81 -0
  152. package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
  153. package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
  154. package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
  155. package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
  156. package/generated/versions/defold-1.13.1/http.d.ts +77 -0
  157. package/generated/versions/defold-1.13.1/image.d.ts +131 -0
  158. package/generated/versions/defold-1.13.1/index.d.ts +57 -0
  159. package/generated/versions/defold-1.13.1/json.d.ts +80 -0
  160. package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
  161. package/generated/versions/defold-1.13.1/label.d.ts +93 -0
  162. package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
  163. package/generated/versions/defold-1.13.1/material.d.ts +408 -0
  164. package/generated/versions/defold-1.13.1/model.d.ts +272 -0
  165. package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
  166. package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
  167. package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
  168. package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
  169. package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
  170. package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
  171. package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
  172. package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
  173. package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
  174. package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
  175. package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
  176. package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
  177. package/generated/versions/defold-1.13.1/types.d.ts +61 -0
  178. package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
  179. package/generated/versions/defold-1.13.1/window.d.ts +183 -0
  180. package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
  181. package/generated/vmath.d.ts +1 -21
  182. package/generated/window.d.ts +71 -71
  183. package/identity-vocabulary.json +561 -0
  184. package/index.d.ts +7 -0
  185. package/package.json +13 -2
  186. package/scripts/example-store-io.ts +12 -1
  187. package/scripts/extension-goldens.ts +1 -0
  188. package/scripts/fidelity-baseline.json +146 -46
  189. package/scripts/generate-api-availability.ts +90 -12
  190. package/scripts/generate-api-signatures.ts +12 -2
  191. package/scripts/import-defold-release.ts +85 -24
  192. package/scripts/prose-constants.ts +77 -16
  193. package/scripts/regen.ts +391 -77
  194. package/scripts/shared-handle-methods.ts +53 -0
  195. package/scripts/signature-store-fs.ts +1 -0
  196. package/scripts/sync-api-docs.ts +16 -5
  197. package/src/api-availability.ts +0 -0
  198. package/src/api-doc.ts +201 -3
  199. package/src/api-identity.ts +252 -0
  200. package/src/core-types.ts +26 -3
  201. package/src/correction-pins.ts +49 -0
  202. package/src/doc-comment.ts +104 -11
  203. package/src/doc-corrections.ts +108 -0
  204. package/src/editor-vm-globals.d.ts +5 -2
  205. package/src/emit-dts.ts +2064 -281
  206. package/src/emit-messages.ts +52 -0
  207. package/src/example-store.ts +125 -14
  208. package/src/field-correction-coverage.ts +204 -0
  209. package/src/fnv1a.ts +16 -0
  210. package/src/go-overloads.d.ts +25 -6
  211. package/src/index-base-table.ts +145 -0
  212. package/src/index-slot-classifications.ts +588 -0
  213. package/src/index.ts +38 -5
  214. package/src/library-index-slot-classifications.ts +332 -0
  215. package/src/lifecycle.ts +61 -199
  216. package/src/luals-type-expr.ts +354 -0
  217. package/src/msg-overloads.d.ts +0 -1
  218. package/src/param-correction-provenance.ts +8 -11
  219. package/src/render-overloads.d.ts +0 -15
  220. package/src/return-correction-provenance.ts +58 -16
  221. package/src/sys-overloads.d.ts +48 -0
  222. package/src/vmath-overloads.d.ts +27 -1
  223. package/src/window-event-guard.d.ts +6 -9
  224. package/url-parameters.json +1 -2
@@ -1,13 +1,689 @@
1
1
  /** @noSelfInFile */
2
- import type { Hash, Opaque, Url } from "../src/core-types";
2
+ import type { Hash, Opaque, Url, Vector3 } from "../src/core-types";
3
3
 
4
4
  declare global {
5
5
  /**
6
6
  * Functions for interacting with Box2D.
7
7
  */
8
8
  namespace b2d {
9
+ /**
10
+ * Box2D axis-aligned bounding box
11
+ */
12
+ interface aabb {
13
+ /**
14
+ * Lower bound.
15
+ */
16
+ lower: Vector3;
17
+ /**
18
+ * Upper bound.
19
+ */
20
+ upper: Vector3;
21
+ }
9
22
  type b2Body = Opaque<"b2Body">;
10
23
  type b2World = Opaque<"b2World">;
24
+ /**
25
+ * Box2D 3.x chain definition
26
+ */
27
+ interface chain_definition {
28
+ /**
29
+ * Chain vertices.
30
+ */
31
+ vertices: Vector3[];
32
+ /**
33
+ * Whether the chain is closed.
34
+ */
35
+ loop?: boolean;
36
+ /**
37
+ * Ghost vertex preceding an open chain.
38
+ */
39
+ prev_vertex?: Vector3;
40
+ /**
41
+ * Ghost vertex following an open chain.
42
+ */
43
+ next_vertex?: Vector3;
44
+ /**
45
+ * Segment friction.
46
+ */
47
+ friction?: number;
48
+ /**
49
+ * Segment restitution.
50
+ */
51
+ restitution?: number;
52
+ /**
53
+ * Segment material identifier.
54
+ */
55
+ material?: number;
56
+ /**
57
+ * Collision filter fields to override.
58
+ */
59
+ filter?: b2d.filter_options;
60
+ /**
61
+ * Whether to enable sensor events.
62
+ */
63
+ enable_sensor_events?: boolean;
64
+ }
65
+ /**
66
+ * Box2D chain geometry
67
+ */
68
+ interface chain_geometry {
69
+ /**
70
+ * Whether the chain is closed.
71
+ */
72
+ loop: boolean;
73
+ /**
74
+ * Number of chain segments.
75
+ */
76
+ segment_count: number;
77
+ /**
78
+ * Chain vertices.
79
+ */
80
+ vertices: Vector3[];
81
+ /**
82
+ * Ghost vertex preceding an open chain.
83
+ */
84
+ prev_vertex?: Vector3;
85
+ /**
86
+ * Ghost vertex following an open chain.
87
+ */
88
+ next_vertex?: Vector3;
89
+ }
90
+ /**
91
+ * Box2D contact data
92
+ */
93
+ interface contact_data {
94
+ /**
95
+ * First contact shape.
96
+ */
97
+ shape_a: b2d.shape_info;
98
+ /**
99
+ * Second contact shape.
100
+ */
101
+ shape_b: b2d.shape_info;
102
+ /**
103
+ * Contact normal.
104
+ */
105
+ normal: Vector3;
106
+ /**
107
+ * Rolling resistance impulse.
108
+ */
109
+ rolling_impulse: number;
110
+ /**
111
+ * Number of manifold points.
112
+ */
113
+ point_count: number;
114
+ /**
115
+ * Contact manifold points.
116
+ */
117
+ points: b2d.contact_point[];
118
+ }
119
+ /**
120
+ * Box2D contact manifold point
121
+ */
122
+ interface contact_point {
123
+ /**
124
+ * World contact point.
125
+ */
126
+ point: Vector3;
127
+ /**
128
+ * Contact anchor on the first body.
129
+ */
130
+ anchor_a: Vector3;
131
+ /**
132
+ * Contact anchor on the second body.
133
+ */
134
+ anchor_b: Vector3;
135
+ /**
136
+ * Contact separation.
137
+ */
138
+ separation: number;
139
+ /**
140
+ * Normal impulse.
141
+ */
142
+ normal_impulse: number;
143
+ /**
144
+ * Tangent impulse.
145
+ */
146
+ tangent_impulse: number;
147
+ /**
148
+ * Total normal impulse.
149
+ */
150
+ total_normal_impulse: number;
151
+ /**
152
+ * Relative normal velocity.
153
+ */
154
+ normal_velocity: number;
155
+ /**
156
+ * Contact point identifier.
157
+ */
158
+ id: number;
159
+ /**
160
+ * Whether the point persisted from the previous step.
161
+ */
162
+ persisted: boolean;
163
+ }
164
+ /**
165
+ * Box2D explosion definition
166
+ */
167
+ interface explosion_definition {
168
+ /**
169
+ * Explosion center.
170
+ */
171
+ position: Vector3;
172
+ /**
173
+ * Explosion radius.
174
+ */
175
+ radius: number;
176
+ /**
177
+ * Distance over which the impulse falls off.
178
+ */
179
+ falloff: number;
180
+ /**
181
+ * Impulse applied per unit length.
182
+ */
183
+ impulse_per_length: number;
184
+ /**
185
+ * Optional collision mask.
186
+ */
187
+ mask_bits?: number;
188
+ }
189
+ /**
190
+ * Box2D collision filter
191
+ */
192
+ interface filter {
193
+ /**
194
+ * Collision category bits.
195
+ */
196
+ category_bits: number;
197
+ /**
198
+ * Collision mask bits.
199
+ */
200
+ mask_bits: number;
201
+ /**
202
+ * Collision group index.
203
+ */
204
+ group_index: number;
205
+ }
206
+ /**
207
+ * Partial Box2D collision filter
208
+ */
209
+ interface filter_options {
210
+ /**
211
+ * Collision category bits.
212
+ */
213
+ category_bits?: number;
214
+ /**
215
+ * Collision mask bits.
216
+ */
217
+ mask_bits?: number;
218
+ /**
219
+ * Collision group index.
220
+ */
221
+ group_index?: number;
222
+ }
223
+ /**
224
+ * Box2D 2.x cast hit
225
+ */
226
+ interface fixture_cast_hit {
227
+ /**
228
+ * Hit fixture.
229
+ */
230
+ fixture: b2d.fixture_info;
231
+ /**
232
+ * Hit fixture child shape.
233
+ */
234
+ shape: b2d.fixture_info;
235
+ /**
236
+ * Hit point.
237
+ */
238
+ point: Vector3;
239
+ /**
240
+ * Hit normal.
241
+ */
242
+ normal: Vector3;
243
+ /**
244
+ * Hit fraction.
245
+ */
246
+ fraction: number;
247
+ /**
248
+ * Number of tree nodes visited by a closest query.
249
+ */
250
+ node_visits?: number;
251
+ /**
252
+ * Number of tree leaves visited by a closest query.
253
+ */
254
+ leaf_visits?: number;
255
+ }
256
+ /**
257
+ * Box2D 2.x fixture definition
258
+ */
259
+ interface fixture_definition {
260
+ /**
261
+ * Shape definition.
262
+ */
263
+ shape: b2d.shape.definition;
264
+ /**
265
+ * Fixture friction.
266
+ */
267
+ friction?: number;
268
+ /**
269
+ * Fixture restitution.
270
+ */
271
+ restitution?: number;
272
+ /**
273
+ * Fixture density.
274
+ */
275
+ density?: number;
276
+ /**
277
+ * Whether the fixture is a sensor.
278
+ */
279
+ sensor?: boolean;
280
+ /**
281
+ * Alias for `sensor`.
282
+ */
283
+ is_sensor?: boolean;
284
+ /**
285
+ * Collision filter.
286
+ */
287
+ filter?: b2d.filter;
288
+ }
289
+ /**
290
+ * Box2D 2.x fixture information
291
+ */
292
+ interface fixture_info {
293
+ /**
294
+ * Owning body, when returned from a world query.
295
+ */
296
+ body?: Opaque<"b2Body">;
297
+ /**
298
+ * Fixture index on the body.
299
+ */
300
+ index: number;
301
+ /**
302
+ * Child-shape index, when returned from a world query.
303
+ */
304
+ child_index?: number;
305
+ /**
306
+ * Shape type.
307
+ */
308
+ type: b2d.shape.SHAPE_TYPE;
309
+ /**
310
+ * Whether the fixture is a sensor.
311
+ */
312
+ sensor: boolean;
313
+ /**
314
+ * Fixture density.
315
+ */
316
+ density: number;
317
+ /**
318
+ * Fixture friction.
319
+ */
320
+ friction: number;
321
+ /**
322
+ * Fixture restitution.
323
+ */
324
+ restitution: number;
325
+ /**
326
+ * Number of child shapes.
327
+ */
328
+ child_count: number;
329
+ }
330
+ /**
331
+ * Mass properties for a Box2D body or shape.
332
+ */
333
+ interface mass_data {
334
+ /**
335
+ * Body mass, usually in kilograms.
336
+ */
337
+ mass: number;
338
+ /**
339
+ * Local center of mass.
340
+ */
341
+ center: Vector3;
342
+ /**
343
+ * Rotational inertia about the local origin.
344
+ */
345
+ inertia: number;
346
+ }
347
+ /**
348
+ * Box2D mover capsule
349
+ */
350
+ interface mover_capsule {
351
+ /**
352
+ * First capsule center.
353
+ */
354
+ center1: Vector3;
355
+ /**
356
+ * Second capsule center.
357
+ */
358
+ center2: Vector3;
359
+ /**
360
+ * Capsule radius.
361
+ */
362
+ radius: number;
363
+ }
364
+ /**
365
+ * Box2D mover collision plane
366
+ */
367
+ interface mover_plane {
368
+ /**
369
+ * Colliding shape.
370
+ */
371
+ shape: b2d.shape_info;
372
+ /**
373
+ * Plane normal.
374
+ */
375
+ normal: Vector3;
376
+ /**
377
+ * Plane offset.
378
+ */
379
+ offset: number;
380
+ /**
381
+ * Whether the mover hit the plane.
382
+ */
383
+ hit: boolean;
384
+ }
385
+ /**
386
+ * Box2D world-query filter
387
+ */
388
+ interface query_filter {
389
+ /**
390
+ * Optional collision category bits.
391
+ */
392
+ category_bits?: number;
393
+ /**
394
+ * Optional collision mask bits.
395
+ */
396
+ mask_bits?: number;
397
+ /**
398
+ * Optional collision group index. Supported by the Box2D 2.x backend.
399
+ */
400
+ group_index?: number;
401
+ }
402
+ /**
403
+ * Box2D 3.x cast hit
404
+ */
405
+ interface shape_cast_hit {
406
+ /**
407
+ * Hit shape.
408
+ */
409
+ shape: b2d.shape_info;
410
+ /**
411
+ * Hit point.
412
+ */
413
+ point: Vector3;
414
+ /**
415
+ * Hit normal.
416
+ */
417
+ normal: Vector3;
418
+ /**
419
+ * Hit fraction.
420
+ */
421
+ fraction: number;
422
+ /**
423
+ * Number of tree nodes visited by a closest query.
424
+ */
425
+ node_visits?: number;
426
+ /**
427
+ * Number of tree leaves visited by a closest query.
428
+ */
429
+ leaf_visits?: number;
430
+ }
431
+ /**
432
+ * Direct Box2D shape cast result
433
+ */
434
+ interface shape_cast_output {
435
+ /**
436
+ * Hit point.
437
+ */
438
+ point: Vector3;
439
+ /**
440
+ * Hit normal.
441
+ */
442
+ normal: Vector3;
443
+ /**
444
+ * Hit fraction.
445
+ */
446
+ fraction: number;
447
+ /**
448
+ * Number of cast iterations.
449
+ */
450
+ iterations: number;
451
+ }
452
+ type shape_create_definition = { shape: b2d.shape.definition; density?: number; friction?: number; restitution?: number; material?: number; sensor?: boolean; is_sensor?: boolean; filter?: b2d.filter } | { type: b2d.shape.SHAPE_TYPE; radius?: number; center?: Vector3; center1?: Vector3; center2?: Vector3; v0?: Vector3; v1?: Vector3; v2?: Vector3; v3?: Vector3; hx?: number; hy?: number; angle?: number; vertices?: Vector3[]; density?: number; friction?: number; restitution?: number; material?: number; sensor?: boolean; is_sensor?: boolean; filter?: b2d.filter };
453
+ /**
454
+ * Box2D 3.x shape information
455
+ */
456
+ interface shape_info {
457
+ /**
458
+ * Shape index on the body.
459
+ */
460
+ index: number;
461
+ /**
462
+ * Shape handle.
463
+ */
464
+ shape_id: Opaque<"b2Shape">;
465
+ /**
466
+ * Shape type.
467
+ */
468
+ type: b2d.shape.SHAPE_TYPE;
469
+ /**
470
+ * Whether the shape is a sensor.
471
+ */
472
+ sensor: boolean;
473
+ /**
474
+ * Shape density.
475
+ */
476
+ density: number;
477
+ /**
478
+ * Shape friction.
479
+ */
480
+ friction: number;
481
+ /**
482
+ * Shape restitution.
483
+ */
484
+ restitution: number;
485
+ /**
486
+ * Shape material identifier.
487
+ */
488
+ material: number;
489
+ /**
490
+ * Number of child shapes.
491
+ */
492
+ child_count: number;
493
+ /**
494
+ * Whether the shape belongs to a chain.
495
+ */
496
+ is_chain_segment: boolean;
497
+ }
498
+ /**
499
+ * World transform for a Box2D body.
500
+ */
501
+ interface transform {
502
+ /**
503
+ * World position of the body origin.
504
+ */
505
+ position: Vector3;
506
+ /**
507
+ * World rotation angle in radians.
508
+ */
509
+ angle: number;
510
+ }
511
+ /**
512
+ * Box2D broad-phase query statistics
513
+ */
514
+ interface tree_stats {
515
+ /**
516
+ * Number of tree nodes visited.
517
+ */
518
+ node_visits: number;
519
+ /**
520
+ * Number of tree leaves visited.
521
+ */
522
+ leaf_visits: number;
523
+ }
524
+ /**
525
+ * Box2D version information
526
+ */
527
+ interface version_info {
528
+ /**
529
+ * Full Box2D version string.
530
+ */
531
+ version: string;
532
+ /**
533
+ * Major version number.
534
+ */
535
+ major: number;
536
+ /**
537
+ * Middle version number.
538
+ */
539
+ middle: number;
540
+ /**
541
+ * Minor version number.
542
+ */
543
+ minor: number;
544
+ }
545
+ /**
546
+ * Box2D world counters
547
+ */
548
+ interface world_counters {
549
+ /**
550
+ * Number of bodies.
551
+ */
552
+ body_count: number;
553
+ /**
554
+ * Number of shapes.
555
+ */
556
+ shape_count: number;
557
+ /**
558
+ * Number of contacts.
559
+ */
560
+ contact_count: number;
561
+ /**
562
+ * Number of joints.
563
+ */
564
+ joint_count: number;
565
+ /**
566
+ * Number of islands.
567
+ */
568
+ island_count: number;
569
+ /**
570
+ * Stack bytes in use.
571
+ */
572
+ stack_used: number;
573
+ /**
574
+ * Static broad-phase tree height.
575
+ */
576
+ static_tree_height: number;
577
+ /**
578
+ * Dynamic broad-phase tree height.
579
+ */
580
+ tree_height: number;
581
+ /**
582
+ * Allocated byte count.
583
+ */
584
+ byte_count: number;
585
+ /**
586
+ * Number of tasks.
587
+ */
588
+ task_count: number;
589
+ /**
590
+ * Constraint graph color counts.
591
+ */
592
+ color_counts: number[];
593
+ }
594
+ /**
595
+ * Box2D world profiling data
596
+ */
597
+ interface world_profile {
598
+ /**
599
+ * Total step time.
600
+ */
601
+ step: number;
602
+ /**
603
+ * Pair update time.
604
+ */
605
+ pairs: number;
606
+ /**
607
+ * Collision time.
608
+ */
609
+ collide: number;
610
+ /**
611
+ * Solver time.
612
+ */
613
+ solve: number;
614
+ /**
615
+ * Island merge time.
616
+ */
617
+ merge_islands: number;
618
+ /**
619
+ * Stage preparation time.
620
+ */
621
+ prepare_stages: number;
622
+ /**
623
+ * Constraint solver time.
624
+ */
625
+ solve_constraints: number;
626
+ /**
627
+ * Constraint preparation time.
628
+ */
629
+ prepare_constraints: number;
630
+ /**
631
+ * Velocity integration time.
632
+ */
633
+ integrate_velocities: number;
634
+ /**
635
+ * Warm-start time.
636
+ */
637
+ warm_start: number;
638
+ /**
639
+ * Impulse solver time.
640
+ */
641
+ solve_impulses: number;
642
+ /**
643
+ * Position integration time.
644
+ */
645
+ integrate_positions: number;
646
+ /**
647
+ * Impulse relaxation time.
648
+ */
649
+ relax_impulses: number;
650
+ /**
651
+ * Restitution time.
652
+ */
653
+ apply_restitution: number;
654
+ /**
655
+ * Impulse storage time.
656
+ */
657
+ store_impulses: number;
658
+ /**
659
+ * Island splitting time.
660
+ */
661
+ split_islands: number;
662
+ /**
663
+ * Transform update time.
664
+ */
665
+ transforms: number;
666
+ /**
667
+ * Hit-event generation time.
668
+ */
669
+ hit_events: number;
670
+ /**
671
+ * Tree refit time.
672
+ */
673
+ refit: number;
674
+ /**
675
+ * Bullet processing time.
676
+ */
677
+ bullets: number;
678
+ /**
679
+ * Island sleeping time.
680
+ */
681
+ sleep_islands: number;
682
+ /**
683
+ * Sensor processing time.
684
+ */
685
+ sensors: number;
686
+ }
11
687
  /**
12
688
  * Get the Box2D body from a collision object
13
689
  *
@@ -18,15 +694,15 @@ declare global {
18
694
  /**
19
695
  * Get the Box2D version information for the active backend.
20
696
  *
21
- * @returns version info with fields `version`, `major`, `middle`, and `minor`
697
+ * @returns version information
22
698
  */
23
- function get_version(): { version: number; major: number; middle: number; minor: number };
699
+ function get_version(): b2d.version_info;
24
700
  /**
25
701
  * Get the Box2D world from the current collection
26
702
  *
27
703
  * @returns the world if successful. Otherwise `nil`.
28
704
  */
29
- function get_world(): Opaque<"b2World">;
705
+ function get_world(): Opaque<"b2World"> | undefined;
30
706
  }
31
707
  }
32
708