@defold-typescript/types 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/api-availability.json +307 -307
  2. package/api-signatures.json +1311 -0
  3. package/api-targets.json +342 -0
  4. package/examples/translations.json +1984 -0
  5. package/fixtures/messages_doc.json +880 -0
  6. package/generated/versions/defold-1.12.4/gui.d.ts +43 -43
  7. package/generated/versions/defold-1.12.4/liveupdate.d.ts +22 -22
  8. package/generated/versions/defold-1.12.4/physics.d.ts +78 -75
  9. package/generated/versions/defold-1.12.4/render.d.ts +75 -55
  10. package/generated/versions/defold-1.12.4/resource.d.ts +187 -175
  11. package/generated/versions/defold-1.13.0/b2d.d.ts +33 -0
  12. package/generated/versions/defold-1.13.0/b2d_body.d.ts +676 -0
  13. package/generated/versions/defold-1.13.0/b2d_chain.d.ts +106 -0
  14. package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +155 -0
  15. package/generated/versions/defold-1.13.0/b2d_joint.d.ts +823 -0
  16. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +215 -0
  17. package/generated/versions/defold-1.13.0/b2d_world.d.ts +314 -0
  18. package/generated/versions/defold-1.13.0/buffer.d.ts +176 -0
  19. package/generated/versions/defold-1.13.0/camera.d.ts +302 -0
  20. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +146 -0
  21. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +71 -0
  22. package/generated/versions/defold-1.13.0/compute.d.ts +306 -0
  23. package/generated/versions/defold-1.13.0/crash.d.ts +143 -0
  24. package/generated/versions/defold-1.13.0/editor-vm/http.d.ts +56 -0
  25. package/generated/versions/defold-1.13.0/editor-vm/json.d.ts +10 -0
  26. package/generated/versions/defold-1.13.0/editor-vm/localization.d.ts +42 -0
  27. package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +80 -0
  28. package/generated/versions/defold-1.13.0/editor-vm/zip.d.ts +10 -0
  29. package/generated/versions/defold-1.13.0/editor-vm/zlib.d.ts +24 -0
  30. package/generated/versions/defold-1.13.0/editor.d.ts +1092 -0
  31. package/generated/versions/defold-1.13.0/factory.d.ts +123 -0
  32. package/generated/versions/defold-1.13.0/font.d.ts +81 -0
  33. package/generated/versions/defold-1.13.0/go.d.ts +1054 -0
  34. package/generated/versions/defold-1.13.0/graphics.d.ts +321 -0
  35. package/generated/versions/defold-1.13.0/gui.d.ts +2370 -0
  36. package/generated/versions/defold-1.13.0/html5.d.ts +53 -0
  37. package/generated/versions/defold-1.13.0/http.d.ts +84 -0
  38. package/generated/versions/defold-1.13.0/iac.d.ts +18 -0
  39. package/generated/versions/defold-1.13.0/iap.d.ts +60 -0
  40. package/generated/versions/defold-1.13.0/image.d.ts +139 -0
  41. package/generated/versions/defold-1.13.0/index.d.ts +48 -0
  42. package/generated/versions/defold-1.13.0/json.d.ts +76 -0
  43. package/generated/versions/defold-1.13.0/kinds/editor-script.d.ts +13 -0
  44. package/generated/versions/defold-1.13.0/label.d.ts +94 -0
  45. package/generated/versions/defold-1.13.0/liveupdate.d.ts +140 -0
  46. package/generated/versions/defold-1.13.0/material.d.ts +444 -0
  47. package/generated/versions/defold-1.13.0/model.d.ts +246 -0
  48. package/generated/versions/defold-1.13.0/msg.d.ts +10 -0
  49. package/generated/versions/defold-1.13.0/particlefx.d.ts +166 -0
  50. package/generated/versions/defold-1.13.0/physics.d.ts +548 -0
  51. package/generated/versions/defold-1.13.0/profiler.d.ts +233 -0
  52. package/generated/versions/defold-1.13.0/push.d.ts +66 -0
  53. package/generated/versions/defold-1.13.0/render.d.ts +1185 -0
  54. package/generated/versions/defold-1.13.0/resource.d.ts +1530 -0
  55. package/generated/versions/defold-1.13.0/socket.d.ts +795 -0
  56. package/generated/versions/defold-1.13.0/sound.d.ts +291 -0
  57. package/generated/versions/defold-1.13.0/sprite.d.ts +157 -0
  58. package/generated/versions/defold-1.13.0/sys.d.ts +695 -0
  59. package/generated/versions/defold-1.13.0/tilemap.d.ts +195 -0
  60. package/generated/versions/defold-1.13.0/timer.d.ts +114 -0
  61. package/generated/versions/defold-1.13.0/types.d.ts +61 -0
  62. package/generated/versions/defold-1.13.0/vmath.d.ts +806 -0
  63. package/generated/versions/defold-1.13.0/webview.d.ts +68 -0
  64. package/generated/versions/defold-1.13.0/window.d.ts +198 -0
  65. package/generated/versions/defold-1.13.0/zlib.d.ts +40 -0
  66. package/index.d.ts +4 -84
  67. package/package.json +11 -3
  68. package/scripts/import-defold-release.ts +18 -1
  69. package/src/example-store.ts +5 -0
  70. package/scripts/lua-types-signature-index.ts +0 -151
@@ -1726,49 +1726,49 @@ declare global {
1726
1726
  * - `index` number index into array property (1 based)
1727
1727
  * - `key` hash name of internal property
1728
1728
  * @example
1729
- * ```lua
1730
- * Updates the position property on an existing node:
1731
- * local node = gui.get_node("my_box_node")
1732
- * local node_position = gui.get(node, "position")
1733
- * gui.set(node, "position.x", node_position.x + 128)
1734
- *
1735
- * Updates the rotation property on an existing node:
1736
- * local node = gui.get_node("my_box_node")
1737
- * gui.set(node, "rotation", vmath.quat_rotation_z(math.rad(45)))
1738
- * -- this is equivalent to:
1739
- * gui.set(node, "euler.z", 45)
1740
- * -- or using the entire vector:
1741
- * gui.set(node, "euler", vmath.vector3(0,0,45))
1742
- * -- or using the set_rotation
1743
- * gui.set_rotation(node, vmath.vector3(0,0,45))
1744
- *
1745
- * Sets various material constants for a node:
1746
- * local node = gui.get_node("my_box_node")
1747
- * gui.set(node, "tint", vmath.vector4(1,0,0,1))
1748
- * -- matrix4 is also supported
1749
- * gui.set(node, "light_matrix", vmath.matrix4())
1750
- * -- update a constant in an array at position 4. the array is specified in the shader as:
1751
- * -- uniform vec4 tint_array[4]; // lua is 1 based, shader is 0 based
1752
- * gui.set(node, "tint_array", vmath.vector4(1,0,0,1), { index = 4 })
1753
- * -- update a matrix constant in an array at position 4. the array is specified in the shader as:
1754
- * -- uniform mat4 light_matrix_array[4];
1755
- * gui.set(node, "light_matrix_array", vmath.matrix4(), { index = 4 })
1756
- * -- update a sub-element in a constant
1757
- * gui.set(node, "tint.x", 1)
1758
- * -- update a sub-element in an array constant at position 4
1759
- * gui.set(node, "tint_array.x", 1, {index = 4})
1760
- *
1761
- * Set a named property
1762
- * function on_message(self, message_id, message, sender)
1763
- * if message_id == hash("set_font") then
1764
- * gui.set(msg.url(), "fonts", message.font, {key = "my_font_name"})
1765
- * gui.set_font(gui.get_node("text"), "my_font_name")
1766
- * elseif message_id == hash("set_texture") then
1767
- * gui.set(msg.url(), "textures", message.texture, {key = "my_texture"})
1768
- * gui.set_texture(gui.get_node("box"), "my_texture")
1769
- * gui.play_flipbook(gui.get_node("box"), "logo_256")
1770
- * end
1771
- * end
1729
+ * ```ts
1730
+ * // Updates the position property on an existing node:
1731
+ * const node = gui.get_node("my_box_node");
1732
+ * const node_position = gui.get(node, "position");
1733
+ * gui.set(node, "position.x", node_position.x + 128);
1734
+ *
1735
+ * // Updates the rotation property on an existing node:
1736
+ * gui.set(node, "rotation", vmath.quat_rotation_z(math.rad(45)));
1737
+ * // this is equivalent to:
1738
+ * gui.set(node, "euler.z", 45);
1739
+ * // or using the entire vector:
1740
+ * gui.set(node, "euler", vmath.vector3(0, 0, 45));
1741
+ * // or using the set_rotation
1742
+ * gui.set_rotation(node, vmath.vector3(0, 0, 45));
1743
+ *
1744
+ * // Sets various material constants for a node:
1745
+ * gui.set(node, "tint", vmath.vector4(1, 0, 0, 1));
1746
+ * // matrix4 is also supported
1747
+ * gui.set(node, "light_matrix", vmath.matrix4());
1748
+ * // update a constant in an array at position 4. the array is specified in the shader as:
1749
+ * // uniform vec4 tint_array[4]; // lua is 1 based, shader is 0 based
1750
+ * gui.set(node, "tint_array", vmath.vector4(1, 0, 0, 1), { index: 4 });
1751
+ * // update a matrix constant in an array at position 4. the array is specified in the shader as:
1752
+ * // uniform mat4 light_matrix_array[4];
1753
+ * gui.set(node, "light_matrix_array", vmath.matrix4(), { index: 4 });
1754
+ * // update a sub-element in a constant
1755
+ * gui.set(node, "tint.x", 1);
1756
+ * // update a sub-element in an array constant at position 4
1757
+ * gui.set(node, "tint_array.x", 1, { index: 4 });
1758
+ *
1759
+ * // Set a named property
1760
+ * export default defineScript({
1761
+ * on_message(self, message_id, message) {
1762
+ * if (message_id === hash("set_font")) {
1763
+ * gui.set(msg.url(), "fonts", message.font, { key: "my_font_name" });
1764
+ * gui.set_font(gui.get_node("text"), "my_font_name");
1765
+ * } else if (message_id === hash("set_texture")) {
1766
+ * gui.set(msg.url(), "textures", message.texture, { key: "my_texture" });
1767
+ * gui.set_texture(gui.get_node("box"), "my_texture");
1768
+ * gui.play_flipbook(gui.get_node("box"), "logo_256");
1769
+ * }
1770
+ * },
1771
+ * });
1772
1772
  * ```
1773
1773
  */
1774
1774
  function set(node: Opaque<"node"> | Url, property: string | Hash | Opaque<"constant">, value: number | Vector4 | Vector3 | Quaternion, options?: { index?: number; key?: Hash }): void;
@@ -67,11 +67,11 @@ declare global {
67
67
  * @param callback - Callback after the asynchronous request completed
68
68
  * @returns The result of the request
69
69
  * @example
70
- * ```lua
71
- * Add multiple mounts. Higher priority takes precedence.
72
- * liveupdate.add_mount("common", "zip:/path/to/common_stuff.zip", 10, function (result) end) -- base pack
73
- * liveupdate.add_mount("levelpack_1", "zip:/path/to/levels_1_to_20.zip", 20, function (result) end) -- level pack
74
- * liveupdate.add_mount("season_pack_1", "zip:/path/to/easter_pack_1.zip", 30, function (result) end) -- season pack, overriding content in the other packs
70
+ * ```ts
71
+ * // Add multiple mounts. Higher priority takes precedence.
72
+ * liveupdate.add_mount("common", "zip:/path/to/common_stuff.zip", 10, (result) => {}); // base pack
73
+ * liveupdate.add_mount("levelpack_1", "zip:/path/to/levels_1_to_20.zip", 20, (result) => {}); // level pack
74
+ * liveupdate.add_mount("season_pack_1", "zip:/path/to/easter_pack_1.zip", 30, (result) => {}); // season pack, overriding content in the other packs
75
75
  * ```
76
76
  */
77
77
  function add_mount(name: string, uri: string, priority: number, callback: (...args: unknown[]) => unknown): number;
@@ -81,24 +81,24 @@ declare global {
81
81
  *
82
82
  * @returns Array of mounts
83
83
  * @example
84
- * ```lua
85
- * Output the current resource mounts
86
- * pprint("MOUNTS", liveupdate.get_mounts())
84
+ * ```ts
85
+ * // Output the current resource mounts
86
+ * pprint("MOUNTS", liveupdate.get_mounts());
87
87
  *
88
- * Give an output like:
89
- * DEBUG:SCRIPT: MOUNTS,
90
- * { --[[0x119667bf0]]
91
- * 1 = { --[[0x119667c50]]
92
- * name = "liveupdate",
93
- * uri = "zip:/device/path/to/acchives/liveupdate.zip",
94
- * priority = 5
95
- * },
96
- * 2 = { --[[0x119667d50]]
97
- * name = "_base",
98
- * uri = "archive:build/default/game.dmanifest",
99
- * priority = -10
100
- * }
101
- * }
88
+ * // Give an output like:
89
+ * // DEBUG:SCRIPT: MOUNTS,
90
+ * // {
91
+ * // 1 = {
92
+ * // name = "liveupdate",
93
+ * // uri = "zip:/device/path/to/acchives/liveupdate.zip",
94
+ * // priority = 5
95
+ * // },
96
+ * // 2 = {
97
+ * // name = "_base",
98
+ * // uri = "archive:build/default/game.dmanifest",
99
+ * // priority = -10
100
+ * // }
101
+ * // }
102
102
  * ```
103
103
  */
104
104
  function get_mounts(): { name: string; uri: string; priority: number }[];
@@ -288,82 +288,85 @@ declare global {
288
288
  * `data`
289
289
  * table The callback value data is a table that contains event-related data. See the documentation for details on the messages.
290
290
  * @example
291
- * ```lua
292
- * local function physics_world_listener(self, events)
293
- * for _,event in ipairs(events):
294
- * local event_type = event['type']
295
- * if event_type == hash("contact_point_event") then
296
- * pprint(event)
297
- * -- {
298
- * -- distance = 2.1490633487701,
299
- * -- applied_impulse = 0
300
- * -- a = { --[[0x113f7c6c0]]
301
- * -- group = hash: [box],
302
- * -- id = hash: [/box]
303
- * -- mass = 0,
304
- * -- normal = vmath.vector3(0.379, 0.925, -0),
305
- * -- position = vmath.vector3(517.337, 235.068, 0),
306
- * -- instance_position = vmath.vector3(480, 144, 0),
307
- * -- relative_velocity = vmath.vector3(-0, -0, -0),
308
- * -- },
309
- * -- b = { --[[0x113f7c840]]
310
- * -- group = hash: [circle],
311
- * -- id = hash: [/circle]
312
- * -- mass = 0,
313
- * -- normal = vmath.vector3(-0.379, -0.925, 0),
314
- * -- position = vmath.vector3(517.337, 235.068, 0),
315
- * -- instance_position = vmath.vector3(-0.0021, 0, -0.0022),
316
- * -- relative_velocity = vmath.vector3(0, 0, 0),
317
- * -- },
318
- * -- }
319
- * elseif event == hash("collision_event") then
320
- * pprint(event)
321
- * -- {
322
- * -- a = {
323
- * -- group = hash: [default],
324
- * -- position = vmath.vector3(183, 666, 0),
325
- * -- id = hash: [/go1]
326
- * -- },
327
- * -- b = {
328
- * -- group = hash: [default],
329
- * -- position = vmath.vector3(185, 704.05865478516, 0),
330
- * -- id = hash: [/go2]
331
- * -- }
332
- * -- }
333
- * elseif event == hash("trigger_event") then
334
- * pprint(event)
335
- * -- {
336
- * -- enter = true,
337
- * -- b = {
338
- * -- group = hash: [default],
339
- * -- id = hash: [/go2]
340
- * -- },
341
- * -- a = {
342
- * -- group = hash: [default],
343
- * -- id = hash: [/go1]
344
- * -- }
345
- * -- },
346
- * elseif event == hash("ray_cast_response") then
347
- * pprint(event)
348
- * --{
349
- * -- group = hash: [default],
350
- * -- request_id = 0,
351
- * -- position = vmath.vector3(249.92222595215, 249.92222595215, 0),
352
- * -- fraction = 0.68759721517563,
353
- * -- normal = vmath.vector3(0, 1, 0),
354
- * -- id = hash: [/go]
355
- * -- }
356
- * elseif event == hash("ray_cast_missed") then
357
- * pprint(event)
358
- * -- {
359
- * -- request_id = 0
360
- * --},
361
- * end
362
- * end
291
+ * ```ts
292
+ * function physics_world_listener(self, events) {
293
+ * for (const event of events) {
294
+ * const event_type = event["type"];
295
+ * if (event_type === hash("contact_point_event")) {
296
+ * pprint(event);
297
+ * // {
298
+ * // distance = 2.1490633487701,
299
+ * // applied_impulse = 0
300
+ * // a = { --[[0x113f7c6c0]]
301
+ * // group = hash: [box],
302
+ * // id = hash: [/box]
303
+ * // mass = 0,
304
+ * // normal = vmath.vector3(0.379, 0.925, -0),
305
+ * // position = vmath.vector3(517.337, 235.068, 0),
306
+ * // instance_position = vmath.vector3(480, 144, 0),
307
+ * // relative_velocity = vmath.vector3(-0, -0, -0),
308
+ * // },
309
+ * // b = { --[[0x113f7c840]]
310
+ * // group = hash: [circle],
311
+ * // id = hash: [/circle]
312
+ * // mass = 0,
313
+ * // normal = vmath.vector3(-0.379, -0.925, 0),
314
+ * // position = vmath.vector3(517.337, 235.068, 0),
315
+ * // instance_position = vmath.vector3(-0.0021, 0, -0.0022),
316
+ * // relative_velocity = vmath.vector3(0, 0, 0),
317
+ * // },
318
+ * // }
319
+ * } else if (event === hash("collision_event")) {
320
+ * pprint(event);
321
+ * // {
322
+ * // a = {
323
+ * // group = hash: [default],
324
+ * // position = vmath.vector3(183, 666, 0),
325
+ * // id = hash: [/go1]
326
+ * // },
327
+ * // b = {
328
+ * // group = hash: [default],
329
+ * // position = vmath.vector3(185, 704.05865478516, 0),
330
+ * // id = hash: [/go2]
331
+ * // }
332
+ * // }
333
+ * } else if (event === hash("trigger_event")) {
334
+ * pprint(event);
335
+ * // {
336
+ * // enter = true,
337
+ * // b = {
338
+ * // group = hash: [default],
339
+ * // id = hash: [/go2]
340
+ * // },
341
+ * // a = {
342
+ * // group = hash: [default],
343
+ * // id = hash: [/go1]
344
+ * // }
345
+ * // },
346
+ * } else if (event === hash("ray_cast_response")) {
347
+ * pprint(event);
348
+ * // {
349
+ * // group = hash: [default],
350
+ * // request_id = 0,
351
+ * // position = vmath.vector3(249.92222595215, 249.92222595215, 0),
352
+ * // fraction = 0.68759721517563,
353
+ * // normal = vmath.vector3(0, 1, 0),
354
+ * // id = hash: [/go]
355
+ * // }
356
+ * } else if (event === hash("ray_cast_missed")) {
357
+ * pprint(event);
358
+ * // {
359
+ * // request_id = 0
360
+ * // },
361
+ * }
362
+ * }
363
+ * }
363
364
  *
364
- * function init(self)
365
- * physics.set_event_listener(physics_world_listener)
366
- * end
365
+ * export default defineScript({
366
+ * init(self) {
367
+ * physics.set_event_listener(physics_world_listener);
368
+ * },
369
+ * });
367
370
  * ```
368
371
  */
369
372
  function set_event_listener(callback?: (self: unknown, events: unknown) => void): void;
@@ -575,66 +575,86 @@ declare global {
575
575
  * @param parameters - table of buffer parameters, see the description for available keys and values
576
576
  * @returns new render target
577
577
  * @example
578
- * ```lua
579
- * How to create a new render target and draw to it:
580
- * function init(self)
581
- * -- render target buffer parameters
582
- * local color_params = { format = graphics.TEXTURE_FORMAT_RGBA,
583
- * width = render.get_window_width(),
584
- * height = render.get_window_height(),
585
- * min_filter = graphics.TEXTURE_FILTER_LINEAR,
586
- * mag_filter = graphics.TEXTURE_FILTER_LINEAR,
587
- * u_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
588
- * v_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE }
589
- * local depth_params = { format = graphics.TEXTURE_FORMAT_DEPTH,
590
- * width = render.get_window_width(),
591
- * height = render.get_window_height(),
592
- * u_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
593
- * v_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE }
594
- * self.my_render_target = render.render_target({[graphics.BUFFER_TYPE_COLOR0_BIT] = color_params, [graphics.BUFFER_TYPE_DEPTH_BIT] = depth_params })
595
- * end
578
+ * ```ts
579
+ * // How to create a new render target and draw to it:
580
+ * export default defineScript({
581
+ * init() {
582
+ * // render target buffer parameters
583
+ * const color_params = {
584
+ * format: graphics.TEXTURE_FORMAT_RGBA,
585
+ * width: render.get_window_width(),
586
+ * height: render.get_window_height(),
587
+ * min_filter: graphics.TEXTURE_FILTER_LINEAR,
588
+ * mag_filter: graphics.TEXTURE_FILTER_LINEAR,
589
+ * u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
590
+ * v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
591
+ * };
592
+ * const depth_params = {
593
+ * format: graphics.TEXTURE_FORMAT_DEPTH,
594
+ * width: render.get_window_width(),
595
+ * height: render.get_window_height(),
596
+ * u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
597
+ * v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
598
+ * };
599
+ * return {
600
+ * my_render_target: render.render_target({
601
+ * [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params,
602
+ * [graphics.BUFFER_TYPE_DEPTH_BIT]: depth_params,
603
+ * }),
604
+ * };
605
+ * },
596
606
  *
597
- * function update(self, dt)
598
- * -- enable target so all drawing is done to it
599
- * render.set_render_target(self.my_render_target)
607
+ * update(self, dt) {
608
+ * // enable target so all drawing is done to it
609
+ * render.set_render_target(self.my_render_target);
600
610
  *
601
- * -- draw a predicate to the render target
602
- * render.draw(self.my_pred)
603
- * end
611
+ * // draw a predicate to the render target
612
+ * render.draw(self.my_pred);
613
+ * },
614
+ * });
604
615
  *
605
- * How to create a render target with multiple outputs:
606
- * function init(self)
607
- * -- render target buffer parameters
608
- * local color_params_rgba = { format = graphics.TEXTURE_FORMAT_RGBA,
609
- * width = render.get_window_width(),
610
- * height = render.get_window_height(),
611
- * min_filter = graphics.TEXTURE_FILTER_LINEAR,
612
- * mag_filter = graphics.TEXTURE_FILTER_LINEAR,
613
- * u_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
614
- * v_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE }
615
- * local color_params_float = { format = graphics.TEXTURE_FORMAT_RG32F,
616
- * width = render.get_window_width(),
617
- * height = render.get_window_height(),
618
- * min_filter = graphics.TEXTURE_FILTER_LINEAR,
619
- * mag_filter = graphics.TEXTURE_FILTER_LINEAR,
620
- * u_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
621
- * v_wrap = graphics.TEXTURE_WRAP_CLAMP_TO_EDGE }
622
- *
623
- * -- Create a render target with three color attachments
624
- * -- Note: No depth buffer is attached here
625
- * self.my_render_target = render.render_target({
626
- * [graphics.BUFFER_TYPE_COLOR0_BIT] = color_params_rgba,
627
- * [graphics.BUFFER_TYPE_COLOR1_BIT] = color_params_rgba,
628
- * [graphics.BUFFER_TYPE_COLOR2_BIT] = color_params_float, })
629
- * end
616
+ * // How to create a render target with multiple outputs:
617
+ * export default defineScript({
618
+ * init() {
619
+ * // render target buffer parameters
620
+ * const color_params_rgba = {
621
+ * format: graphics.TEXTURE_FORMAT_RGBA,
622
+ * width: render.get_window_width(),
623
+ * height: render.get_window_height(),
624
+ * min_filter: graphics.TEXTURE_FILTER_LINEAR,
625
+ * mag_filter: graphics.TEXTURE_FILTER_LINEAR,
626
+ * u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
627
+ * v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
628
+ * };
629
+ * const color_params_float = {
630
+ * format: graphics.TEXTURE_FORMAT_RG32F,
631
+ * width: render.get_window_width(),
632
+ * height: render.get_window_height(),
633
+ * min_filter: graphics.TEXTURE_FILTER_LINEAR,
634
+ * mag_filter: graphics.TEXTURE_FILTER_LINEAR,
635
+ * u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
636
+ * v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
637
+ * };
630
638
  *
631
- * function update(self, dt)
632
- * -- enable target so all drawing is done to it
633
- * render.enable_render_target(self.my_render_target)
639
+ * // Create a render target with three color attachments
640
+ * // Note: No depth buffer is attached here
641
+ * return {
642
+ * my_render_target: render.render_target({
643
+ * [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params_rgba,
644
+ * [graphics.BUFFER_TYPE_COLOR1_BIT]: color_params_rgba,
645
+ * [graphics.BUFFER_TYPE_COLOR2_BIT]: color_params_float,
646
+ * }),
647
+ * };
648
+ * },
634
649
  *
635
- * -- draw a predicate to the render target
636
- * render.draw(self.my_pred)
637
- * end
650
+ * update(self, dt) {
651
+ * // enable target so all drawing is done to it
652
+ * render.enable_render_target(self.my_render_target);
653
+ *
654
+ * // draw a predicate to the render target
655
+ * render.draw(self.my_pred);
656
+ * },
657
+ * });
638
658
  * ```
639
659
  */
640
660
  function render_target(name: string, parameters: Record<string | number, unknown>): Opaque<"render_target">;