@defold-typescript/types 0.51.0 → 0.53.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 (228) hide show
  1. package/api-availability.json +4 -58
  2. package/api-signatures.json +2804 -3172
  3. package/api-targets.json +15 -5
  4. package/examples/translations.json +19 -71
  5. package/generated/b2d.d.ts +39 -39
  6. package/generated/b2d_body.d.ts +11 -11
  7. package/generated/b2d_chain.d.ts +3 -3
  8. package/generated/b2d_fixture.d.ts +5 -5
  9. package/generated/b2d_joint.d.ts +29 -29
  10. package/generated/b2d_shape.d.ts +13 -13
  11. package/generated/b2d_world.d.ts +15 -15
  12. package/generated/buffer.d.ts +10 -11
  13. package/generated/bullet3d.d.ts +6 -6
  14. package/generated/bullet3d_collision_object.d.ts +10 -10
  15. package/generated/bullet3d_constraint.d.ts +173 -71
  16. package/generated/bullet3d_rigid_body.d.ts +3 -3
  17. package/generated/bullet3d_shape.d.ts +11 -11
  18. package/generated/bullet3d_world.d.ts +20 -20
  19. package/generated/camera.d.ts +4 -4
  20. package/generated/collectionfactory.d.ts +2 -3
  21. package/generated/collectionproxy.d.ts +5 -5
  22. package/generated/compute.d.ts +5 -5
  23. package/generated/crash.d.ts +7 -7
  24. package/generated/editor-vm/http.d.ts +13 -13
  25. package/generated/editor-vm/image.d.ts +4 -4
  26. package/generated/editor-vm/json.d.ts +1 -1
  27. package/generated/editor-vm/tilemap_tiles.d.ts +9 -9
  28. package/generated/editor-vm/zip.d.ts +4 -4
  29. package/generated/editor.d.ts +183 -183
  30. package/generated/factory.d.ts +2 -3
  31. package/generated/font.d.ts +4 -4
  32. package/generated/go.d.ts +122 -230
  33. package/generated/graphics.d.ts +23 -25
  34. package/generated/gui.d.ts +186 -423
  35. package/generated/http.d.ts +3 -3
  36. package/generated/image.d.ts +63 -11
  37. package/generated/json.d.ts +4 -4
  38. package/generated/kinds/gui-script.d.ts +2 -0
  39. package/generated/kinds/render-script.d.ts +14 -15
  40. package/generated/label.d.ts +5 -5
  41. package/generated/liveupdate.d.ts +7 -3
  42. package/generated/material.d.ts +49 -49
  43. package/generated/model.d.ts +46 -14
  44. package/generated/particlefx.d.ts +24 -5
  45. package/generated/physics.d.ts +64 -20
  46. package/generated/profiler.d.ts +3 -5
  47. package/generated/render-script-modules/b2d.d.ts +711 -0
  48. package/generated/render-script-modules/bullet3d.d.ts +73 -0
  49. package/generated/render-script-modules/collectionfactory.d.ts +24 -0
  50. package/generated/render-script-modules/collectionproxy.d.ts +39 -0
  51. package/generated/render-script-modules/factory.d.ts +24 -0
  52. package/generated/render-script-modules/go.d.ts +434 -0
  53. package/generated/render-script-modules/label.d.ts +105 -0
  54. package/generated/render-script-modules/model.d.ts +121 -0
  55. package/generated/render-script-modules/particlefx.d.ts +59 -0
  56. package/generated/render-script-modules/physics.d.ts +333 -0
  57. package/generated/render-script-modules/resource.d.ts +1232 -0
  58. package/generated/render-script-modules/sound.d.ts +227 -0
  59. package/generated/render-script-modules/sprite.d.ts +68 -0
  60. package/generated/render-script-modules/tilemap.d.ts +43 -0
  61. package/generated/render.d.ts +172 -47
  62. package/generated/resource.d.ts +81 -61
  63. package/generated/socket.d.ts +18 -23
  64. package/generated/sound.d.ts +6 -6
  65. package/generated/sprite.d.ts +51 -3
  66. package/generated/sys.d.ts +87 -24
  67. package/generated/tilemap.d.ts +3 -3
  68. package/generated/timer.d.ts +3 -3
  69. package/generated/versions/defold-1.12.4/b2d.d.ts +2 -2
  70. package/generated/versions/defold-1.12.4/b2d_body.d.ts +2 -2
  71. package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
  72. package/generated/versions/defold-1.12.4/go.d.ts +117 -345
  73. package/generated/versions/defold-1.12.4/graphics.d.ts +2 -1
  74. package/generated/versions/defold-1.12.4/gui.d.ts +169 -532
  75. package/generated/versions/defold-1.12.4/http.d.ts +2 -2
  76. package/generated/versions/defold-1.12.4/image.d.ts +82 -2
  77. package/generated/versions/defold-1.12.4/index.d.ts +1 -0
  78. package/generated/versions/defold-1.12.4/label.d.ts +1 -1
  79. package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
  80. package/generated/versions/defold-1.12.4/model.d.ts +42 -10
  81. package/generated/versions/defold-1.12.4/particlefx.d.ts +23 -2
  82. package/generated/versions/defold-1.12.4/physics.d.ts +46 -2
  83. package/generated/versions/defold-1.12.4/render.d.ts +83 -7
  84. package/generated/versions/defold-1.12.4/resource.d.ts +50 -17
  85. package/generated/versions/defold-1.12.4/socket.d.ts +12 -12
  86. package/generated/versions/defold-1.12.4/sound.d.ts +1 -1
  87. package/generated/versions/defold-1.12.4/sprite.d.ts +59 -2
  88. package/generated/versions/defold-1.12.4/sys.d.ts +103 -8
  89. package/generated/versions/defold-1.12.4/tilemap.d.ts +1 -1
  90. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
  91. package/generated/versions/defold-1.12.4/window.d.ts +3 -4
  92. package/generated/versions/defold-1.13.0/b2d.d.ts +2 -2
  93. package/generated/versions/defold-1.13.0/b2d_body.d.ts +2 -2
  94. package/generated/versions/defold-1.13.0/b2d_chain.d.ts +1 -1
  95. package/generated/versions/defold-1.13.0/b2d_joint.d.ts +1 -1
  96. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +1 -1
  97. package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
  98. package/generated/versions/defold-1.13.0/camera.d.ts +1 -1
  99. package/generated/versions/defold-1.13.0/go.d.ts +117 -372
  100. package/generated/versions/defold-1.13.0/graphics.d.ts +2 -1
  101. package/generated/versions/defold-1.13.0/gui.d.ts +169 -532
  102. package/generated/versions/defold-1.13.0/http.d.ts +2 -2
  103. package/generated/versions/defold-1.13.0/image.d.ts +82 -2
  104. package/generated/versions/defold-1.13.0/index.d.ts +1 -0
  105. package/generated/versions/defold-1.13.0/label.d.ts +1 -1
  106. package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
  107. package/generated/versions/defold-1.13.0/material.d.ts +3 -1
  108. package/generated/versions/defold-1.13.0/model.d.ts +42 -10
  109. package/generated/versions/defold-1.13.0/particlefx.d.ts +23 -2
  110. package/generated/versions/defold-1.13.0/physics.d.ts +46 -2
  111. package/generated/versions/defold-1.13.0/render.d.ts +147 -9
  112. package/generated/versions/defold-1.13.0/resource.d.ts +50 -17
  113. package/generated/versions/defold-1.13.0/socket.d.ts +12 -12
  114. package/generated/versions/defold-1.13.0/sound.d.ts +1 -1
  115. package/generated/versions/defold-1.13.0/sprite.d.ts +59 -2
  116. package/generated/versions/defold-1.13.0/sys.d.ts +103 -8
  117. package/generated/versions/defold-1.13.0/tilemap.d.ts +1 -1
  118. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
  119. package/generated/versions/defold-1.13.0/window.d.ts +3 -4
  120. package/generated/versions/defold-1.13.1/b2d.d.ts +2 -2
  121. package/generated/versions/defold-1.13.1/b2d_body.d.ts +2 -2
  122. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +1 -1
  123. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +1 -1
  124. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +1 -1
  125. package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
  126. package/generated/versions/defold-1.13.1/camera.d.ts +1 -1
  127. package/generated/versions/defold-1.13.1/go.d.ts +117 -372
  128. package/generated/versions/defold-1.13.1/graphics.d.ts +2 -1
  129. package/generated/versions/defold-1.13.1/gui.d.ts +169 -548
  130. package/generated/versions/defold-1.13.1/http.d.ts +2 -2
  131. package/generated/versions/defold-1.13.1/image.d.ts +82 -2
  132. package/generated/versions/defold-1.13.1/index.d.ts +2 -0
  133. package/generated/versions/defold-1.13.1/label.d.ts +1 -1
  134. package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
  135. package/generated/versions/defold-1.13.1/material.d.ts +3 -1
  136. package/generated/versions/defold-1.13.1/model.d.ts +42 -10
  137. package/generated/versions/defold-1.13.1/particlefx.d.ts +23 -2
  138. package/generated/versions/defold-1.13.1/physics.d.ts +46 -2
  139. package/generated/versions/defold-1.13.1/render.d.ts +147 -9
  140. package/generated/versions/defold-1.13.1/resource.d.ts +50 -17
  141. package/generated/versions/defold-1.13.1/socket.d.ts +12 -12
  142. package/generated/versions/defold-1.13.1/sound.d.ts +1 -1
  143. package/generated/versions/defold-1.13.1/sprite.d.ts +59 -2
  144. package/generated/versions/defold-1.13.1/sys.d.ts +103 -8
  145. package/generated/versions/defold-1.13.1/tilemap.d.ts +1 -1
  146. package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
  147. package/generated/versions/defold-1.13.1/window.d.ts +3 -4
  148. package/generated/versions/defold-1.13.2/b2d.d.ts +39 -39
  149. package/generated/versions/defold-1.13.2/b2d_body.d.ts +11 -11
  150. package/generated/versions/defold-1.13.2/b2d_chain.d.ts +3 -3
  151. package/generated/versions/defold-1.13.2/b2d_fixture.d.ts +5 -5
  152. package/generated/versions/defold-1.13.2/b2d_joint.d.ts +29 -29
  153. package/generated/versions/defold-1.13.2/b2d_shape.d.ts +13 -13
  154. package/generated/versions/defold-1.13.2/b2d_world.d.ts +15 -15
  155. package/generated/versions/defold-1.13.2/buffer.d.ts +10 -11
  156. package/generated/versions/defold-1.13.2/bullet3d.d.ts +6 -6
  157. package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +10 -10
  158. package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +173 -71
  159. package/generated/versions/defold-1.13.2/bullet3d_rigid_body.d.ts +3 -3
  160. package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +11 -11
  161. package/generated/versions/defold-1.13.2/bullet3d_world.d.ts +20 -20
  162. package/generated/versions/defold-1.13.2/camera.d.ts +4 -4
  163. package/generated/versions/defold-1.13.2/collectionfactory.d.ts +2 -3
  164. package/generated/versions/defold-1.13.2/collectionproxy.d.ts +5 -5
  165. package/generated/versions/defold-1.13.2/compute.d.ts +5 -5
  166. package/generated/versions/defold-1.13.2/crash.d.ts +7 -7
  167. package/generated/versions/defold-1.13.2/editor-vm/http.d.ts +13 -13
  168. package/generated/versions/defold-1.13.2/editor-vm/image.d.ts +4 -4
  169. package/generated/versions/defold-1.13.2/editor-vm/json.d.ts +1 -1
  170. package/generated/versions/defold-1.13.2/editor-vm/tilemap_tiles.d.ts +9 -9
  171. package/generated/versions/defold-1.13.2/editor-vm/zip.d.ts +4 -4
  172. package/generated/versions/defold-1.13.2/editor.d.ts +183 -183
  173. package/generated/versions/defold-1.13.2/factory.d.ts +2 -3
  174. package/generated/versions/defold-1.13.2/font.d.ts +4 -4
  175. package/generated/versions/defold-1.13.2/go.d.ts +122 -230
  176. package/generated/versions/defold-1.13.2/graphics.d.ts +22 -24
  177. package/generated/versions/defold-1.13.2/gui.d.ts +186 -423
  178. package/generated/versions/defold-1.13.2/http.d.ts +3 -3
  179. package/generated/versions/defold-1.13.2/image.d.ts +63 -11
  180. package/generated/versions/defold-1.13.2/index.d.ts +2 -0
  181. package/generated/versions/defold-1.13.2/json.d.ts +4 -4
  182. package/generated/versions/defold-1.13.2/label.d.ts +5 -5
  183. package/generated/versions/defold-1.13.2/liveupdate.d.ts +7 -3
  184. package/generated/versions/defold-1.13.2/material.d.ts +49 -49
  185. package/generated/versions/defold-1.13.2/model.d.ts +46 -14
  186. package/generated/versions/defold-1.13.2/particlefx.d.ts +24 -5
  187. package/generated/versions/defold-1.13.2/physics.d.ts +64 -20
  188. package/generated/versions/defold-1.13.2/profiler.d.ts +3 -5
  189. package/generated/versions/defold-1.13.2/render.d.ts +161 -46
  190. package/generated/versions/defold-1.13.2/resource.d.ts +81 -61
  191. package/generated/versions/defold-1.13.2/socket.d.ts +18 -23
  192. package/generated/versions/defold-1.13.2/sound.d.ts +6 -6
  193. package/generated/versions/defold-1.13.2/sprite.d.ts +51 -3
  194. package/generated/versions/defold-1.13.2/sys.d.ts +87 -24
  195. package/generated/versions/defold-1.13.2/tilemap.d.ts +3 -3
  196. package/generated/versions/defold-1.13.2/timer.d.ts +3 -3
  197. package/generated/versions/defold-1.13.2/vmath.d.ts +0 -25
  198. package/generated/versions/defold-1.13.2/window.d.ts +8 -10
  199. package/generated/vmath.d.ts +0 -25
  200. package/generated/window.d.ts +8 -10
  201. package/identity-vocabulary.json +86 -34
  202. package/index.d.ts +2 -0
  203. package/package.json +3 -1
  204. package/scripts/generate-api-availability.ts +10 -24
  205. package/scripts/generate-api-signatures.ts +75 -14
  206. package/scripts/materialize-version.ts +48 -7
  207. package/scripts/regen.ts +214 -19
  208. package/scripts/shared-handle-methods.ts +3 -2
  209. package/scripts/signature-store-fs.ts +1 -0
  210. package/scripts/target-version.ts +26 -0
  211. package/src/api-doc.ts +34 -0
  212. package/src/api-identity.ts +32 -1
  213. package/src/component-properties.d.ts +96 -7
  214. package/src/core-types.ts +71 -28
  215. package/src/doc-corrections.ts +62 -5
  216. package/src/emit-dts.ts +1423 -401
  217. package/src/engine-globals.d.ts +5 -1
  218. package/src/engine-type-name.ts +33 -0
  219. package/src/go-overloads.d.ts +74 -19
  220. package/src/gui-overloads.d.ts +489 -0
  221. package/src/gui-texture-removal.d.ts +41 -0
  222. package/src/index.ts +3 -0
  223. package/src/lifecycle.ts +32 -23
  224. package/src/msg-overloads.d.ts +25 -13
  225. package/src/signature-store.ts +50 -0
  226. package/src/socket-types.d.ts +3 -3
  227. package/src/timers.d.ts +2 -1
  228. package/src/vmath-overloads.d.ts +26 -0
@@ -0,0 +1,711 @@
1
+ /** @noSelfInFile */
2
+ import type { Hash, Opaque, Vector3 } from "../../src/core-types";
3
+
4
+ declare global {
5
+ /**
6
+ * Functions for interacting with Box2D.
7
+ */
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
+ }
22
+ type B2Body = Opaque<"b2Body">;
23
+ type B2World = Opaque<"b2World">;
24
+ /**
25
+ * Box2D 3.x chain definition
26
+ */
27
+ interface ChainDefinition {
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.FilterOptions;
60
+ /**
61
+ * Whether to enable sensor events.
62
+ */
63
+ enable_sensor_events?: boolean;
64
+ }
65
+ /**
66
+ * Box2D chain geometry
67
+ */
68
+ interface ChainGeometry {
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 ContactData {
94
+ /**
95
+ * First contact shape.
96
+ */
97
+ shape_a: b2d.ShapeInfo;
98
+ /**
99
+ * Second contact shape.
100
+ */
101
+ shape_b: b2d.ShapeInfo;
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.ContactPoint[];
118
+ }
119
+ /**
120
+ * Box2D contact manifold point
121
+ */
122
+ interface ContactPoint {
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 ExplosionDefinition {
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 FilterOptions {
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 FixtureCastHit {
227
+ /**
228
+ * Hit fixture.
229
+ */
230
+ fixture: b2d.FixtureInfo;
231
+ /**
232
+ * Hit fixture child shape.
233
+ */
234
+ shape: b2d.FixtureInfo;
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 FixtureDefinition {
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 FixtureInfo {
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.ShapeType;
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 MassData {
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 MoverCapsule {
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 MoverPlane {
368
+ /**
369
+ * Colliding shape.
370
+ */
371
+ shape: b2d.ShapeInfo;
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 QueryFilter {
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 ShapeCastHit {
406
+ /**
407
+ * Hit shape.
408
+ */
409
+ shape: b2d.ShapeInfo;
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 ShapeCastOutput {
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 ShapeCreateDefinition = { shape: b2d.shape.Definition; density?: number; friction?: number; restitution?: number; material?: number; sensor?: boolean; is_sensor?: boolean; filter?: b2d.Filter } | { type: b2d.shape.ShapeType; 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 ShapeInfo {
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.ShapeType;
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 TreeStats {
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 VersionInfo {
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 WorldCounters {
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 WorldProfile {
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
+ }
687
+ /**
688
+ * Returns the id of the game object that owns the body's collision-object component.
689
+ * Raises a Lua error if the body handle is invalid or its game object has been deleted.
690
+ *
691
+ * @param body - the Box2D body
692
+ * @returns the game object id, or `nil` if the body has no associated game object
693
+ * @example
694
+ * ```ts
695
+ * const body = b2d.get_body("#collisionobject");
696
+ * if (body !== undefined) {
697
+ * const id = b2d.get_gameobject_id(body);
698
+ * }
699
+ * ```
700
+ */
701
+ function get_gameobject_id(body: Opaque<"b2Body">): Hash | undefined;
702
+ /**
703
+ * Get the Box2D version information for the active backend.
704
+ *
705
+ * @returns version information
706
+ */
707
+ function get_version(): b2d.VersionInfo;
708
+ }
709
+ }
710
+
711
+ export {};