@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.
- package/api-availability.json +3963 -772
- package/api-migrations.json +27 -0
- package/api-signatures.json +18069 -10240
- package/api-targets.json +448 -11
- package/examples/translations.json +560 -89
- package/fixtures/messages_doc.json +96 -0
- package/generated/b2d.d.ts +680 -4
- package/generated/b2d_body.d.ts +29 -103
- package/generated/b2d_chain.d.ts +5 -6
- package/generated/b2d_fixture.d.ts +34 -38
- package/generated/b2d_joint.d.ts +503 -25
- package/generated/b2d_shape.d.ts +183 -20
- package/generated/b2d_world.d.ts +57 -63
- package/generated/buffer.d.ts +16 -15
- package/generated/builtin-messages.d.ts +7 -1
- package/generated/bullet3d.d.ts +91 -0
- package/generated/bullet3d_collision_object.d.ts +433 -0
- package/generated/bullet3d_constraint.d.ts +818 -0
- package/generated/bullet3d_rigid_body.d.ts +429 -0
- package/generated/bullet3d_shape.d.ts +123 -0
- package/generated/bullet3d_world.d.ts +492 -0
- package/generated/camera.d.ts +29 -32
- package/generated/collectionfactory.d.ts +15 -18
- package/generated/collectionproxy.d.ts +22 -6
- package/generated/compute.d.ts +12 -238
- package/generated/crash.d.ts +24 -10
- package/generated/editor-vm/http.d.ts +90 -7
- package/generated/editor-vm/image.d.ts +7 -7
- package/generated/editor-vm/json.d.ts +11 -0
- package/generated/editor-vm/localization.d.ts +7 -7
- package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
- package/generated/editor-vm/zip.d.ts +28 -0
- package/generated/editor.d.ts +1496 -430
- package/generated/factory.d.ts +21 -25
- package/generated/font.d.ts +64 -22
- package/generated/go.d.ts +235 -182
- package/generated/graphics.d.ts +335 -97
- package/generated/gui.d.ts +240 -471
- package/generated/html5.d.ts +2 -2
- package/generated/http.d.ts +28 -35
- package/generated/image.d.ts +105 -72
- package/generated/json.d.ts +34 -16
- package/generated/kinds/gui-script.d.ts +7 -0
- package/generated/kinds/render-script.d.ts +7 -0
- package/generated/kinds/script.d.ts +7 -0
- package/generated/label.d.ts +77 -7
- package/generated/liveupdate.d.ts +13 -10
- package/generated/material.d.ts +312 -360
- package/generated/model.d.ts +40 -39
- package/generated/particlefx.d.ts +19 -28
- package/generated/physics.d.ts +365 -133
- package/generated/profiler.d.ts +13 -23
- package/generated/render.d.ts +237 -297
- package/generated/resource.d.ts +664 -583
- package/generated/socket.d.ts +120 -133
- package/generated/sound.d.ts +62 -31
- package/generated/sprite.d.ts +31 -17
- package/generated/sys.d.ts +234 -190
- package/generated/tilemap.d.ts +21 -16
- package/generated/timer.d.ts +34 -21
- package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
- package/generated/versions/defold-1.12.4/buffer.d.ts +1 -3
- package/generated/versions/defold-1.12.4/camera.d.ts +21 -21
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +9 -9
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
- package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
- package/generated/versions/defold-1.12.4/go.d.ts +6 -12
- package/generated/versions/defold-1.12.4/gui.d.ts +77 -175
- package/generated/versions/defold-1.12.4/html5.d.ts +1 -1
- package/generated/versions/defold-1.12.4/http.d.ts +0 -13
- package/generated/versions/defold-1.12.4/image.d.ts +16 -33
- package/generated/versions/defold-1.12.4/index.d.ts +1 -0
- package/generated/versions/defold-1.12.4/json.d.ts +10 -6
- package/generated/versions/defold-1.12.4/label.d.ts +2 -3
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
- package/generated/versions/defold-1.12.4/model.d.ts +2 -10
- package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
- package/generated/versions/defold-1.12.4/physics.d.ts +69 -67
- package/generated/versions/defold-1.12.4/profiler.d.ts +2 -5
- package/generated/versions/defold-1.12.4/render.d.ts +99 -128
- package/generated/versions/defold-1.12.4/resource.d.ts +120 -148
- package/generated/versions/defold-1.12.4/socket.d.ts +34 -60
- package/generated/versions/defold-1.12.4/sound.d.ts +8 -8
- package/generated/versions/defold-1.12.4/sprite.d.ts +15 -5
- package/generated/versions/defold-1.12.4/sys.d.ts +37 -71
- package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
- package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
- package/generated/versions/defold-1.12.4/vmath.d.ts +0 -21
- package/generated/versions/defold-1.12.4/window.d.ts +1 -16
- package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
- package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
- package/generated/versions/defold-1.13.0/b2d_shape.d.ts +169 -8
- package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
- package/generated/versions/defold-1.13.0/buffer.d.ts +1 -3
- package/generated/versions/defold-1.13.0/camera.d.ts +25 -25
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +9 -9
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.13.0/compute.d.ts +0 -69
- package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
- package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
- package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
- package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
- package/generated/versions/defold-1.13.0/go.d.ts +6 -12
- package/generated/versions/defold-1.13.0/graphics.d.ts +73 -37
- package/generated/versions/defold-1.13.0/gui.d.ts +77 -175
- package/generated/versions/defold-1.13.0/html5.d.ts +1 -1
- package/generated/versions/defold-1.13.0/http.d.ts +0 -13
- package/generated/versions/defold-1.13.0/image.d.ts +16 -33
- package/generated/versions/defold-1.13.0/index.d.ts +1 -0
- package/generated/versions/defold-1.13.0/json.d.ts +10 -6
- package/generated/versions/defold-1.13.0/label.d.ts +2 -3
- package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
- package/generated/versions/defold-1.13.0/material.d.ts +68 -106
- package/generated/versions/defold-1.13.0/model.d.ts +2 -10
- package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
- package/generated/versions/defold-1.13.0/physics.d.ts +69 -67
- package/generated/versions/defold-1.13.0/profiler.d.ts +2 -5
- package/generated/versions/defold-1.13.0/render.d.ts +99 -128
- package/generated/versions/defold-1.13.0/resource.d.ts +126 -150
- package/generated/versions/defold-1.13.0/socket.d.ts +34 -60
- package/generated/versions/defold-1.13.0/sound.d.ts +8 -8
- package/generated/versions/defold-1.13.0/sprite.d.ts +15 -5
- package/generated/versions/defold-1.13.0/sys.d.ts +37 -71
- package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
- package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
- package/generated/versions/defold-1.13.0/vmath.d.ts +0 -21
- package/generated/versions/defold-1.13.0/window.d.ts +1 -16
- package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
- package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
- package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
- package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
- package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
- package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
- package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
- package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
- package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
- package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
- package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
- package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
- package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
- package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
- package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
- package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
- package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
- package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
- package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
- package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
- package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
- package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
- package/generated/versions/defold-1.13.1/font.d.ts +81 -0
- package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
- package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
- package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
- package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
- package/generated/versions/defold-1.13.1/http.d.ts +77 -0
- package/generated/versions/defold-1.13.1/image.d.ts +131 -0
- package/generated/versions/defold-1.13.1/index.d.ts +57 -0
- package/generated/versions/defold-1.13.1/json.d.ts +80 -0
- package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
- package/generated/versions/defold-1.13.1/label.d.ts +93 -0
- package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
- package/generated/versions/defold-1.13.1/material.d.ts +408 -0
- package/generated/versions/defold-1.13.1/model.d.ts +272 -0
- package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
- package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
- package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
- package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
- package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
- package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
- package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
- package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
- package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
- package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
- package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
- package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
- package/generated/versions/defold-1.13.1/types.d.ts +61 -0
- package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
- package/generated/versions/defold-1.13.1/window.d.ts +183 -0
- package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
- package/generated/vmath.d.ts +1 -21
- package/generated/window.d.ts +71 -71
- package/identity-vocabulary.json +561 -0
- package/index.d.ts +7 -0
- package/package.json +18 -2
- package/scripts/example-store-io.ts +12 -1
- package/scripts/extension-goldens.ts +1 -0
- package/scripts/fidelity-baseline.json +146 -46
- package/scripts/generate-api-availability.ts +90 -12
- package/scripts/generate-api-signatures.ts +12 -2
- package/scripts/import-defold-release.ts +106 -26
- package/scripts/prose-constants.ts +77 -16
- package/scripts/regen.ts +391 -77
- package/scripts/shared-handle-methods.ts +53 -0
- package/scripts/signature-store-fs.ts +1 -0
- package/scripts/sync-api-docs.ts +48 -10
- package/src/api-availability.ts +0 -0
- package/src/api-doc.ts +201 -3
- package/src/api-identity.ts +252 -0
- package/src/core-types.ts +26 -3
- package/src/correction-pins.ts +49 -0
- package/src/doc-comment.ts +104 -11
- package/src/doc-corrections.ts +108 -0
- package/src/editor-vm-globals.d.ts +5 -2
- package/src/emit-dts.ts +2064 -281
- package/src/emit-messages.ts +52 -0
- package/src/example-store.ts +125 -14
- package/src/field-correction-coverage.ts +204 -0
- package/src/fnv1a.ts +16 -0
- package/src/go-overloads.d.ts +25 -6
- package/src/index-base-table.ts +145 -0
- package/src/index-slot-classifications.ts +588 -0
- package/src/index.ts +38 -5
- package/src/library-index-slot-classifications.ts +332 -0
- package/src/lifecycle.ts +61 -199
- package/src/luals-type-expr.ts +354 -0
- package/src/msg-overloads.d.ts +0 -1
- package/src/param-correction-provenance.ts +8 -11
- package/src/render-overloads.d.ts +0 -15
- package/src/return-correction-provenance.ts +58 -16
- package/src/sys-overloads.d.ts +48 -0
- package/src/vmath-overloads.d.ts +27 -1
- package/src/window-event-guard.d.ts +6 -9
- package/url-parameters.json +1 -2
package/generated/physics.d.ts
CHANGED
|
@@ -6,33 +6,232 @@ declare global {
|
|
|
6
6
|
* Collision object physics API documentation
|
|
7
7
|
*/
|
|
8
8
|
namespace physics {
|
|
9
|
+
type event = BuiltinMessages["contact_point_event"] | BuiltinMessages["collision_event"] | BuiltinMessages["trigger_event"] | BuiltinMessages["ray_cast_response"] | BuiltinMessages["ray_cast_missed"];
|
|
9
10
|
/**
|
|
10
|
-
* The
|
|
11
|
+
* The available fields depend on the joint type.
|
|
12
|
+
*/
|
|
13
|
+
interface joint_properties {
|
|
14
|
+
/**
|
|
15
|
+
* whether the connected objects should collide
|
|
16
|
+
*/
|
|
17
|
+
collide_connected?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Natural spring length between the anchor points.
|
|
20
|
+
*/
|
|
21
|
+
length?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Mass-spring-damper frequency in Hertz; zero disables softness.
|
|
24
|
+
*/
|
|
25
|
+
frequency?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Damping ratio, where zero is no damping and one is critical damping.
|
|
28
|
+
*/
|
|
29
|
+
damping?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Maximum fixed-joint rope length.
|
|
32
|
+
*/
|
|
33
|
+
max_length?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Local translation unit axis in the first body.
|
|
36
|
+
*/
|
|
37
|
+
local_axis_a?: Vector3;
|
|
38
|
+
/**
|
|
39
|
+
* Angle of the second body relative to the first body, in radians.
|
|
40
|
+
*/
|
|
41
|
+
reference_angle?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Lower angular limit in radians.
|
|
44
|
+
*/
|
|
45
|
+
lower_angle?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Upper angular limit in radians.
|
|
48
|
+
*/
|
|
49
|
+
upper_angle?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Lower translation limit, usually in meters.
|
|
52
|
+
*/
|
|
53
|
+
lower_translation?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Upper translation limit, usually in meters.
|
|
56
|
+
*/
|
|
57
|
+
upper_translation?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Maximum motor torque used to reach the desired speed, usually in N-m.
|
|
60
|
+
*/
|
|
61
|
+
max_motor_torque?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Maximum motor force used to reach the desired speed.
|
|
64
|
+
*/
|
|
65
|
+
max_motor_force?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Desired motor speed.
|
|
68
|
+
*/
|
|
69
|
+
motor_speed?: number;
|
|
70
|
+
/**
|
|
71
|
+
* Whether joint limits are enabled.
|
|
72
|
+
*/
|
|
73
|
+
enable_limit?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Whether the joint motor is enabled.
|
|
76
|
+
*/
|
|
77
|
+
enable_motor?: boolean;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The available optional fields depend on the joint type.
|
|
81
|
+
*/
|
|
82
|
+
interface joint_properties_info {
|
|
83
|
+
/**
|
|
84
|
+
* whether the connected objects collide
|
|
85
|
+
*/
|
|
86
|
+
collide_connected: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* spring length
|
|
89
|
+
*/
|
|
90
|
+
length?: number;
|
|
91
|
+
/**
|
|
92
|
+
* spring frequency
|
|
93
|
+
*/
|
|
94
|
+
frequency?: number;
|
|
95
|
+
/**
|
|
96
|
+
* damping ratio
|
|
97
|
+
*/
|
|
98
|
+
damping?: number;
|
|
99
|
+
/**
|
|
100
|
+
* fixed-joint maximum length
|
|
101
|
+
*/
|
|
102
|
+
max_length?: number;
|
|
103
|
+
/**
|
|
104
|
+
* local joint axis
|
|
105
|
+
*/
|
|
106
|
+
local_axis_a?: Vector3;
|
|
107
|
+
/**
|
|
108
|
+
* reference angle
|
|
109
|
+
*/
|
|
110
|
+
reference_angle?: number;
|
|
111
|
+
/**
|
|
112
|
+
* lower angular limit
|
|
113
|
+
*/
|
|
114
|
+
lower_angle?: number;
|
|
115
|
+
/**
|
|
116
|
+
* upper angular limit
|
|
117
|
+
*/
|
|
118
|
+
upper_angle?: number;
|
|
119
|
+
/**
|
|
120
|
+
* lower translation limit
|
|
121
|
+
*/
|
|
122
|
+
lower_translation?: number;
|
|
123
|
+
/**
|
|
124
|
+
* upper translation limit
|
|
125
|
+
*/
|
|
126
|
+
upper_translation?: number;
|
|
127
|
+
/**
|
|
128
|
+
* maximum motor torque
|
|
129
|
+
*/
|
|
130
|
+
max_motor_torque?: number;
|
|
131
|
+
/**
|
|
132
|
+
* maximum motor force
|
|
133
|
+
*/
|
|
134
|
+
max_motor_force?: number;
|
|
135
|
+
/**
|
|
136
|
+
* motor speed
|
|
137
|
+
*/
|
|
138
|
+
motor_speed?: number;
|
|
139
|
+
/**
|
|
140
|
+
* whether limits are enabled
|
|
141
|
+
*/
|
|
142
|
+
enable_limit?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* whether the motor is enabled
|
|
145
|
+
*/
|
|
146
|
+
enable_motor?: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* Read-only current hinge angle in radians.
|
|
149
|
+
*/
|
|
150
|
+
joint_angle?: number;
|
|
151
|
+
/**
|
|
152
|
+
* Read-only current hinge angular speed or slider/wheel translation speed.
|
|
153
|
+
*/
|
|
154
|
+
joint_speed?: number;
|
|
155
|
+
/**
|
|
156
|
+
* Read-only current slider or wheel translation, usually in meters.
|
|
157
|
+
*/
|
|
158
|
+
joint_translation?: number;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Ray-cast options
|
|
162
|
+
*/
|
|
163
|
+
interface raycast_options {
|
|
164
|
+
/**
|
|
165
|
+
* Return every hit instead of only the closest hit.
|
|
166
|
+
*/
|
|
167
|
+
all?: boolean;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* The available geometry fields depend on `type`.
|
|
171
|
+
*/
|
|
172
|
+
interface shape_data {
|
|
173
|
+
/**
|
|
174
|
+
* shape type
|
|
175
|
+
*/
|
|
176
|
+
type: physics.SHAPE_TYPE;
|
|
177
|
+
/**
|
|
178
|
+
* sphere diameter or capsule pole diameter
|
|
179
|
+
*/
|
|
180
|
+
diameter?: number;
|
|
181
|
+
/**
|
|
182
|
+
* box dimensions
|
|
183
|
+
*/
|
|
184
|
+
dimensions?: Vector3;
|
|
185
|
+
/**
|
|
186
|
+
* capsule height
|
|
187
|
+
*/
|
|
188
|
+
height?: number;
|
|
189
|
+
}
|
|
190
|
+
type JOINT_TYPE = typeof physics.JOINT_TYPE_FIXED | typeof physics.JOINT_TYPE_HINGE | typeof physics.JOINT_TYPE_SLIDER | typeof physics.JOINT_TYPE_SPRING | typeof physics.JOINT_TYPE_WELD | typeof physics.JOINT_TYPE_WHEEL;
|
|
191
|
+
type SHAPE_TYPE = typeof physics.SHAPE_TYPE_BOX | typeof physics.SHAPE_TYPE_CAPSULE | typeof physics.SHAPE_TYPE_HULL | typeof physics.SHAPE_TYPE_MESH | typeof physics.SHAPE_TYPE_SPHERE;
|
|
192
|
+
/**
|
|
193
|
+
* Fixed joint; uses `max_length` from physics.joint_properties.
|
|
11
194
|
*/
|
|
12
195
|
const JOINT_TYPE_FIXED: number & { readonly __brand: "physics.JOINT_TYPE_FIXED" };
|
|
13
196
|
/**
|
|
14
|
-
*
|
|
197
|
+
* Hinge joint; uses the angular-limit and motor fields from physics.joint_properties.
|
|
15
198
|
*/
|
|
16
199
|
const JOINT_TYPE_HINGE: number & { readonly __brand: "physics.JOINT_TYPE_HINGE" };
|
|
17
200
|
/**
|
|
18
|
-
*
|
|
201
|
+
* Slider joint; uses the translation-limit and motor fields from physics.joint_properties.
|
|
19
202
|
*/
|
|
20
203
|
const JOINT_TYPE_SLIDER: number & { readonly __brand: "physics.JOINT_TYPE_SLIDER" };
|
|
21
204
|
/**
|
|
22
|
-
*
|
|
205
|
+
* Spring joint; uses `length`, `frequency`, and `damping` from physics.joint_properties.
|
|
23
206
|
*/
|
|
24
207
|
const JOINT_TYPE_SPRING: number & { readonly __brand: "physics.JOINT_TYPE_SPRING" };
|
|
25
208
|
/**
|
|
26
|
-
*
|
|
209
|
+
* Weld joint; uses `reference_angle`, `frequency`, and `damping` from physics.joint_properties.
|
|
27
210
|
*/
|
|
28
211
|
const JOINT_TYPE_WELD: number & { readonly __brand: "physics.JOINT_TYPE_WELD" };
|
|
29
212
|
/**
|
|
30
|
-
*
|
|
213
|
+
* Wheel joint; uses the axis, motor, frequency, and damping fields from physics.joint_properties.
|
|
31
214
|
*/
|
|
32
215
|
const JOINT_TYPE_WHEEL: number & { readonly __brand: "physics.JOINT_TYPE_WHEEL" };
|
|
216
|
+
/**
|
|
217
|
+
* Box shape.
|
|
218
|
+
*/
|
|
33
219
|
const SHAPE_TYPE_BOX: number & { readonly __brand: "physics.SHAPE_TYPE_BOX" };
|
|
220
|
+
/**
|
|
221
|
+
* Capsule shape; supported only by 3D physics.
|
|
222
|
+
*/
|
|
34
223
|
const SHAPE_TYPE_CAPSULE: number & { readonly __brand: "physics.SHAPE_TYPE_CAPSULE" };
|
|
224
|
+
/**
|
|
225
|
+
* Convex hull shape.
|
|
226
|
+
*/
|
|
35
227
|
const SHAPE_TYPE_HULL: number & { readonly __brand: "physics.SHAPE_TYPE_HULL" };
|
|
228
|
+
/**
|
|
229
|
+
* Triangle mesh shape; supported only by the Bullet 3D backend.
|
|
230
|
+
*/
|
|
231
|
+
const SHAPE_TYPE_MESH: number & { readonly __brand: "physics.SHAPE_TYPE_MESH" };
|
|
232
|
+
/**
|
|
233
|
+
* Sphere shape.
|
|
234
|
+
*/
|
|
36
235
|
const SHAPE_TYPE_SPHERE: number & { readonly __brand: "physics.SHAPE_TYPE_SPHERE" };
|
|
37
236
|
/**
|
|
38
237
|
* Create a physics joint between two collision object components.
|
|
@@ -44,11 +243,9 @@ declare global {
|
|
|
44
243
|
* @param position_a - local position where to attach the joint on the first collision object
|
|
45
244
|
* @param collisionobject_b - second collision object
|
|
46
245
|
* @param position_b - local position where to attach the joint on the second collision object
|
|
47
|
-
* @param properties - optional joint
|
|
48
|
-
* See each joint type for possible properties field. The one field that is accepted for all joint types is:
|
|
49
|
-
* - boolean `collide_connected`: Set this flag to true if the attached bodies should collide.
|
|
246
|
+
* @param properties - optional joint-specific properties
|
|
50
247
|
*/
|
|
51
|
-
function create_joint(joint_type:
|
|
248
|
+
function create_joint(joint_type: physics.JOINT_TYPE, collisionobject_a: string | Hash | Url, joint_id: string | Hash, position_a: Vector3, collisionobject_b: string | Hash | Url, position_b: Vector3, properties?: physics.joint_properties): void;
|
|
52
249
|
/**
|
|
53
250
|
* Destroy an already physics joint. The joint has to be created before a
|
|
54
251
|
* destroy can be issued.
|
|
@@ -82,12 +279,13 @@ declare global {
|
|
|
82
279
|
*
|
|
83
280
|
* @param url - the collision object to return the group of.
|
|
84
281
|
* @returns hash value of the group.
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```ts
|
|
284
|
+
* function check_is_enemy(): boolean {
|
|
285
|
+
* const group = physics.get_group("#collisionobject");
|
|
286
|
+
* return group === hash("enemy");
|
|
287
|
+
* }
|
|
288
|
+
* ```
|
|
91
289
|
*/
|
|
92
290
|
function get_group(url: string | Hash | Url): Hash;
|
|
93
291
|
/**
|
|
@@ -97,11 +295,9 @@ declare global {
|
|
|
97
295
|
*
|
|
98
296
|
* @param collisionobject - collision object where the joint exist
|
|
99
297
|
* @param joint_id - id of the joint
|
|
100
|
-
* @returns
|
|
101
|
-
*
|
|
102
|
-
* - boolean `collide_connected`: Set this flag to true if the attached bodies should collide.
|
|
298
|
+
* @returns joint properties
|
|
103
299
|
*/
|
|
104
|
-
function get_joint_properties(collisionobject: string | Hash | Url, joint_id: string | Hash):
|
|
300
|
+
function get_joint_properties(collisionobject: string | Hash | Url, joint_id: string | Hash): physics.joint_properties_info;
|
|
105
301
|
/**
|
|
106
302
|
* Get the reaction force for a joint. The joint has to be created before
|
|
107
303
|
* the reaction force can be calculated.
|
|
@@ -129,59 +325,32 @@ declare global {
|
|
|
129
325
|
* @param url - the collision object to check the mask of.
|
|
130
326
|
* @param group - the name of the group to check for.
|
|
131
327
|
* @returns boolean value of the maskbit. 'true' if present, 'false' otherwise.
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```ts
|
|
330
|
+
* function is_invincible(): boolean {
|
|
331
|
+
* // check if the collisionobject would collide with the "bullet" group
|
|
332
|
+
* const invincible = physics.get_maskbit("#collisionobject", "bullet");
|
|
333
|
+
* return invincible;
|
|
334
|
+
* }
|
|
335
|
+
* ```
|
|
139
336
|
*/
|
|
140
|
-
function get_maskbit(url: string | Hash | Url, group: string): boolean;
|
|
337
|
+
function get_maskbit(url: string | Hash | Url, group: string | Hash): boolean;
|
|
141
338
|
/**
|
|
142
339
|
* Gets collision shape data from a collision object
|
|
143
340
|
*
|
|
144
341
|
* @param url - the collision object.
|
|
145
342
|
* @param shape - the name of the shape to get data for.
|
|
146
|
-
* @returns
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
* - `physics.SHAPE_TYPE_CAPSULE` *Only supported for 3D physics*
|
|
156
|
-
*
|
|
157
|
-
* - `physics.SHAPE_TYPE_HULL`
|
|
158
|
-
*
|
|
159
|
-
* The returned table contains different fields depending on which type the shape is.
|
|
160
|
-
* If the shape is a sphere:
|
|
161
|
-
*
|
|
162
|
-
* `diameter`
|
|
163
|
-
* number the diameter of the sphere shape
|
|
164
|
-
*
|
|
165
|
-
* If the shape is a box:
|
|
166
|
-
*
|
|
167
|
-
* `dimensions`
|
|
168
|
-
* vector3 a `vmath.vector3` of the box dimensions
|
|
169
|
-
*
|
|
170
|
-
* If the shape is a capsule:
|
|
171
|
-
*
|
|
172
|
-
* `diameter`
|
|
173
|
-
* number the diameter of the capsule poles
|
|
174
|
-
* `height`
|
|
175
|
-
* number the height of the capsule
|
|
176
|
-
*
|
|
177
|
-
* `local function get_shape_meta()
|
|
178
|
-
* local sphere = physics.get_shape("#collisionobject", "my_sphere_shape")
|
|
179
|
-
* -- returns a table with sphere.diameter
|
|
180
|
-
* return sphere
|
|
181
|
-
* end
|
|
182
|
-
* `
|
|
343
|
+
* @returns collision shape data
|
|
344
|
+
* @example
|
|
345
|
+
* ```ts
|
|
346
|
+
* function get_shape_meta() {
|
|
347
|
+
* const sphere = physics.get_shape("#collisionobject", "my_sphere_shape");
|
|
348
|
+
* // returns a table with sphere.diameter
|
|
349
|
+
* return sphere;
|
|
350
|
+
* }
|
|
351
|
+
* ```
|
|
183
352
|
*/
|
|
184
|
-
function get_shape(url: string | Hash | Url, shape: string | Hash):
|
|
353
|
+
function get_shape(url: string | Hash | Url, shape: string | Hash): physics.shape_data;
|
|
185
354
|
/**
|
|
186
355
|
* Ray casts are used to test for intersections against collision objects in the physics world.
|
|
187
356
|
* Collision objects of types kinematic, dynamic and static are tested against. Trigger objects
|
|
@@ -193,10 +362,7 @@ declare global {
|
|
|
193
362
|
* @param from - the world position of the start of the ray
|
|
194
363
|
* @param to - the world position of the end of the ray
|
|
195
364
|
* @param groups - a lua table containing the hashed groups for which to test collisions against
|
|
196
|
-
* @param options -
|
|
197
|
-
*
|
|
198
|
-
* `all`
|
|
199
|
-
* boolean Set to `true` to return all ray cast hits. If `false`, it will only return the closest hit.
|
|
365
|
+
* @param options - optional ray-cast options
|
|
200
366
|
* @returns It returns a list. If missed it returns `nil`. See ray_cast_response for details on the returned values.
|
|
201
367
|
* @example
|
|
202
368
|
* ```ts
|
|
@@ -216,7 +382,8 @@ declare global {
|
|
|
216
382
|
* const to = vmath.vector3(from.x, from.y - 100, from.z);
|
|
217
383
|
* const results = physics.raycast(from, to, self.groups, { all: true });
|
|
218
384
|
* if (results !== undefined) {
|
|
219
|
-
*
|
|
385
|
+
* // with `all` set, the ray cast returns every hit as a list
|
|
386
|
+
* for (const result of Array.isArray(results) ? results : [results]) {
|
|
220
387
|
* handle_result(result);
|
|
221
388
|
* }
|
|
222
389
|
* }
|
|
@@ -224,7 +391,7 @@ declare global {
|
|
|
224
391
|
* });
|
|
225
392
|
* ```
|
|
226
393
|
*/
|
|
227
|
-
function raycast(from: Vector3, to: Vector3, groups: Hash[], options?:
|
|
394
|
+
function raycast(from: Vector3, to: Vector3, groups: Hash[], options?: physics.raycast_options): BuiltinMessages["ray_cast_response"][] | BuiltinMessages["ray_cast_response"] | undefined;
|
|
228
395
|
/**
|
|
229
396
|
* Ray casts are used to test for intersections against collision objects in the physics world.
|
|
230
397
|
* Collision objects of types kinematic, dynamic and static are tested against. Trigger objects
|
|
@@ -234,7 +401,6 @@ declare global {
|
|
|
234
401
|
* The actual ray cast will be performed during the physics-update.
|
|
235
402
|
*
|
|
236
403
|
* - If an object is hit, the result will be reported via a ray_cast_response message.
|
|
237
|
-
*
|
|
238
404
|
* - If there is no object hit, the result will be reported via a ray_cast_missed message.
|
|
239
405
|
*
|
|
240
406
|
* NOTE: Ray casts will ignore collision objects that contain the starting point of the ray. This is a limitation in Box2D.
|
|
@@ -273,25 +439,18 @@ declare global {
|
|
|
273
439
|
/**
|
|
274
440
|
* Only one physics world event listener can be set at a time.
|
|
275
441
|
*
|
|
276
|
-
* @param callback - A callback that receives
|
|
442
|
+
* @param callback - A callback that receives information about all physics interactions in this physics world. Pass `nil` to remove the listener.
|
|
277
443
|
*
|
|
278
444
|
* `self`
|
|
279
|
-
*
|
|
280
|
-
* `
|
|
281
|
-
*
|
|
445
|
+
* script_instance The calling script instance
|
|
446
|
+
* `events`
|
|
447
|
+
* physics.event[] An array of event tables. Each event table contains a `type` field with the hashed name of one of these messages, together with fields specific to that event type:
|
|
282
448
|
*
|
|
283
449
|
* - contact_point_event
|
|
284
|
-
*
|
|
285
450
|
* - collision_event
|
|
286
|
-
*
|
|
287
451
|
* - trigger_event
|
|
288
|
-
*
|
|
289
452
|
* - ray_cast_response
|
|
290
|
-
*
|
|
291
453
|
* - ray_cast_missed
|
|
292
|
-
*
|
|
293
|
-
* `data`
|
|
294
|
-
* table The callback value data is a table that contains event-related data. See the documentation for details on the messages.
|
|
295
454
|
* @example
|
|
296
455
|
* ```ts
|
|
297
456
|
* function physics_world_listener(self: unknown, events: unknown) {
|
|
@@ -374,7 +533,7 @@ declare global {
|
|
|
374
533
|
* });
|
|
375
534
|
* ```
|
|
376
535
|
*/
|
|
377
|
-
function set_event_listener(callback?: (self: unknown, events:
|
|
536
|
+
function set_event_listener(callback?: (self: unknown, events: physics.event[]) => void): void;
|
|
378
537
|
/**
|
|
379
538
|
* Set the gravity in runtime. The gravity change is not global, it will only affect
|
|
380
539
|
* the collection that the function is called from.
|
|
@@ -399,13 +558,14 @@ declare global {
|
|
|
399
558
|
*
|
|
400
559
|
* @param url - the collision object affected.
|
|
401
560
|
* @param group - the new group name to be assigned.
|
|
402
|
-
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
405
|
-
*
|
|
406
|
-
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```ts
|
|
563
|
+
* function change_collision_group() {
|
|
564
|
+
* physics.set_group("#collisionobject", "enemy");
|
|
565
|
+
* }
|
|
566
|
+
* ```
|
|
407
567
|
*/
|
|
408
|
-
function set_group(url: string | Hash | Url, group: string): void;
|
|
568
|
+
function set_group(url: string | Hash | Url, group: string | Hash): void;
|
|
409
569
|
/**
|
|
410
570
|
* Flips the collision shapes horizontally for a collision object
|
|
411
571
|
*
|
|
@@ -433,21 +593,22 @@ declare global {
|
|
|
433
593
|
* @param properties - joint specific properties table
|
|
434
594
|
* Note: The `collide_connected` field cannot be updated/changed after a connection has been made.
|
|
435
595
|
*/
|
|
436
|
-
function set_joint_properties(collisionobject: string | Hash | Url, joint_id: string | Hash, properties:
|
|
596
|
+
function set_joint_properties(collisionobject: string | Hash | Url, joint_id: string | Hash, properties: physics.joint_properties): void;
|
|
437
597
|
/**
|
|
438
598
|
* Sets or clears the masking of a group (maskbit) in a collision object.
|
|
439
599
|
*
|
|
440
600
|
* @param url - the collision object to change the mask of.
|
|
441
601
|
* @param group - the name of the group (maskbit) to modify in the mask.
|
|
442
602
|
* @param maskbit - boolean value of the new maskbit. 'true' to enable, 'false' to disable.
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
*
|
|
448
|
-
*
|
|
603
|
+
* @example
|
|
604
|
+
* ```ts
|
|
605
|
+
* function make_invincible() {
|
|
606
|
+
* // no longer collide with the "bullet" group
|
|
607
|
+
* physics.set_maskbit("#collisionobject", "bullet", false);
|
|
608
|
+
* }
|
|
609
|
+
* ```
|
|
449
610
|
*/
|
|
450
|
-
function set_maskbit(url: string | Hash | Url, group: string, maskbit: boolean): void;
|
|
611
|
+
function set_maskbit(url: string | Hash | Url, group: string | Hash, maskbit: boolean): void;
|
|
451
612
|
/**
|
|
452
613
|
* Sets collision shape data for a collision object. Please note that updating data in 3D
|
|
453
614
|
* can be quite costly for box and capsules. Because of the physics engine, the cost
|
|
@@ -455,32 +616,33 @@ declare global {
|
|
|
455
616
|
*
|
|
456
617
|
* @param url - the collision object.
|
|
457
618
|
* @param shape - the name of the shape to get data for.
|
|
458
|
-
* @param table -
|
|
459
|
-
*
|
|
460
|
-
*
|
|
461
|
-
*
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
*
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
*
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
*
|
|
475
|
-
*
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
482
|
-
|
|
483
|
-
|
|
619
|
+
* @param table - updated collision shape data
|
|
620
|
+
* Hull and mesh geometry cannot be changed with this function.
|
|
621
|
+
* @example
|
|
622
|
+
* ```ts
|
|
623
|
+
* function set_shape_data() {
|
|
624
|
+
* // set capsule shape data
|
|
625
|
+
* physics.set_shape("#collisionobject", "my_capsule_shape", {
|
|
626
|
+
* type: physics.SHAPE_TYPE_CAPSULE,
|
|
627
|
+
* diameter: 10,
|
|
628
|
+
* height: 20,
|
|
629
|
+
* });
|
|
630
|
+
*
|
|
631
|
+
* // set sphere shape data
|
|
632
|
+
* physics.set_shape("#collisionobject", "my_sphere_shape", {
|
|
633
|
+
* type: physics.SHAPE_TYPE_SPHERE,
|
|
634
|
+
* diameter: 10,
|
|
635
|
+
* });
|
|
636
|
+
*
|
|
637
|
+
* // set box shape data
|
|
638
|
+
* physics.set_shape("#collisionobject", "my_box_shape", {
|
|
639
|
+
* type: physics.SHAPE_TYPE_BOX,
|
|
640
|
+
* dimensions: vmath.vector3(10, 10, 5),
|
|
641
|
+
* });
|
|
642
|
+
* }
|
|
643
|
+
* ```
|
|
644
|
+
*/
|
|
645
|
+
function set_shape(url: string | Hash | Url, shape: string | Hash, table: physics.shape_data): void;
|
|
484
646
|
/**
|
|
485
647
|
* Flips the collision shapes vertically for a collision object
|
|
486
648
|
*
|
|
@@ -515,15 +677,85 @@ declare global {
|
|
|
515
677
|
* efficiency reasons. This function wakes them up.
|
|
516
678
|
*
|
|
517
679
|
* @param url - the collision object to wake.
|
|
518
|
-
*
|
|
519
|
-
*
|
|
520
|
-
*
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
*
|
|
524
|
-
*
|
|
680
|
+
* @example
|
|
681
|
+
* ```ts
|
|
682
|
+
* export default defineScript({
|
|
683
|
+
* on_input(self, action_id, action) {
|
|
684
|
+
* if (action_id === hash("test") && action.pressed) {
|
|
685
|
+
* physics.wakeup("#collisionobject");
|
|
686
|
+
* }
|
|
687
|
+
* },
|
|
688
|
+
* });
|
|
689
|
+
* ```
|
|
525
690
|
*/
|
|
526
691
|
function wakeup(url: string | Hash | Url): void;
|
|
692
|
+
namespace message {
|
|
693
|
+
namespace physics {
|
|
694
|
+
/**
|
|
695
|
+
* collision object information
|
|
696
|
+
*/
|
|
697
|
+
interface collision_info {
|
|
698
|
+
/**
|
|
699
|
+
* object position in world space
|
|
700
|
+
*/
|
|
701
|
+
position: Vector3;
|
|
702
|
+
/**
|
|
703
|
+
* object identifier
|
|
704
|
+
*/
|
|
705
|
+
id: Hash;
|
|
706
|
+
/**
|
|
707
|
+
* object collision group
|
|
708
|
+
*/
|
|
709
|
+
group: Hash;
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* contact-point object information
|
|
713
|
+
*/
|
|
714
|
+
interface contact_point_info {
|
|
715
|
+
/**
|
|
716
|
+
* contact point position in world space
|
|
717
|
+
*/
|
|
718
|
+
position: Vector3;
|
|
719
|
+
/**
|
|
720
|
+
* object position in world space
|
|
721
|
+
*/
|
|
722
|
+
instance_position: Vector3;
|
|
723
|
+
/**
|
|
724
|
+
* contact normal pointing from the other object toward this object
|
|
725
|
+
*/
|
|
726
|
+
normal: Vector3;
|
|
727
|
+
/**
|
|
728
|
+
* object velocity relative to the other object
|
|
729
|
+
*/
|
|
730
|
+
relative_velocity: Vector3;
|
|
731
|
+
/**
|
|
732
|
+
* object mass in kilograms
|
|
733
|
+
*/
|
|
734
|
+
mass: number;
|
|
735
|
+
/**
|
|
736
|
+
* object identifier
|
|
737
|
+
*/
|
|
738
|
+
id: Hash;
|
|
739
|
+
/**
|
|
740
|
+
* object collision group
|
|
741
|
+
*/
|
|
742
|
+
group: Hash;
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
* trigger interaction object information
|
|
746
|
+
*/
|
|
747
|
+
interface trigger_info {
|
|
748
|
+
/**
|
|
749
|
+
* object identifier
|
|
750
|
+
*/
|
|
751
|
+
id: Hash;
|
|
752
|
+
/**
|
|
753
|
+
* object collision group
|
|
754
|
+
*/
|
|
755
|
+
group: Hash;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
527
759
|
interface properties {
|
|
528
760
|
/**
|
|
529
761
|
* The angular damping value for the collision object. Setting this value alters the damping of
|
|
@@ -549,7 +781,7 @@ declare global {
|
|
|
549
781
|
/**
|
|
550
782
|
* READ ONLY Returns the defined physical mass of the collision object component as a number.
|
|
551
783
|
*/
|
|
552
|
-
mass: number;
|
|
784
|
+
readonly mass: number;
|
|
553
785
|
}
|
|
554
786
|
}
|
|
555
787
|
}
|