@defold-typescript/types 0.50.0 → 0.51.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-signatures.json +286 -232
- package/examples/translations.json +15 -15
- package/fixtures/messages_doc.json +20 -39
- package/generated/builtin-messages.d.ts +16 -14
- package/generated/collectionfactory.d.ts +1 -1
- package/generated/collectionproxy.d.ts +2 -2
- package/generated/factory.d.ts +4 -2
- package/generated/graphics.d.ts +4 -0
- package/generated/gui.d.ts +2 -2
- package/generated/http.d.ts +3 -1
- package/generated/image.d.ts +1 -1
- package/generated/kinds/gui-script.d.ts +1 -0
- package/generated/kinds/render-script.d.ts +1 -0
- package/generated/kinds/script.d.ts +1 -0
- package/generated/model.d.ts +4 -5
- package/generated/physics.d.ts +3 -3
- package/generated/render.d.ts +41 -13
- package/generated/sys.d.ts +8 -4
- package/generated/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.12.4/factory.d.ts +4 -2
- package/generated/versions/defold-1.12.4/gui.d.ts +2 -2
- package/generated/versions/defold-1.12.4/http.d.ts +3 -1
- package/generated/versions/defold-1.12.4/image.d.ts +1 -1
- package/generated/versions/defold-1.12.4/index.d.ts +1 -0
- package/generated/versions/defold-1.12.4/model.d.ts +4 -5
- package/generated/versions/defold-1.12.4/physics.d.ts +2 -2
- package/generated/versions/defold-1.12.4/render.d.ts +41 -13
- package/generated/versions/defold-1.12.4/sys.d.ts +1 -1
- package/generated/versions/defold-1.12.4/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.0/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.0/gui.d.ts +2 -2
- package/generated/versions/defold-1.13.0/http.d.ts +3 -1
- package/generated/versions/defold-1.13.0/image.d.ts +1 -1
- package/generated/versions/defold-1.13.0/index.d.ts +1 -0
- package/generated/versions/defold-1.13.0/model.d.ts +4 -5
- package/generated/versions/defold-1.13.0/physics.d.ts +2 -2
- package/generated/versions/defold-1.13.0/render.d.ts +41 -13
- package/generated/versions/defold-1.13.0/sys.d.ts +1 -1
- package/generated/versions/defold-1.13.0/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.1/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.1/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.1/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.1/gui.d.ts +2 -2
- package/generated/versions/defold-1.13.1/http.d.ts +3 -1
- package/generated/versions/defold-1.13.1/image.d.ts +1 -1
- package/generated/versions/defold-1.13.1/index.d.ts +1 -0
- package/generated/versions/defold-1.13.1/model.d.ts +4 -5
- package/generated/versions/defold-1.13.1/physics.d.ts +2 -2
- package/generated/versions/defold-1.13.1/render.d.ts +41 -13
- package/generated/versions/defold-1.13.1/sys.d.ts +1 -1
- package/generated/versions/defold-1.13.1/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.2/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.2/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.13.2/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.2/gui.d.ts +2 -2
- package/generated/versions/defold-1.13.2/http.d.ts +3 -1
- package/generated/versions/defold-1.13.2/image.d.ts +1 -1
- package/generated/versions/defold-1.13.2/index.d.ts +1 -0
- package/generated/versions/defold-1.13.2/model.d.ts +4 -5
- package/generated/versions/defold-1.13.2/physics.d.ts +3 -3
- package/generated/versions/defold-1.13.2/render.d.ts +41 -13
- package/generated/versions/defold-1.13.2/sys.d.ts +8 -4
- package/generated/versions/defold-1.13.2/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.2/window.d.ts +1 -1
- package/generated/window.d.ts +1 -1
- package/identity-vocabulary.json +46 -0
- package/index.d.ts +1 -0
- package/package.json +2 -1
- package/scripts/generate-api-availability.ts +5 -1
- package/scripts/generate-api-signatures.ts +16 -11
- package/scripts/materialize-version.ts +7 -1
- package/scripts/regen.ts +42 -25
- package/src/component-properties.d.ts +137 -6
- package/src/core-types.ts +46 -11
- package/src/emit-dts.ts +555 -84
- package/src/emit-messages.ts +289 -0
- package/src/engine-globals.d.ts +3 -1
- package/src/go-overloads.d.ts +13 -3
- package/src/lifecycle.ts +16 -16
- package/src/luals-type-expr.ts +6 -1
- package/src/physics-event-guard.d.ts +39 -0
- package/src/render-overloads.d.ts +2 -2
- package/src/return-correction-provenance.ts +36 -6
- package/src/window-event-guard.d.ts +5 -3
|
@@ -6,10 +6,11 @@ declare global {
|
|
|
6
6
|
* Rendering API documentation
|
|
7
7
|
*/
|
|
8
8
|
namespace render {
|
|
9
|
-
type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
9
|
+
type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
10
10
|
type render_target = Opaque<"render_target">;
|
|
11
11
|
type texture = Opaque<"texture">;
|
|
12
12
|
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
13
|
+
type RenderTargetParams = Record<string | number, unknown>;
|
|
13
14
|
/**
|
|
14
15
|
* The rendering context was lost. Rendering is paused and all graphics resources become invalid. Passed to the `render.set_listener` callback.
|
|
15
16
|
*/
|
|
@@ -104,7 +105,7 @@ declare global {
|
|
|
104
105
|
* constants.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
105
106
|
* ```
|
|
106
107
|
*/
|
|
107
|
-
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
108
|
+
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
108
109
|
/**
|
|
109
110
|
* Deletes a render target created by a render script.
|
|
110
111
|
* You cannot delete a render target resource.
|
|
@@ -117,9 +118,12 @@ declare global {
|
|
|
117
118
|
* return { my_render_target: render.render_target("my_target", {}) };
|
|
118
119
|
* },
|
|
119
120
|
*
|
|
120
|
-
* final
|
|
121
|
-
*
|
|
122
|
-
*
|
|
121
|
+
* // A render script has no final hook, so free the target on a message.
|
|
122
|
+
* on_message(self, message_id) {
|
|
123
|
+
* if (message_id === hash("release_target")) {
|
|
124
|
+
* // How to delete a render target:
|
|
125
|
+
* render.delete_render_target(self.my_render_target);
|
|
126
|
+
* }
|
|
123
127
|
* },
|
|
124
128
|
* });
|
|
125
129
|
* ```
|
|
@@ -182,8 +186,11 @@ declare global {
|
|
|
182
186
|
* ```ts
|
|
183
187
|
* export default defineRenderScript({
|
|
184
188
|
* init() {
|
|
189
|
+
* // the engine registers a texture format only when the driver supports it
|
|
190
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
191
|
+
* if (format === undefined) return undefined;
|
|
185
192
|
* const color_params = {
|
|
186
|
-
* format
|
|
193
|
+
* format,
|
|
187
194
|
* width: render.get_window_width(),
|
|
188
195
|
* height: render.get_window_height(),
|
|
189
196
|
* };
|
|
@@ -194,6 +201,7 @@ declare global {
|
|
|
194
201
|
* },
|
|
195
202
|
*
|
|
196
203
|
* update(self, dt) {
|
|
204
|
+
* if (self === undefined) return;
|
|
197
205
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
198
206
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
199
207
|
* // material shader.
|
|
@@ -223,8 +231,11 @@ declare global {
|
|
|
223
231
|
* ```ts
|
|
224
232
|
* export default defineRenderScript({
|
|
225
233
|
* init() {
|
|
234
|
+
* // the engine registers a texture format only when the driver supports it
|
|
235
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
236
|
+
* if (format === undefined) return undefined;
|
|
226
237
|
* const color_params = {
|
|
227
|
-
* format
|
|
238
|
+
* format,
|
|
228
239
|
* width: render.get_window_width(),
|
|
229
240
|
* height: render.get_window_height(),
|
|
230
241
|
* };
|
|
@@ -235,6 +246,7 @@ declare global {
|
|
|
235
246
|
* },
|
|
236
247
|
*
|
|
237
248
|
* update(self, dt) {
|
|
249
|
+
* if (self === undefined) return;
|
|
238
250
|
* render.set_compute("bloom");
|
|
239
251
|
* render.enable_texture(0, self.backing_texture);
|
|
240
252
|
* render.enable_texture(1, self.scene_rt);
|
|
@@ -251,7 +263,7 @@ declare global {
|
|
|
251
263
|
* render.dispatch_compute(32, 32, 32, { constants });
|
|
252
264
|
* ```
|
|
253
265
|
*/
|
|
254
|
-
function dispatch_compute(x: number, y: number, z: number, options?: { constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
266
|
+
function dispatch_compute(x: number, y: number, z: number, options?: { constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> } }): void;
|
|
255
267
|
/**
|
|
256
268
|
* Draws all objects that match a specified predicate. An optional constant buffer can be
|
|
257
269
|
* provided to override the default constants. If no constants buffer is provided, a default
|
|
@@ -313,7 +325,7 @@ declare global {
|
|
|
313
325
|
* }
|
|
314
326
|
* ```
|
|
315
327
|
*/
|
|
316
|
-
function draw(predicate: Opaque<"render_predicate">, options?: { frustum?: Matrix4; frustum_planes?: number; constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
328
|
+
function draw(predicate: Opaque<"render_predicate">, options?: { frustum?: Matrix4; frustum_planes?: number; constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> }; sort_order?: number }): void;
|
|
317
329
|
/**
|
|
318
330
|
* Draws all 3d debug graphics such as lines drawn with "draw_line" messages and physics visualization.
|
|
319
331
|
*
|
|
@@ -424,8 +436,11 @@ declare global {
|
|
|
424
436
|
* ```ts
|
|
425
437
|
* export default defineRenderScript({
|
|
426
438
|
* init() {
|
|
439
|
+
* // the engine registers a texture format only when the driver supports it
|
|
440
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
441
|
+
* if (format === undefined) return undefined;
|
|
427
442
|
* const color_params = {
|
|
428
|
-
* format
|
|
443
|
+
* format,
|
|
429
444
|
* width: render.get_window_width(),
|
|
430
445
|
* height: render.get_window_height(),
|
|
431
446
|
* };
|
|
@@ -436,6 +451,7 @@ declare global {
|
|
|
436
451
|
* },
|
|
437
452
|
*
|
|
438
453
|
* update(self, dt) {
|
|
454
|
+
* if (self === undefined) return;
|
|
439
455
|
* // enable target so all drawing is done to it
|
|
440
456
|
* render.set_render_target(self.my_render_target);
|
|
441
457
|
*
|
|
@@ -516,8 +532,11 @@ declare global {
|
|
|
516
532
|
* ```ts
|
|
517
533
|
* export default defineRenderScript({
|
|
518
534
|
* init() {
|
|
535
|
+
* // the engine registers a texture format only when the driver supports it
|
|
536
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
537
|
+
* if (format === undefined) return undefined;
|
|
519
538
|
* const color_params = {
|
|
520
|
-
* format
|
|
539
|
+
* format,
|
|
521
540
|
* width: render.get_window_width(),
|
|
522
541
|
* height: render.get_window_height(),
|
|
523
542
|
* };
|
|
@@ -529,6 +548,7 @@ declare global {
|
|
|
529
548
|
* },
|
|
530
549
|
*
|
|
531
550
|
* update(self, dt) {
|
|
551
|
+
* if (self === undefined) return;
|
|
532
552
|
* // get the height of the render target color buffer
|
|
533
553
|
* const h = render.get_render_target_height(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
534
554
|
* // get the height of a render target resource
|
|
@@ -553,8 +573,11 @@ declare global {
|
|
|
553
573
|
* ```ts
|
|
554
574
|
* export default defineRenderScript({
|
|
555
575
|
* init() {
|
|
576
|
+
* // the engine registers a texture format only when the driver supports it
|
|
577
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
578
|
+
* if (format === undefined) return undefined;
|
|
556
579
|
* const color_params = {
|
|
557
|
-
* format
|
|
580
|
+
* format,
|
|
558
581
|
* width: render.get_window_width(),
|
|
559
582
|
* height: render.get_window_height(),
|
|
560
583
|
* };
|
|
@@ -566,6 +589,7 @@ declare global {
|
|
|
566
589
|
* },
|
|
567
590
|
*
|
|
568
591
|
* update(self, dt) {
|
|
592
|
+
* if (self === undefined) return;
|
|
569
593
|
* // get the width of the render target color buffer
|
|
570
594
|
* const w = render.get_render_target_width(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
571
595
|
* // get the width of a render target resource
|
|
@@ -969,8 +993,11 @@ declare global {
|
|
|
969
993
|
* // The render target defines the depth/stencil buffers as transient, when set_render_target is called the next time the buffers may be invalidated and allow for optimisations depending on driver support
|
|
970
994
|
* export default defineRenderScript({
|
|
971
995
|
* init() {
|
|
996
|
+
* // the engine registers a texture format only when the driver supports it
|
|
997
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
998
|
+
* if (format === undefined) return undefined;
|
|
972
999
|
* const color_params = {
|
|
973
|
-
* format
|
|
1000
|
+
* format,
|
|
974
1001
|
* width: render.get_window_width(),
|
|
975
1002
|
* height: render.get_window_height(),
|
|
976
1003
|
* };
|
|
@@ -981,6 +1008,7 @@ declare global {
|
|
|
981
1008
|
* },
|
|
982
1009
|
*
|
|
983
1010
|
* update(self, dt) {
|
|
1011
|
+
* if (self === undefined) return;
|
|
984
1012
|
* // set render target so all drawing is done to it
|
|
985
1013
|
* render.set_render_target(self.my_render_target, {
|
|
986
1014
|
* transient: [graphics.BUFFER_TYPE_DEPTH_BIT, graphics.BUFFER_TYPE_STENCIL_BIT],
|
|
@@ -355,7 +355,7 @@ declare global {
|
|
|
355
355
|
* }
|
|
356
356
|
* ```
|
|
357
357
|
*/
|
|
358
|
-
function get_sys_info(options?: { ignore_secure?: boolean }): { device_model
|
|
358
|
+
function get_sys_info(options?: { ignore_secure?: boolean }): { device_model: string; manufacturer: string; system_name: string; system_version: string; api_version: string; language: string; device_language: string; territory: string; gmt_offset: number; device_ident: string; user_agent: string };
|
|
359
359
|
/**
|
|
360
360
|
* If the file exists, it must have been created by `sys.save` to be loaded.
|
|
361
361
|
* This function will raise a Lua error if an error occurs while loading the file.
|
|
@@ -66,7 +66,7 @@ declare global {
|
|
|
66
66
|
* }
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number;
|
|
69
|
+
function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number | undefined;
|
|
70
70
|
/**
|
|
71
71
|
* Get the tile information at the specified position in the tilemap.
|
|
72
72
|
* The position is identified by the tile index starting at origin
|
|
@@ -94,7 +94,7 @@ declare global {
|
|
|
94
94
|
* }
|
|
95
95
|
* ```
|
|
96
96
|
*/
|
|
97
|
-
function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean };
|
|
97
|
+
function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean } | undefined;
|
|
98
98
|
/**
|
|
99
99
|
* Retrieves all the tiles for the specified layer in the tilemap.
|
|
100
100
|
* It returns a table of rows where the keys are the
|
|
@@ -112,13 +112,13 @@ declare global {
|
|
|
112
112
|
* let count = 0;
|
|
113
113
|
* for (let row_index = bottom; row_index <= bottom + rows_count - 1; row_index++) {
|
|
114
114
|
* for (let column_index = left; column_index <= left + columns_count - 1; column_index++) {
|
|
115
|
-
* tile = tiles
|
|
115
|
+
* tile = tiles?.get(row_index)?.get(column_index) ?? 0;
|
|
116
116
|
* count = count + 1;
|
|
117
117
|
* }
|
|
118
118
|
* }
|
|
119
119
|
* ```
|
|
120
120
|
*/
|
|
121
|
-
function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaMap<number, LuaMap<number, number
|
|
121
|
+
function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaMap<number, LuaMap<number, number>> | undefined;
|
|
122
122
|
/**
|
|
123
123
|
* Resets a shader constant for a tile map component.
|
|
124
124
|
* The constant must be defined in the material assigned to the tile map.
|
|
@@ -86,7 +86,7 @@ declare global {
|
|
|
86
86
|
* }
|
|
87
87
|
* ```
|
|
88
88
|
*/
|
|
89
|
-
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<Hash, Record<string | number, unknown>> | Record<string, Record<string | number, unknown>>, scale?: number | Vector3): LuaTable<Hash, Hash
|
|
89
|
+
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<Hash, Record<string | number, unknown>> | Record<string, Record<string | number, unknown>>, scale?: number | Vector3): LuaTable<Hash, Hash> & { get: LuaTableGetMethod<string, Hash> };
|
|
90
90
|
/**
|
|
91
91
|
* This returns status of the collection factory.
|
|
92
92
|
* Calling this function when the factory is not marked as dynamic loading always returns COMP_COLLECTION_FACTORY_STATUS_LOADED.
|
|
@@ -78,7 +78,7 @@ declare global {
|
|
|
78
78
|
* });
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
|
-
function load(url: string | Hash | Url, options: {} | undefined, callback: (self: unknown, message_id: Hash, message:
|
|
81
|
+
function load(url: string | Hash | Url, options: {} | undefined, callback: (self: unknown, message_id: Hash, message: collectionproxy.load_data, sender: Url) => void): void;
|
|
82
82
|
/**
|
|
83
83
|
* The collection should be loaded by the collection proxy.
|
|
84
84
|
* Setting the collection to "nil" will revert it back to the original collection.
|
|
@@ -102,7 +102,7 @@ declare global {
|
|
|
102
102
|
* msg.post("/go#collectionproxy", "enable");
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
function set_collection(url: string | Hash | Url, prototype: string | undefined): LuaMultiReturn<[boolean, collectionproxy.RESULT]>;
|
|
105
|
+
function set_collection(url: string | Hash | Url, prototype: string | undefined): LuaMultiReturn<[boolean, collectionproxy.RESULT | undefined]>;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -43,7 +43,9 @@ declare global {
|
|
|
43
43
|
* // create a new game object and provide property values
|
|
44
44
|
* const created = factory.create("#factory", undefined, undefined, { my_value: 1 });
|
|
45
45
|
* // communicate with the object
|
|
46
|
-
*
|
|
46
|
+
* if (created !== undefined) {
|
|
47
|
+
* msg.post(created, "hello");
|
|
48
|
+
* }
|
|
47
49
|
* },
|
|
48
50
|
* });
|
|
49
51
|
* ```
|
|
@@ -59,7 +61,7 @@ declare global {
|
|
|
59
61
|
* });
|
|
60
62
|
* ```
|
|
61
63
|
*/
|
|
62
|
-
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<string | Hash, unknown> | Record<string, unknown>, scale?: number | Vector3): Hash;
|
|
64
|
+
function create(url: string | Hash | Url, position?: Vector3, rotation?: Quaternion, properties?: LuaMap<string | Hash, unknown> | Record<string, unknown>, scale?: number | Vector3): Hash | undefined;
|
|
63
65
|
/**
|
|
64
66
|
* This returns status of the factory.
|
|
65
67
|
* Calling this function when the factory is not marked as dynamic loading always returns
|
|
@@ -668,7 +668,7 @@ declare global {
|
|
|
668
668
|
* @param node - root node to clone
|
|
669
669
|
* @returns a table mapping node ids to the corresponding cloned nodes
|
|
670
670
|
*/
|
|
671
|
-
function clone_tree(node: Opaque<"node">): LuaTable<Hash, Opaque<"node"
|
|
671
|
+
function clone_tree(node: Opaque<"node">): LuaTable<Hash, Opaque<"node">> & { get: LuaTableGetMethod<string, Opaque<"node">> };
|
|
672
672
|
/**
|
|
673
673
|
* Deletes the specified node. Any child nodes of the specified node will be
|
|
674
674
|
* recursively deleted.
|
|
@@ -1177,7 +1177,7 @@ declare global {
|
|
|
1177
1177
|
* @param node - root node to get node tree from
|
|
1178
1178
|
* @returns a table mapping node ids to the corresponding nodes
|
|
1179
1179
|
*/
|
|
1180
|
-
function get_tree(node: Opaque<"node">): LuaTable<Hash, Opaque<"node"
|
|
1180
|
+
function get_tree(node: Opaque<"node">): LuaTable<Hash, Opaque<"node">> & { get: LuaTableGetMethod<string, Opaque<"node">> };
|
|
1181
1181
|
/**
|
|
1182
1182
|
* gets the node type
|
|
1183
1183
|
*
|
|
@@ -43,6 +43,8 @@ declare global {
|
|
|
43
43
|
* script_instance The current script instance
|
|
44
44
|
* `id`
|
|
45
45
|
* hash Internal message identifier. Do not use!
|
|
46
|
+
*
|
|
47
|
+
* With `report_progress` set, the callback also receives progress events carrying `bytes_sent`, `bytes_received`, `bytes_total` and `url` but no `status`; `response.bytes_received !== undefined` marks a progress event, since a final response never carries it.
|
|
46
48
|
* @param headers - optional table with custom headers
|
|
47
49
|
* @param post_data - optional data to send
|
|
48
50
|
* @param options - optional request options
|
|
@@ -76,7 +78,7 @@ declare global {
|
|
|
76
78
|
* });
|
|
77
79
|
* ```
|
|
78
80
|
*/
|
|
79
|
-
function request(url: string, method: string, callback: (self: unknown, id: Hash, response: { status: number; response?: string; headers?: LuaMap<string, string>; path?: string; error?: string; bytes_received?: number; bytes_total?: number; range_start?: number; range_end?: number; document_size?: number }) => void, headers?: LuaMap<string, string> | Record<string, string>, post_data?: string, options?: http.request_options): void;
|
|
81
|
+
function request(url: string, method: string, callback: (self: unknown, id: Hash, response: { status: number; url: string; response?: string; headers?: LuaMap<string, string>; path?: string; error?: string; bytes_sent?: number; bytes_received?: number; bytes_total?: number; range_start?: number; range_end?: number; document_size?: number }) => void, headers?: LuaMap<string, string> | Record<string, string>, post_data?: string, options?: http.request_options): void;
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
|
|
@@ -53,6 +53,7 @@ import "../../../src/engine-globals";
|
|
|
53
53
|
import "../../../src/msg-overloads";
|
|
54
54
|
import "../../../src/message-guard";
|
|
55
55
|
import "../../../src/window-event-guard";
|
|
56
|
+
import "../../../src/physics-event-guard";
|
|
56
57
|
import "../../../src/scene-addresses";
|
|
57
58
|
import "../../../src/go-overloads";
|
|
58
59
|
import "../../../src/component-properties";
|
|
@@ -164,10 +164,9 @@ declare global {
|
|
|
164
164
|
* // How to play the "jump" animation followed by the "run" animation:
|
|
165
165
|
* const url = msg.url("#model");
|
|
166
166
|
*
|
|
167
|
-
* function anim_done(self: unknown, message_id:
|
|
167
|
+
* function anim_done(self: unknown, message_id: Hash, message: { animation_id: Hash }) {
|
|
168
168
|
* if (message_id === hash("model_animation_done")) {
|
|
169
|
-
*
|
|
170
|
-
* if (animation_id === hash("jump")) {
|
|
169
|
+
* if (message.animation_id === hash("jump")) {
|
|
171
170
|
* // open animation done, chain with "run"
|
|
172
171
|
* const properties = { blend_duration: 0.2 };
|
|
173
172
|
* model.play_anim(url, "run", go.PLAYBACK_LOOP_FORWARD, properties, anim_done);
|
|
@@ -184,7 +183,7 @@ declare global {
|
|
|
184
183
|
* });
|
|
185
184
|
* ```
|
|
186
185
|
*/
|
|
187
|
-
function play_anim(url: string | Hash | Url, anim_id: string | Hash, playback: go.PLAYBACK, play_properties?: model.play_properties, complete_function?: (self: unknown, message_id: Hash, message: BuiltinMessages["model_animation_done"]
|
|
186
|
+
function play_anim(url: string | Hash | Url, anim_id: string | Hash, playback: go.PLAYBACK, play_properties?: model.play_properties, complete_function?: (self: unknown, message_id: Hash, message: BuiltinMessages["model_animation_done"]) => void): void;
|
|
188
187
|
/**
|
|
189
188
|
* Resets a shader constant for a model component.
|
|
190
189
|
* The constant must be defined in the material assigned to the model.
|
|
@@ -238,7 +237,7 @@ declare global {
|
|
|
238
237
|
/**
|
|
239
238
|
* The current animation set on the component. The type of the property is hash.
|
|
240
239
|
*/
|
|
241
|
-
animation: Hash;
|
|
240
|
+
readonly animation: Hash;
|
|
242
241
|
/**
|
|
243
242
|
* The normalized animation cursor. The type of the property is number.
|
|
244
243
|
* Please note that model events may not fire as expected when the cursor is manipulated directly.
|
|
@@ -6,7 +6,7 @@ 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
|
+
type event = BuiltinMessages["contact_point_event"] & { type: Hash<"contact_point_event"> } | BuiltinMessages["collision_event"] & { type: Hash<"collision_event"> } | BuiltinMessages["trigger_event"] & { type: Hash<"trigger_event"> } | BuiltinMessages["ray_cast_response"] & { type: Hash<"ray_cast_response"> } | BuiltinMessages["ray_cast_missed"] & { type: Hash<"ray_cast_missed"> };
|
|
10
10
|
/**
|
|
11
11
|
* The available fields depend on the joint type.
|
|
12
12
|
*/
|
|
@@ -366,7 +366,7 @@ declare global {
|
|
|
366
366
|
* @returns It returns a list. If missed it returns `nil`. See ray_cast_response for details on the returned values.
|
|
367
367
|
* @example
|
|
368
368
|
* ```ts
|
|
369
|
-
* function handle_result(hit: { fraction: number; position: Vector3; normal: Vector3; id: Hash; group: Hash
|
|
369
|
+
* function handle_result(hit: { fraction: number; position: Vector3; normal: Vector3; id: Hash; group: Hash }) {
|
|
370
370
|
* // act on the hit (see 'ray_cast_response')
|
|
371
371
|
* }
|
|
372
372
|
*
|
|
@@ -391,7 +391,7 @@ declare global {
|
|
|
391
391
|
* });
|
|
392
392
|
* ```
|
|
393
393
|
*/
|
|
394
|
-
function raycast(from: Vector3, to: Vector3, groups: Hash[], options?: physics.raycast_options): BuiltinMessages["ray_cast_response"][] | BuiltinMessages["ray_cast_response"] | undefined;
|
|
394
|
+
function raycast(from: Vector3, to: Vector3, groups: Hash[], options?: physics.raycast_options): Omit<BuiltinMessages["ray_cast_response"], "request_id">[] | Omit<BuiltinMessages["ray_cast_response"], "request_id"> | undefined;
|
|
395
395
|
/**
|
|
396
396
|
* Ray casts are used to test for intersections against collision objects in the physics world.
|
|
397
397
|
* Collision objects of types kinematic, dynamic and static are tested against. Trigger objects
|
|
@@ -15,7 +15,7 @@ declare global {
|
|
|
15
15
|
*/
|
|
16
16
|
use_frustum?: boolean;
|
|
17
17
|
}
|
|
18
|
-
type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
18
|
+
type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
19
19
|
/**
|
|
20
20
|
* Debug-draw options
|
|
21
21
|
*/
|
|
@@ -36,7 +36,7 @@ declare global {
|
|
|
36
36
|
/**
|
|
37
37
|
* Constants used by the compute program. The values are copied when `render.dispatch_compute()` is called.
|
|
38
38
|
*/
|
|
39
|
-
constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
39
|
+
constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Render draw options
|
|
@@ -53,7 +53,7 @@ declare global {
|
|
|
53
53
|
/**
|
|
54
54
|
* Constants used while rendering. The values are copied when `render.draw()` is called.
|
|
55
55
|
*/
|
|
56
|
-
constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
56
|
+
constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
57
57
|
/**
|
|
58
58
|
* World-entry sort order. The default is the renderer's preferred back-to-front order.
|
|
59
59
|
*/
|
|
@@ -114,6 +114,7 @@ declare global {
|
|
|
114
114
|
}
|
|
115
115
|
type texture = Opaque<"texture">;
|
|
116
116
|
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
117
|
+
type RenderTargetParams = render.render_target_params;
|
|
117
118
|
type CONTEXT_EVENT = typeof render.CONTEXT_EVENT_CONTEXT_LOST | typeof render.CONTEXT_EVENT_CONTEXT_RESTORED;
|
|
118
119
|
type FRUSTUM_PLANES = typeof render.FRUSTUM_PLANES_ALL | typeof render.FRUSTUM_PLANES_SIDES;
|
|
119
120
|
type RENDER_TARGET_FLAG = typeof render.TEXTURE_BIT;
|
|
@@ -218,7 +219,7 @@ declare global {
|
|
|
218
219
|
* constants.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
219
220
|
* ```
|
|
220
221
|
*/
|
|
221
|
-
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
222
|
+
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
222
223
|
/**
|
|
223
224
|
* Deletes a render target created by a render script.
|
|
224
225
|
* You cannot delete a render target resource.
|
|
@@ -231,9 +232,12 @@ declare global {
|
|
|
231
232
|
* return { my_render_target: render.render_target("my_target", {}) };
|
|
232
233
|
* },
|
|
233
234
|
*
|
|
234
|
-
* final
|
|
235
|
-
*
|
|
236
|
-
*
|
|
235
|
+
* // A render script has no final hook, so free the target on a message.
|
|
236
|
+
* on_message(self, message_id) {
|
|
237
|
+
* if (message_id === hash("release_target")) {
|
|
238
|
+
* // How to delete a render target:
|
|
239
|
+
* render.delete_render_target(self.my_render_target);
|
|
240
|
+
* }
|
|
237
241
|
* },
|
|
238
242
|
* });
|
|
239
243
|
* ```
|
|
@@ -296,8 +300,11 @@ declare global {
|
|
|
296
300
|
* ```ts
|
|
297
301
|
* export default defineRenderScript({
|
|
298
302
|
* init() {
|
|
303
|
+
* // the engine registers a texture format only when the driver supports it
|
|
304
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
305
|
+
* if (format === undefined) return undefined;
|
|
299
306
|
* const color_params = {
|
|
300
|
-
* format
|
|
307
|
+
* format,
|
|
301
308
|
* width: render.get_window_width(),
|
|
302
309
|
* height: render.get_window_height(),
|
|
303
310
|
* };
|
|
@@ -308,6 +315,7 @@ declare global {
|
|
|
308
315
|
* },
|
|
309
316
|
*
|
|
310
317
|
* update(self, dt) {
|
|
318
|
+
* if (self === undefined) return;
|
|
311
319
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
312
320
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
313
321
|
* // material shader.
|
|
@@ -334,8 +342,11 @@ declare global {
|
|
|
334
342
|
* ```ts
|
|
335
343
|
* export default defineRenderScript({
|
|
336
344
|
* init() {
|
|
345
|
+
* // the engine registers a texture format only when the driver supports it
|
|
346
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
347
|
+
* if (format === undefined) return undefined;
|
|
337
348
|
* const color_params = {
|
|
338
|
-
* format
|
|
349
|
+
* format,
|
|
339
350
|
* width: render.get_window_width(),
|
|
340
351
|
* height: render.get_window_height(),
|
|
341
352
|
* };
|
|
@@ -346,6 +357,7 @@ declare global {
|
|
|
346
357
|
* },
|
|
347
358
|
*
|
|
348
359
|
* update(self, dt) {
|
|
360
|
+
* if (self === undefined) return;
|
|
349
361
|
* render.set_compute("bloom");
|
|
350
362
|
* render.enable_texture(0, self.backing_texture);
|
|
351
363
|
* render.enable_texture(1, self.scene_rt);
|
|
@@ -499,8 +511,11 @@ declare global {
|
|
|
499
511
|
* ```ts
|
|
500
512
|
* export default defineRenderScript({
|
|
501
513
|
* init() {
|
|
514
|
+
* // the engine registers a texture format only when the driver supports it
|
|
515
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
516
|
+
* if (format === undefined) return undefined;
|
|
502
517
|
* const color_params = {
|
|
503
|
-
* format
|
|
518
|
+
* format,
|
|
504
519
|
* width: render.get_window_width(),
|
|
505
520
|
* height: render.get_window_height(),
|
|
506
521
|
* };
|
|
@@ -511,6 +526,7 @@ declare global {
|
|
|
511
526
|
* },
|
|
512
527
|
*
|
|
513
528
|
* update(self, dt) {
|
|
529
|
+
* if (self === undefined) return;
|
|
514
530
|
* // enable target so all drawing is done to it
|
|
515
531
|
* render.set_render_target(self.my_render_target);
|
|
516
532
|
*
|
|
@@ -591,8 +607,11 @@ declare global {
|
|
|
591
607
|
* ```ts
|
|
592
608
|
* export default defineRenderScript({
|
|
593
609
|
* init() {
|
|
610
|
+
* // the engine registers a texture format only when the driver supports it
|
|
611
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
612
|
+
* if (format === undefined) return undefined;
|
|
594
613
|
* const color_params = {
|
|
595
|
-
* format
|
|
614
|
+
* format,
|
|
596
615
|
* width: render.get_window_width(),
|
|
597
616
|
* height: render.get_window_height(),
|
|
598
617
|
* };
|
|
@@ -604,6 +623,7 @@ declare global {
|
|
|
604
623
|
* },
|
|
605
624
|
*
|
|
606
625
|
* update(self, dt) {
|
|
626
|
+
* if (self === undefined) return;
|
|
607
627
|
* // get the height of the render target color buffer
|
|
608
628
|
* const h = render.get_render_target_height(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
609
629
|
* // get the height of a render target resource
|
|
@@ -628,8 +648,11 @@ declare global {
|
|
|
628
648
|
* ```ts
|
|
629
649
|
* export default defineRenderScript({
|
|
630
650
|
* init() {
|
|
651
|
+
* // the engine registers a texture format only when the driver supports it
|
|
652
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
653
|
+
* if (format === undefined) return undefined;
|
|
631
654
|
* const color_params = {
|
|
632
|
-
* format
|
|
655
|
+
* format,
|
|
633
656
|
* width: render.get_window_width(),
|
|
634
657
|
* height: render.get_window_height(),
|
|
635
658
|
* };
|
|
@@ -641,6 +664,7 @@ declare global {
|
|
|
641
664
|
* },
|
|
642
665
|
*
|
|
643
666
|
* update(self, dt) {
|
|
667
|
+
* if (self === undefined) return;
|
|
644
668
|
* // get the width of the render target color buffer
|
|
645
669
|
* const w = render.get_render_target_width(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
646
670
|
* // get the width of a render target resource
|
|
@@ -959,8 +983,11 @@ declare global {
|
|
|
959
983
|
* // The render target defines the depth/stencil buffers as transient, when set_render_target is called the next time the buffers may be invalidated and allow for optimisations depending on driver support
|
|
960
984
|
* export default defineRenderScript({
|
|
961
985
|
* init() {
|
|
986
|
+
* // the engine registers a texture format only when the driver supports it
|
|
987
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
988
|
+
* if (format === undefined) return undefined;
|
|
962
989
|
* const color_params = {
|
|
963
|
-
* format
|
|
990
|
+
* format,
|
|
964
991
|
* width: render.get_window_width(),
|
|
965
992
|
* height: render.get_window_height(),
|
|
966
993
|
* };
|
|
@@ -971,6 +998,7 @@ declare global {
|
|
|
971
998
|
* },
|
|
972
999
|
*
|
|
973
1000
|
* update(self, dt) {
|
|
1001
|
+
* if (self === undefined) return;
|
|
974
1002
|
* // set render target so all drawing is done to it
|
|
975
1003
|
* render.set_render_target(self.my_render_target, {
|
|
976
1004
|
* transient: [graphics.BUFFER_TYPE_DEPTH_BIT, graphics.BUFFER_TYPE_STENCIL_BIT],
|
|
@@ -57,6 +57,10 @@ declare global {
|
|
|
57
57
|
* Whether the interface is running.
|
|
58
58
|
*/
|
|
59
59
|
running: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Address family, absent for an interface that is neither IPv4 nor IPv6.
|
|
62
|
+
*/
|
|
63
|
+
family?: "ipv4" | "ipv6";
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
66
|
* Asynchronous buffer-load result
|
|
@@ -87,11 +91,11 @@ declare global {
|
|
|
87
91
|
/**
|
|
88
92
|
* Device model on iOS and Android.
|
|
89
93
|
*/
|
|
90
|
-
device_model
|
|
94
|
+
device_model: string;
|
|
91
95
|
/**
|
|
92
96
|
* Device manufacturer on iOS and Android.
|
|
93
97
|
*/
|
|
94
|
-
manufacturer
|
|
98
|
+
manufacturer: string;
|
|
95
99
|
/**
|
|
96
100
|
* Operating-system name.
|
|
97
101
|
*/
|
|
@@ -123,11 +127,11 @@ declare global {
|
|
|
123
127
|
/**
|
|
124
128
|
* Operating-system-protected device identifier.
|
|
125
129
|
*/
|
|
126
|
-
device_ident
|
|
130
|
+
device_ident: string;
|
|
127
131
|
/**
|
|
128
132
|
* HTTP user agent on HTML5.
|
|
129
133
|
*/
|
|
130
|
-
user_agent
|
|
134
|
+
user_agent: string;
|
|
131
135
|
}
|
|
132
136
|
/**
|
|
133
137
|
* System-information options
|
|
@@ -67,7 +67,7 @@ declare global {
|
|
|
67
67
|
* }
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
|
-
function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number;
|
|
70
|
+
function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number | undefined;
|
|
71
71
|
/**
|
|
72
72
|
* Get the tile information at the specified position in the tilemap.
|
|
73
73
|
* The position is identified by the tile index starting at origin
|
|
@@ -95,7 +95,7 @@ declare global {
|
|
|
95
95
|
* }
|
|
96
96
|
* ```
|
|
97
97
|
*/
|
|
98
|
-
function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean };
|
|
98
|
+
function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean } | undefined;
|
|
99
99
|
/**
|
|
100
100
|
* Retrieves all the tiles for the specified layer in the tilemap.
|
|
101
101
|
* It returns a table of rows where the keys are the
|
|
@@ -113,13 +113,13 @@ declare global {
|
|
|
113
113
|
* let count = 0;
|
|
114
114
|
* for (let row_index = bottom; row_index <= bottom + rows_count - 1; row_index++) {
|
|
115
115
|
* for (let column_index = left; column_index <= left + columns_count - 1; column_index++) {
|
|
116
|
-
* tile = tiles
|
|
116
|
+
* tile = tiles?.get(row_index)?.get(column_index) ?? 0;
|
|
117
117
|
* count = count + 1;
|
|
118
118
|
* }
|
|
119
119
|
* }
|
|
120
120
|
* ```
|
|
121
121
|
*/
|
|
122
|
-
function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaTable<number, LuaTable<number, number
|
|
122
|
+
function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaTable<number, LuaTable<number, number>> | undefined;
|
|
123
123
|
/**
|
|
124
124
|
* Resets a shader constant for a tile map component.
|
|
125
125
|
* The constant must be defined in the material assigned to the tile map.
|
|
@@ -161,7 +161,7 @@ declare global {
|
|
|
161
161
|
* });
|
|
162
162
|
* ```
|
|
163
163
|
*/
|
|
164
|
-
function set_listener(callback: ((self: unknown, event: (typeof window)[Extract<keyof typeof window, `WINDOW_EVENT_${string}`>], data:
|
|
164
|
+
function set_listener(callback: ((self: unknown, event: (typeof window)[Extract<keyof typeof window, `WINDOW_EVENT_${string}`>], data: window.event_data) => void) | undefined): void;
|
|
165
165
|
/**
|
|
166
166
|
* Set the locking state for current mouse cursor on a PC platform.
|
|
167
167
|
* This function locks or unlocks the mouse cursor to the center point of the window. While the cursor is locked,
|