@defold-typescript/types 0.50.1 → 0.52.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 +4 -58
- package/api-signatures.json +1128 -1552
- package/api-targets.json +15 -5
- package/examples/translations.json +19 -71
- package/fixtures/messages_doc.json +20 -39
- package/generated/b2d_world.d.ts +10 -10
- package/generated/buffer.d.ts +9 -9
- package/generated/builtin-messages.d.ts +16 -14
- package/generated/bullet3d_collision_object.d.ts +1 -1
- package/generated/bullet3d_constraint.d.ts +109 -7
- package/generated/bullet3d_shape.d.ts +2 -2
- package/generated/collectionfactory.d.ts +1 -1
- package/generated/collectionproxy.d.ts +2 -2
- package/generated/factory.d.ts +4 -2
- package/generated/go.d.ts +114 -220
- package/generated/graphics.d.ts +5 -0
- package/generated/gui.d.ts +148 -371
- package/generated/http.d.ts +4 -2
- package/generated/image.d.ts +56 -4
- package/generated/kinds/gui-script.d.ts +3 -0
- package/generated/kinds/render-script.d.ts +15 -15
- package/generated/kinds/script.d.ts +1 -0
- package/generated/liveupdate.d.ts +5 -1
- package/generated/material.d.ts +3 -3
- package/generated/model.d.ts +4 -5
- package/generated/particlefx.d.ts +20 -1
- package/generated/physics.d.ts +48 -4
- package/generated/render-script-modules/b2d.d.ts +711 -0
- package/generated/render-script-modules/bullet3d.d.ts +73 -0
- package/generated/render-script-modules/collectionfactory.d.ts +25 -0
- package/generated/render-script-modules/collectionproxy.d.ts +39 -0
- package/generated/render-script-modules/factory.d.ts +25 -0
- package/generated/render-script-modules/go.d.ts +436 -0
- package/generated/render-script-modules/label.d.ts +105 -0
- package/generated/render-script-modules/model.d.ts +89 -0
- package/generated/render-script-modules/particlefx.d.ts +59 -0
- package/generated/render-script-modules/physics.d.ts +333 -0
- package/generated/render-script-modules/resource.d.ts +1233 -0
- package/generated/render-script-modules/sound.d.ts +227 -0
- package/generated/render-script-modules/sprite.d.ts +68 -0
- package/generated/render-script-modules/tilemap.d.ts +43 -0
- package/generated/render.d.ts +175 -21
- package/generated/resource.d.ts +31 -10
- package/generated/sprite.d.ts +49 -1
- package/generated/sys.d.ts +78 -10
- package/generated/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
- 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/go.d.ts +115 -343
- package/generated/versions/defold-1.12.4/graphics.d.ts +1 -0
- package/generated/versions/defold-1.12.4/gui.d.ts +151 -513
- package/generated/versions/defold-1.12.4/http.d.ts +4 -2
- package/generated/versions/defold-1.12.4/image.d.ts +83 -3
- package/generated/versions/defold-1.12.4/index.d.ts +2 -0
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.12.4/model.d.ts +4 -5
- package/generated/versions/defold-1.12.4/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.12.4/physics.d.ts +47 -3
- package/generated/versions/defold-1.12.4/render.d.ts +119 -15
- package/generated/versions/defold-1.12.4/resource.d.ts +43 -10
- package/generated/versions/defold-1.12.4/sprite.d.ts +58 -1
- package/generated/versions/defold-1.12.4/sys.d.ts +101 -6
- package/generated/versions/defold-1.12.4/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
- 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/go.d.ts +115 -370
- package/generated/versions/defold-1.13.0/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.0/gui.d.ts +151 -513
- package/generated/versions/defold-1.13.0/http.d.ts +4 -2
- package/generated/versions/defold-1.13.0/image.d.ts +83 -3
- package/generated/versions/defold-1.13.0/index.d.ts +2 -0
- package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.13.0/material.d.ts +3 -1
- package/generated/versions/defold-1.13.0/model.d.ts +4 -5
- package/generated/versions/defold-1.13.0/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.13.0/physics.d.ts +47 -3
- package/generated/versions/defold-1.13.0/render.d.ts +182 -16
- package/generated/versions/defold-1.13.0/resource.d.ts +43 -10
- package/generated/versions/defold-1.13.0/sprite.d.ts +58 -1
- package/generated/versions/defold-1.13.0/sys.d.ts +101 -6
- package/generated/versions/defold-1.13.0/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
- 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/go.d.ts +115 -370
- package/generated/versions/defold-1.13.1/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.1/gui.d.ts +151 -529
- package/generated/versions/defold-1.13.1/http.d.ts +4 -2
- package/generated/versions/defold-1.13.1/image.d.ts +83 -3
- package/generated/versions/defold-1.13.1/index.d.ts +3 -0
- package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.13.1/material.d.ts +3 -1
- package/generated/versions/defold-1.13.1/model.d.ts +4 -5
- package/generated/versions/defold-1.13.1/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.13.1/physics.d.ts +47 -3
- package/generated/versions/defold-1.13.1/render.d.ts +182 -16
- package/generated/versions/defold-1.13.1/resource.d.ts +43 -10
- package/generated/versions/defold-1.13.1/sprite.d.ts +58 -1
- package/generated/versions/defold-1.13.1/sys.d.ts +101 -6
- package/generated/versions/defold-1.13.1/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.2/b2d_world.d.ts +10 -10
- package/generated/versions/defold-1.13.2/buffer.d.ts +9 -9
- package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +1 -1
- package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +109 -7
- package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +2 -2
- 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/go.d.ts +114 -220
- package/generated/versions/defold-1.13.2/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.2/gui.d.ts +148 -371
- package/generated/versions/defold-1.13.2/http.d.ts +4 -2
- package/generated/versions/defold-1.13.2/image.d.ts +56 -4
- package/generated/versions/defold-1.13.2/index.d.ts +3 -0
- package/generated/versions/defold-1.13.2/liveupdate.d.ts +5 -1
- package/generated/versions/defold-1.13.2/material.d.ts +3 -3
- package/generated/versions/defold-1.13.2/model.d.ts +4 -5
- package/generated/versions/defold-1.13.2/particlefx.d.ts +20 -1
- package/generated/versions/defold-1.13.2/physics.d.ts +48 -4
- package/generated/versions/defold-1.13.2/render.d.ts +164 -20
- package/generated/versions/defold-1.13.2/resource.d.ts +31 -10
- package/generated/versions/defold-1.13.2/sprite.d.ts +49 -1
- package/generated/versions/defold-1.13.2/sys.d.ts +78 -10
- package/generated/versions/defold-1.13.2/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.2/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.2/window.d.ts +1 -1
- package/generated/vmath.d.ts +0 -24
- package/generated/window.d.ts +1 -1
- package/identity-vocabulary.json +98 -7
- package/index.d.ts +3 -0
- package/package.json +3 -1
- package/scripts/generate-api-availability.ts +6 -22
- package/scripts/generate-api-signatures.ts +87 -21
- package/scripts/materialize-version.ts +53 -6
- package/scripts/regen.ts +256 -44
- package/scripts/signature-store-fs.ts +1 -0
- package/scripts/target-version.ts +26 -0
- package/src/api-doc.ts +26 -0
- package/src/component-properties.d.ts +226 -6
- package/src/core-types.ts +82 -20
- package/src/doc-corrections.ts +53 -5
- package/src/emit-dts.ts +1300 -269
- package/src/emit-messages.ts +289 -0
- package/src/engine-globals.d.ts +8 -2
- package/src/go-overloads.d.ts +80 -15
- package/src/gui-overloads.d.ts +489 -0
- package/src/gui-texture-removal.d.ts +41 -0
- package/src/index.ts +2 -0
- package/src/lifecycle.ts +46 -37
- package/src/luals-type-expr.ts +6 -1
- package/src/msg-overloads.d.ts +25 -13
- 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/signature-store.ts +50 -0
- package/src/timers.d.ts +2 -1
- package/src/vmath-overloads.d.ts +26 -0
- package/src/window-event-guard.d.ts +5 -3
package/generated/render.d.ts
CHANGED
|
@@ -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,13 +53,13 @@ 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
|
*/
|
|
60
60
|
sort_order?: render.SORT;
|
|
61
61
|
}
|
|
62
|
-
type render_predicate =
|
|
62
|
+
type render_predicate = Opaque<"render_predicate">;
|
|
63
63
|
type render_target = Opaque<"render_target">;
|
|
64
64
|
/**
|
|
65
65
|
* Render-target attachment parameters
|
|
@@ -102,7 +102,7 @@ declare global {
|
|
|
102
102
|
*/
|
|
103
103
|
flags?: render.RENDER_TARGET_FLAG | number;
|
|
104
104
|
}
|
|
105
|
-
type render_target_params = { type?:
|
|
105
|
+
type render_target_params = { type?: render.RenderTargetTextureType; sample_count?: number } & { [key: number]: render.render_target_buffer_params };
|
|
106
106
|
/**
|
|
107
107
|
* Render-target activation options
|
|
108
108
|
*/
|
|
@@ -118,6 +118,8 @@ declare global {
|
|
|
118
118
|
}
|
|
119
119
|
type texture = Opaque<"texture">;
|
|
120
120
|
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
121
|
+
type RenderTargetTextureType = typeof graphics.TEXTURE_TYPE_2D | typeof graphics.TEXTURE_TYPE_CUBE_MAP;
|
|
122
|
+
type RenderTargetParams = render.render_target_params;
|
|
121
123
|
type CONTEXT_EVENT = typeof render.CONTEXT_EVENT_CONTEXT_LOST | typeof render.CONTEXT_EVENT_CONTEXT_RESTORED;
|
|
122
124
|
type FRUSTUM_PLANES = typeof render.FRUSTUM_PLANES_ALL | typeof render.FRUSTUM_PLANES_SIDES;
|
|
123
125
|
type RENDER_TARGET_FLAG = typeof render.TEXTURE_BIT;
|
|
@@ -222,7 +224,7 @@ declare global {
|
|
|
222
224
|
* constants.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
223
225
|
* ```
|
|
224
226
|
*/
|
|
225
|
-
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
227
|
+
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
|
|
226
228
|
/**
|
|
227
229
|
* Deletes a render target created by a render script.
|
|
228
230
|
* You cannot delete a render target resource.
|
|
@@ -235,9 +237,12 @@ declare global {
|
|
|
235
237
|
* return { my_render_target: render.render_target("my_target", {}) };
|
|
236
238
|
* },
|
|
237
239
|
*
|
|
238
|
-
* final
|
|
239
|
-
*
|
|
240
|
-
*
|
|
240
|
+
* // A render script has no final hook, so free the target on a message.
|
|
241
|
+
* on_message(self, message_id) {
|
|
242
|
+
* if (message_id === hash("release_target")) {
|
|
243
|
+
* // How to delete a render target:
|
|
244
|
+
* render.delete_render_target(self.my_render_target);
|
|
245
|
+
* }
|
|
241
246
|
* },
|
|
242
247
|
* });
|
|
243
248
|
* ```
|
|
@@ -291,7 +296,7 @@ declare global {
|
|
|
291
296
|
* });
|
|
292
297
|
* ```
|
|
293
298
|
*/
|
|
294
|
-
function disable_state(state: graphics.
|
|
299
|
+
function disable_state(state: graphics.State): void;
|
|
295
300
|
/**
|
|
296
301
|
* Disables a texture that has previourly been enabled.
|
|
297
302
|
*
|
|
@@ -300,8 +305,11 @@ declare global {
|
|
|
300
305
|
* ```ts
|
|
301
306
|
* export default defineRenderScript({
|
|
302
307
|
* init() {
|
|
308
|
+
* // the engine registers a texture format only when the driver supports it
|
|
309
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
310
|
+
* if (format === undefined) return undefined;
|
|
303
311
|
* const color_params = {
|
|
304
|
-
* format
|
|
312
|
+
* format,
|
|
305
313
|
* width: render.get_window_width(),
|
|
306
314
|
* height: render.get_window_height(),
|
|
307
315
|
* };
|
|
@@ -312,6 +320,7 @@ declare global {
|
|
|
312
320
|
* },
|
|
313
321
|
*
|
|
314
322
|
* update(self, dt) {
|
|
323
|
+
* if (self === undefined) return;
|
|
315
324
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
316
325
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
317
326
|
* // material shader.
|
|
@@ -322,7 +331,7 @@ declare global {
|
|
|
322
331
|
* });
|
|
323
332
|
* ```
|
|
324
333
|
*/
|
|
325
|
-
function disable_texture(binding:
|
|
334
|
+
function disable_texture(binding: string | Hash | number): void;
|
|
326
335
|
/**
|
|
327
336
|
* Dispatches the currently enabled compute program. The dispatch call takes three arguments x,y,z which constitutes
|
|
328
337
|
* the 'global working group' of the compute dispatch. Together with the 'local working group' specified in the compute shader
|
|
@@ -338,8 +347,11 @@ declare global {
|
|
|
338
347
|
* ```ts
|
|
339
348
|
* export default defineRenderScript({
|
|
340
349
|
* init() {
|
|
350
|
+
* // the engine registers a texture format only when the driver supports it
|
|
351
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
352
|
+
* if (format === undefined) return undefined;
|
|
341
353
|
* const color_params = {
|
|
342
|
-
* format
|
|
354
|
+
* format,
|
|
343
355
|
* width: render.get_window_width(),
|
|
344
356
|
* height: render.get_window_height(),
|
|
345
357
|
* };
|
|
@@ -350,6 +362,7 @@ declare global {
|
|
|
350
362
|
* },
|
|
351
363
|
*
|
|
352
364
|
* update(self, dt) {
|
|
365
|
+
* if (self === undefined) return;
|
|
353
366
|
* render.set_compute("bloom");
|
|
354
367
|
* render.enable_texture(0, self.backing_texture);
|
|
355
368
|
* render.enable_texture(1, self.scene_rt);
|
|
@@ -415,7 +428,56 @@ declare global {
|
|
|
415
428
|
* }
|
|
416
429
|
* ```
|
|
417
430
|
*/
|
|
418
|
-
function draw(predicate: Opaque<"render_predicate"
|
|
431
|
+
function draw(predicate: Opaque<"render_predicate">): void;
|
|
432
|
+
/**
|
|
433
|
+
* Draws all objects that match a specified predicate. An optional constant buffer can be
|
|
434
|
+
* provided to override the default constants. If no constants buffer is provided, a default
|
|
435
|
+
* system constants buffer is used containing constants as defined in materials and set through
|
|
436
|
+
* go.set (or particlefx.set_constant) on visual components.
|
|
437
|
+
*
|
|
438
|
+
* @param predicate - predicate to draw for
|
|
439
|
+
* @param options - optional draw options
|
|
440
|
+
* @example
|
|
441
|
+
* ```ts
|
|
442
|
+
* export default defineRenderScript({
|
|
443
|
+
* init() {
|
|
444
|
+
* // define a predicate matching anything with material tag "my_tag"
|
|
445
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
446
|
+
* },
|
|
447
|
+
*
|
|
448
|
+
* update(self, dt) {
|
|
449
|
+
* // draw everything in the my_pred predicate
|
|
450
|
+
* render.draw(self.my_pred);
|
|
451
|
+
* },
|
|
452
|
+
* });
|
|
453
|
+
* ```
|
|
454
|
+
* @example
|
|
455
|
+
* Draw predicate with constants:
|
|
456
|
+
* ```ts
|
|
457
|
+
* function draw_tinted(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
458
|
+
* const constants = render.constant_buffer();
|
|
459
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
460
|
+
* render.draw(self.my_pred, { constants });
|
|
461
|
+
* }
|
|
462
|
+
* ```
|
|
463
|
+
* @example
|
|
464
|
+
* Draw with predicate and frustum culling (without near+far planes):
|
|
465
|
+
* ```ts
|
|
466
|
+
* function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
|
|
467
|
+
* const frustum = self.proj.mul(self.view);
|
|
468
|
+
* render.draw(self.my_pred, { frustum });
|
|
469
|
+
* }
|
|
470
|
+
* ```
|
|
471
|
+
* @example
|
|
472
|
+
* Draw with predicate and frustum culling (with near+far planes):
|
|
473
|
+
* ```ts
|
|
474
|
+
* function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
|
|
475
|
+
* const frustum = self.proj.mul(self.view);
|
|
476
|
+
* render.draw(self.my_pred, { frustum, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
477
|
+
* }
|
|
478
|
+
* ```
|
|
479
|
+
*/
|
|
480
|
+
function draw(predicate: Opaque<"render_predicate">, options: render.draw_options): void;
|
|
419
481
|
/**
|
|
420
482
|
* Draws all 3d debug graphics such as lines drawn with "draw_line" messages and physics visualization.
|
|
421
483
|
*
|
|
@@ -482,7 +544,7 @@ declare global {
|
|
|
482
544
|
* });
|
|
483
545
|
* ```
|
|
484
546
|
*/
|
|
485
|
-
function enable_state(state: graphics.
|
|
547
|
+
function enable_state(state: graphics.State): void;
|
|
486
548
|
/**
|
|
487
549
|
* Sets the specified texture handle for a render target attachment or a regular texture
|
|
488
550
|
* that should be used for rendering. The texture can be bound to either a texture unit
|
|
@@ -503,8 +565,11 @@ declare global {
|
|
|
503
565
|
* ```ts
|
|
504
566
|
* export default defineRenderScript({
|
|
505
567
|
* init() {
|
|
568
|
+
* // the engine registers a texture format only when the driver supports it
|
|
569
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
570
|
+
* if (format === undefined) return undefined;
|
|
506
571
|
* const color_params = {
|
|
507
|
-
* format
|
|
572
|
+
* format,
|
|
508
573
|
* width: render.get_window_width(),
|
|
509
574
|
* height: render.get_window_height(),
|
|
510
575
|
* };
|
|
@@ -515,6 +580,7 @@ declare global {
|
|
|
515
580
|
* },
|
|
516
581
|
*
|
|
517
582
|
* update(self, dt) {
|
|
583
|
+
* if (self === undefined) return;
|
|
518
584
|
* // enable target so all drawing is done to it
|
|
519
585
|
* render.set_render_target(self.my_render_target);
|
|
520
586
|
*
|
|
@@ -595,8 +661,11 @@ declare global {
|
|
|
595
661
|
* ```ts
|
|
596
662
|
* export default defineRenderScript({
|
|
597
663
|
* init() {
|
|
664
|
+
* // the engine registers a texture format only when the driver supports it
|
|
665
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
666
|
+
* if (format === undefined) return undefined;
|
|
598
667
|
* const color_params = {
|
|
599
|
-
* format
|
|
668
|
+
* format,
|
|
600
669
|
* width: render.get_window_width(),
|
|
601
670
|
* height: render.get_window_height(),
|
|
602
671
|
* };
|
|
@@ -608,6 +677,7 @@ declare global {
|
|
|
608
677
|
* },
|
|
609
678
|
*
|
|
610
679
|
* update(self, dt) {
|
|
680
|
+
* if (self === undefined) return;
|
|
611
681
|
* // get the height of the render target color buffer
|
|
612
682
|
* const h = render.get_render_target_height(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
613
683
|
* // get the height of a render target resource
|
|
@@ -632,8 +702,11 @@ declare global {
|
|
|
632
702
|
* ```ts
|
|
633
703
|
* export default defineRenderScript({
|
|
634
704
|
* init() {
|
|
705
|
+
* // the engine registers a texture format only when the driver supports it
|
|
706
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
707
|
+
* if (format === undefined) return undefined;
|
|
635
708
|
* const color_params = {
|
|
636
|
-
* format
|
|
709
|
+
* format,
|
|
637
710
|
* width: render.get_window_width(),
|
|
638
711
|
* height: render.get_window_height(),
|
|
639
712
|
* };
|
|
@@ -645,6 +718,7 @@ declare global {
|
|
|
645
718
|
* },
|
|
646
719
|
*
|
|
647
720
|
* update(self, dt) {
|
|
721
|
+
* if (self === undefined) return;
|
|
648
722
|
* // get the width of the render target color buffer
|
|
649
723
|
* const w = render.get_render_target_width(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
650
724
|
* // get the width of a render target resource
|
|
@@ -767,7 +841,7 @@ declare global {
|
|
|
767
841
|
* render.set_blend_func_separate(graphics.BLEND_FACTOR_SRC_ALPHA, graphics.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, graphics.BLEND_FACTOR_ONE, graphics.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
|
|
768
842
|
* ```
|
|
769
843
|
*/
|
|
770
|
-
function set_blend_func_separate(source_factor_color:
|
|
844
|
+
function set_blend_func_separate(source_factor_color: graphics.BlendFactor, destination_factor_color: graphics.BlendFactor, source_factor_alpha: graphics.BlendFactor, destination_factor_alpha: graphics.BlendFactor): void;
|
|
771
845
|
/**
|
|
772
846
|
* Sets the current render camera to be used for rendering. If a render camera
|
|
773
847
|
* has been set by the render script, the renderer will be using its projection and view matrix
|
|
@@ -973,8 +1047,87 @@ declare global {
|
|
|
973
1047
|
* // 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
|
|
974
1048
|
* export default defineRenderScript({
|
|
975
1049
|
* init() {
|
|
1050
|
+
* // the engine registers a texture format only when the driver supports it
|
|
1051
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
1052
|
+
* if (format === undefined) return undefined;
|
|
1053
|
+
* const color_params = {
|
|
1054
|
+
* format,
|
|
1055
|
+
* width: render.get_window_width(),
|
|
1056
|
+
* height: render.get_window_height(),
|
|
1057
|
+
* };
|
|
1058
|
+
* return {
|
|
1059
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
1060
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
1061
|
+
* };
|
|
1062
|
+
* },
|
|
1063
|
+
*
|
|
1064
|
+
* update(self, dt) {
|
|
1065
|
+
* if (self === undefined) return;
|
|
1066
|
+
* // set render target so all drawing is done to it
|
|
1067
|
+
* render.set_render_target(self.my_render_target, {
|
|
1068
|
+
* transient: [graphics.BUFFER_TYPE_DEPTH_BIT, graphics.BUFFER_TYPE_STENCIL_BIT],
|
|
1069
|
+
* });
|
|
1070
|
+
*
|
|
1071
|
+
* // draw a predicate to the render target
|
|
1072
|
+
* render.draw(self.my_pred);
|
|
1073
|
+
*
|
|
1074
|
+
* // set default render target. This also invalidates the depth and stencil buffers of the current target (self.my_render_target)
|
|
1075
|
+
* // which can be an optimisation on some hardware
|
|
1076
|
+
* render.set_render_target(render.RENDER_TARGET_DEFAULT);
|
|
1077
|
+
* },
|
|
1078
|
+
* });
|
|
1079
|
+
* ```
|
|
1080
|
+
* @example
|
|
1081
|
+
* ```ts
|
|
1082
|
+
* export default defineRenderScript({
|
|
1083
|
+
* init() {
|
|
1084
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
1085
|
+
* },
|
|
1086
|
+
*
|
|
1087
|
+
* update(self, dt) {
|
|
1088
|
+
* // set render target by a render target resource identifier
|
|
1089
|
+
* render.set_render_target("my_rt_resource");
|
|
1090
|
+
*
|
|
1091
|
+
* // draw a predicate to the render target
|
|
1092
|
+
* render.draw(self.my_pred);
|
|
1093
|
+
*
|
|
1094
|
+
* // reset the render target to the default backbuffer
|
|
1095
|
+
* render.set_render_target(render.RENDER_TARGET_DEFAULT);
|
|
1096
|
+
* },
|
|
1097
|
+
* });
|
|
1098
|
+
* ```
|
|
1099
|
+
*/
|
|
1100
|
+
function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT): void;
|
|
1101
|
+
/**
|
|
1102
|
+
* Sets a render target. Subsequent draw operations will be to the
|
|
1103
|
+
* render target until it is replaced by a subsequent call to set_render_target.
|
|
1104
|
+
* This function supports render targets created by a render script, or a render target resource.
|
|
1105
|
+
*
|
|
1106
|
+
* @param render_target - render target to set. Omit it, pass `nil`, or use render.RENDER_TARGET_DEFAULT to set the default render target
|
|
1107
|
+
* @param options - optional render-target activation options
|
|
1108
|
+
*
|
|
1109
|
+
* `face`
|
|
1110
|
+
* number Cubemap face selected for rendering. This option is valid only for cubemap render targets and defaults to `graphics.CUBEMAP_FACE_POSITIVE_X`.
|
|
1111
|
+
*
|
|
1112
|
+
* - `graphics.CUBEMAP_FACE_POSITIVE_X`
|
|
1113
|
+
* - `graphics.CUBEMAP_FACE_NEGATIVE_X`
|
|
1114
|
+
* - `graphics.CUBEMAP_FACE_POSITIVE_Y`
|
|
1115
|
+
* - `graphics.CUBEMAP_FACE_NEGATIVE_Y`
|
|
1116
|
+
* - `graphics.CUBEMAP_FACE_POSITIVE_Z`
|
|
1117
|
+
* - `graphics.CUBEMAP_FACE_NEGATIVE_Z`
|
|
1118
|
+
* @example
|
|
1119
|
+
* How to set a render target and draw to it and then switch back to the default render target
|
|
1120
|
+
* 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
|
|
1121
|
+
* ```ts
|
|
1122
|
+
* // How to set a render target and draw to it and then switch back to the default render target
|
|
1123
|
+
* // 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
|
|
1124
|
+
* export default defineRenderScript({
|
|
1125
|
+
* init() {
|
|
1126
|
+
* // the engine registers a texture format only when the driver supports it
|
|
1127
|
+
* const format = graphics.TEXTURE_FORMAT_RGBA;
|
|
1128
|
+
* if (format === undefined) return undefined;
|
|
976
1129
|
* const color_params = {
|
|
977
|
-
* format
|
|
1130
|
+
* format,
|
|
978
1131
|
* width: render.get_window_width(),
|
|
979
1132
|
* height: render.get_window_height(),
|
|
980
1133
|
* };
|
|
@@ -985,6 +1138,7 @@ declare global {
|
|
|
985
1138
|
* },
|
|
986
1139
|
*
|
|
987
1140
|
* update(self, dt) {
|
|
1141
|
+
* if (self === undefined) return;
|
|
988
1142
|
* // set render target so all drawing is done to it
|
|
989
1143
|
* render.set_render_target(self.my_render_target, {
|
|
990
1144
|
* transient: [graphics.BUFFER_TYPE_DEPTH_BIT, graphics.BUFFER_TYPE_STENCIL_BIT],
|
|
@@ -1019,7 +1173,7 @@ declare global {
|
|
|
1019
1173
|
* });
|
|
1020
1174
|
* ```
|
|
1021
1175
|
*/
|
|
1022
|
-
function set_render_target(render_target
|
|
1176
|
+
function set_render_target(render_target: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT | undefined, options: render.set_render_target_options): void;
|
|
1023
1177
|
/**
|
|
1024
1178
|
* Sets the render target size for a render target created from
|
|
1025
1179
|
* either a render script, or from a render target resource.
|
package/generated/resource.d.ts
CHANGED
|
@@ -130,7 +130,7 @@ declare global {
|
|
|
130
130
|
/**
|
|
131
131
|
* Buffer to bind to the resource.
|
|
132
132
|
*/
|
|
133
|
-
buffer: Opaque<"buffer"
|
|
133
|
+
buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
134
134
|
/**
|
|
135
135
|
* Whether the resource takes ownership of the buffer. The default is true.
|
|
136
136
|
*/
|
|
@@ -708,7 +708,7 @@ declare global {
|
|
|
708
708
|
* });
|
|
709
709
|
* ```
|
|
710
710
|
*/
|
|
711
|
-
function create_sound_data(path: string, options: resource.sound_data_options): Hash;
|
|
711
|
+
function create_sound_data(path: string, options: resource.sound_data_options & ({ partial?: false } | ({ partial: true } & Required<Pick<resource.sound_data_options, "filesize">>))): Hash;
|
|
712
712
|
/**
|
|
713
713
|
* Creates a new texture resource that can be used in the same way as any texture created during build time.
|
|
714
714
|
* The path used for creating the texture must be unique, trying to create a resource at a path that is already
|
|
@@ -836,7 +836,7 @@ declare global {
|
|
|
836
836
|
* }
|
|
837
837
|
* ```
|
|
838
838
|
*/
|
|
839
|
-
function create_texture(path: string, table: resource.texture_creation_params, buffer?: Opaque<"buffer">): Hash;
|
|
839
|
+
function create_texture(path: string, table: resource.texture_creation_params, buffer?: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): Hash;
|
|
840
840
|
/**
|
|
841
841
|
* Creates a new texture resource that can be used in the same way as any texture created during build time.
|
|
842
842
|
* The path used for creating the texture must be unique, trying to create a resource at a path that is already
|
|
@@ -955,7 +955,7 @@ declare global {
|
|
|
955
955
|
* });
|
|
956
956
|
* ```
|
|
957
957
|
*/
|
|
958
|
-
function create_texture_async(path: string, table: resource.texture_creation_params, buffer: Opaque<"buffer"> | undefined, callback: (self: unknown, request_id: number, result: resource.texture_creation_result) => void): LuaMultiReturn<[Hash, number]>;
|
|
958
|
+
function create_texture_async(path: string, table: resource.texture_creation_params, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> } | undefined, callback: (self: unknown, request_id: number, result: resource.texture_creation_result) => void): LuaMultiReturn<[Hash, number]>;
|
|
959
959
|
/**
|
|
960
960
|
* Constructor-like function with two purposes:
|
|
961
961
|
*
|
|
@@ -1024,7 +1024,7 @@ declare global {
|
|
|
1024
1024
|
* });
|
|
1025
1025
|
* ```
|
|
1026
1026
|
*/
|
|
1027
|
-
function get_buffer(path: Hash | string): Opaque<"buffer"
|
|
1027
|
+
function get_buffer(path: Hash | string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
1028
1028
|
/**
|
|
1029
1029
|
* Gets render target info from a render target resource path or a render target handle
|
|
1030
1030
|
*
|
|
@@ -1080,7 +1080,28 @@ declare global {
|
|
|
1080
1080
|
* });
|
|
1081
1081
|
* ```
|
|
1082
1082
|
*/
|
|
1083
|
-
function get_text_metrics(url: Hash | string, text: string
|
|
1083
|
+
function get_text_metrics(url: Hash | string, text: string): resource.text_metrics;
|
|
1084
|
+
/**
|
|
1085
|
+
* Gets the text metrics from a font. Rich text markup is measured using its
|
|
1086
|
+
* visible text and font sizes. If markup cannot be parsed, the text is measured literally.
|
|
1087
|
+
* Inline sprites reserve their specified dimensions, or one em by default.
|
|
1088
|
+
*
|
|
1089
|
+
* @param url - the font to get the (unscaled) metrics from
|
|
1090
|
+
* @param text - text to measure
|
|
1091
|
+
* @param options - optional text-metric options
|
|
1092
|
+
* @returns measured text metrics
|
|
1093
|
+
* @example
|
|
1094
|
+
* ```ts
|
|
1095
|
+
* export default defineScript({
|
|
1096
|
+
* init() {
|
|
1097
|
+
* const font = go.get<label.properties>()("#label", "font");
|
|
1098
|
+
* const metrics = resource.get_text_metrics(font, "The quick brown fox\n jumps over the lazy dog");
|
|
1099
|
+
* pprint(metrics);
|
|
1100
|
+
* },
|
|
1101
|
+
* });
|
|
1102
|
+
* ```
|
|
1103
|
+
*/
|
|
1104
|
+
function get_text_metrics(url: Hash | string, text: string, options: resource.text_metrics_options): resource.text_metrics;
|
|
1084
1105
|
/**
|
|
1085
1106
|
* Gets texture info from a texture resource path or a texture handle
|
|
1086
1107
|
*
|
|
@@ -1155,7 +1176,7 @@ declare global {
|
|
|
1155
1176
|
* // custom_resources = resources/,assets/level_data.json
|
|
1156
1177
|
* ```
|
|
1157
1178
|
*/
|
|
1158
|
-
function load(path: string): Opaque<"buffer"
|
|
1179
|
+
function load(path: string): Opaque<"buffer"> & { length: LuaLengthMethod<number> };
|
|
1159
1180
|
/**
|
|
1160
1181
|
* Constructor-like function with two purposes:
|
|
1161
1182
|
*
|
|
@@ -1242,7 +1263,7 @@ declare global {
|
|
|
1242
1263
|
* resource.set(go.get<sprite.properties>()("#sprite", "texture0"), buffer);
|
|
1243
1264
|
* ```
|
|
1244
1265
|
*/
|
|
1245
|
-
function set(path: string | Hash, buffer: Opaque<"buffer">): void;
|
|
1266
|
+
function set(path: string | Hash, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): void;
|
|
1246
1267
|
/**
|
|
1247
1268
|
* Sets the data for a specific atlas resource. Setting new atlas data is specified by passing in
|
|
1248
1269
|
* a texture path for the backing texture of the atlas, a list of geometries and a list of animations
|
|
@@ -1371,7 +1392,7 @@ declare global {
|
|
|
1371
1392
|
* });
|
|
1372
1393
|
* ```
|
|
1373
1394
|
*/
|
|
1374
|
-
function set_buffer(path: Hash | string, buffer: Opaque<"buffer"
|
|
1395
|
+
function set_buffer(path: Hash | string, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }, table?: resource.buffer_update_options): void;
|
|
1375
1396
|
/**
|
|
1376
1397
|
* Update internal sound resource (wavc/oggc/opusc) with new data
|
|
1377
1398
|
*
|
|
@@ -1571,7 +1592,7 @@ declare global {
|
|
|
1571
1592
|
* }
|
|
1572
1593
|
* ```
|
|
1573
1594
|
*/
|
|
1574
|
-
function set_texture(path: Hash | string, table: resource.texture_update_params, buffer: Opaque<"buffer">): void;
|
|
1595
|
+
function set_texture(path: Hash | string, table: resource.texture_update_params, buffer: Opaque<"buffer"> & { length: LuaLengthMethod<number> }): void;
|
|
1575
1596
|
/**
|
|
1576
1597
|
* Constructor-like function with two purposes:
|
|
1577
1598
|
*
|
package/generated/sprite.d.ts
CHANGED
|
@@ -66,7 +66,55 @@ declare global {
|
|
|
66
66
|
* });
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
function play_flipbook(url: string | Hash | Url, id: string | Hash, complete_function?: (self: unknown, message_id: Hash, message: { current_tile: number; id: Hash }, sender: Url) => void
|
|
69
|
+
function play_flipbook(url: string | Hash | Url, id: string | Hash, complete_function?: (self: unknown, message_id: Hash, message: { current_tile: number; id: Hash }, sender: Url) => void): void;
|
|
70
|
+
/**
|
|
71
|
+
* Play an animation on a sprite component from its tile set
|
|
72
|
+
* An optional completion callback function can be provided that will be called when
|
|
73
|
+
* the animation has completed playing. If no function is provided,
|
|
74
|
+
* a animation_done message is sent to the script that started the animation.
|
|
75
|
+
*
|
|
76
|
+
* @param url - the sprite that should play the animation
|
|
77
|
+
* @param id - hashed id of the animation to play
|
|
78
|
+
* @param complete_function - function to call when the animation has completed.
|
|
79
|
+
*
|
|
80
|
+
* `self`
|
|
81
|
+
* script_instance The current script instance.
|
|
82
|
+
* `message_id`
|
|
83
|
+
* hash The name of the completion message, `"animation_done"`.
|
|
84
|
+
* `message`
|
|
85
|
+
* message.sprite.animation_done Information about the completion.
|
|
86
|
+
* `sender`
|
|
87
|
+
* url The invoker of the callback: the sprite component.
|
|
88
|
+
* @param play_properties - optional playback properties
|
|
89
|
+
* @example
|
|
90
|
+
* The following examples assumes that the model has id "sprite".
|
|
91
|
+
* How to play the "jump" animation followed by the "run" animation:
|
|
92
|
+
* ```ts
|
|
93
|
+
* const url = msg.url("#sprite");
|
|
94
|
+
*
|
|
95
|
+
* function anim_done(self: unknown, message_id: Hash, message: { id: Hash }) {
|
|
96
|
+
* if (message_id === hash("animation_done") && message.id === hash("jump")) {
|
|
97
|
+
* // jump animation done, chain with "run"
|
|
98
|
+
* sprite.play_flipbook(url, "run");
|
|
99
|
+
* }
|
|
100
|
+
* }
|
|
101
|
+
* ```
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* export default defineScript({
|
|
105
|
+
* init() {
|
|
106
|
+
* const url = msg.url("#sprite");
|
|
107
|
+
* sprite.play_flipbook(url, "jump", (self, message_id, message) => {
|
|
108
|
+
* if (message_id === hash("animation_done") && message.id === hash("jump")) {
|
|
109
|
+
* // jump animation done, chain with "run"
|
|
110
|
+
* sprite.play_flipbook(url, "run");
|
|
111
|
+
* }
|
|
112
|
+
* });
|
|
113
|
+
* },
|
|
114
|
+
* });
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
function play_flipbook(url: string | Hash | Url, id: string | Hash, complete_function: ((self: unknown, message_id: Hash, message: { current_tile: number; id: Hash }, sender: Url) => void) | undefined, play_properties: sprite.play_properties): void;
|
|
70
118
|
/**
|
|
71
119
|
* Resets a shader constant for a sprite component.
|
|
72
120
|
* The constant must be defined in the material assigned to the sprite.
|