@defold-typescript/types 0.51.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/api-availability.json +4 -58
  2. package/api-signatures.json +2804 -3172
  3. package/api-targets.json +15 -5
  4. package/examples/translations.json +19 -71
  5. package/generated/b2d.d.ts +39 -39
  6. package/generated/b2d_body.d.ts +11 -11
  7. package/generated/b2d_chain.d.ts +3 -3
  8. package/generated/b2d_fixture.d.ts +5 -5
  9. package/generated/b2d_joint.d.ts +29 -29
  10. package/generated/b2d_shape.d.ts +13 -13
  11. package/generated/b2d_world.d.ts +15 -15
  12. package/generated/buffer.d.ts +10 -11
  13. package/generated/bullet3d.d.ts +6 -6
  14. package/generated/bullet3d_collision_object.d.ts +10 -10
  15. package/generated/bullet3d_constraint.d.ts +173 -71
  16. package/generated/bullet3d_rigid_body.d.ts +3 -3
  17. package/generated/bullet3d_shape.d.ts +11 -11
  18. package/generated/bullet3d_world.d.ts +20 -20
  19. package/generated/camera.d.ts +4 -4
  20. package/generated/collectionfactory.d.ts +2 -3
  21. package/generated/collectionproxy.d.ts +5 -5
  22. package/generated/compute.d.ts +5 -5
  23. package/generated/crash.d.ts +7 -7
  24. package/generated/editor-vm/http.d.ts +13 -13
  25. package/generated/editor-vm/image.d.ts +4 -4
  26. package/generated/editor-vm/json.d.ts +1 -1
  27. package/generated/editor-vm/tilemap_tiles.d.ts +9 -9
  28. package/generated/editor-vm/zip.d.ts +4 -4
  29. package/generated/editor.d.ts +183 -183
  30. package/generated/factory.d.ts +2 -3
  31. package/generated/font.d.ts +4 -4
  32. package/generated/go.d.ts +122 -230
  33. package/generated/graphics.d.ts +23 -25
  34. package/generated/gui.d.ts +186 -423
  35. package/generated/http.d.ts +3 -3
  36. package/generated/image.d.ts +63 -11
  37. package/generated/json.d.ts +4 -4
  38. package/generated/kinds/gui-script.d.ts +2 -0
  39. package/generated/kinds/render-script.d.ts +14 -15
  40. package/generated/label.d.ts +5 -5
  41. package/generated/liveupdate.d.ts +7 -3
  42. package/generated/material.d.ts +49 -49
  43. package/generated/model.d.ts +46 -14
  44. package/generated/particlefx.d.ts +24 -5
  45. package/generated/physics.d.ts +64 -20
  46. package/generated/profiler.d.ts +3 -5
  47. package/generated/render-script-modules/b2d.d.ts +711 -0
  48. package/generated/render-script-modules/bullet3d.d.ts +73 -0
  49. package/generated/render-script-modules/collectionfactory.d.ts +24 -0
  50. package/generated/render-script-modules/collectionproxy.d.ts +39 -0
  51. package/generated/render-script-modules/factory.d.ts +24 -0
  52. package/generated/render-script-modules/go.d.ts +434 -0
  53. package/generated/render-script-modules/label.d.ts +105 -0
  54. package/generated/render-script-modules/model.d.ts +121 -0
  55. package/generated/render-script-modules/particlefx.d.ts +59 -0
  56. package/generated/render-script-modules/physics.d.ts +333 -0
  57. package/generated/render-script-modules/resource.d.ts +1232 -0
  58. package/generated/render-script-modules/sound.d.ts +227 -0
  59. package/generated/render-script-modules/sprite.d.ts +68 -0
  60. package/generated/render-script-modules/tilemap.d.ts +43 -0
  61. package/generated/render.d.ts +172 -47
  62. package/generated/resource.d.ts +81 -61
  63. package/generated/socket.d.ts +18 -23
  64. package/generated/sound.d.ts +6 -6
  65. package/generated/sprite.d.ts +51 -3
  66. package/generated/sys.d.ts +87 -24
  67. package/generated/tilemap.d.ts +3 -3
  68. package/generated/timer.d.ts +3 -3
  69. package/generated/versions/defold-1.12.4/b2d.d.ts +2 -2
  70. package/generated/versions/defold-1.12.4/b2d_body.d.ts +2 -2
  71. package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
  72. package/generated/versions/defold-1.12.4/go.d.ts +117 -345
  73. package/generated/versions/defold-1.12.4/graphics.d.ts +2 -1
  74. package/generated/versions/defold-1.12.4/gui.d.ts +169 -532
  75. package/generated/versions/defold-1.12.4/http.d.ts +2 -2
  76. package/generated/versions/defold-1.12.4/image.d.ts +82 -2
  77. package/generated/versions/defold-1.12.4/index.d.ts +1 -0
  78. package/generated/versions/defold-1.12.4/label.d.ts +1 -1
  79. package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
  80. package/generated/versions/defold-1.12.4/model.d.ts +42 -10
  81. package/generated/versions/defold-1.12.4/particlefx.d.ts +23 -2
  82. package/generated/versions/defold-1.12.4/physics.d.ts +46 -2
  83. package/generated/versions/defold-1.12.4/render.d.ts +83 -7
  84. package/generated/versions/defold-1.12.4/resource.d.ts +50 -17
  85. package/generated/versions/defold-1.12.4/socket.d.ts +12 -12
  86. package/generated/versions/defold-1.12.4/sound.d.ts +1 -1
  87. package/generated/versions/defold-1.12.4/sprite.d.ts +59 -2
  88. package/generated/versions/defold-1.12.4/sys.d.ts +103 -8
  89. package/generated/versions/defold-1.12.4/tilemap.d.ts +1 -1
  90. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
  91. package/generated/versions/defold-1.12.4/window.d.ts +3 -4
  92. package/generated/versions/defold-1.13.0/b2d.d.ts +2 -2
  93. package/generated/versions/defold-1.13.0/b2d_body.d.ts +2 -2
  94. package/generated/versions/defold-1.13.0/b2d_chain.d.ts +1 -1
  95. package/generated/versions/defold-1.13.0/b2d_joint.d.ts +1 -1
  96. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +1 -1
  97. package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
  98. package/generated/versions/defold-1.13.0/camera.d.ts +1 -1
  99. package/generated/versions/defold-1.13.0/go.d.ts +117 -372
  100. package/generated/versions/defold-1.13.0/graphics.d.ts +2 -1
  101. package/generated/versions/defold-1.13.0/gui.d.ts +169 -532
  102. package/generated/versions/defold-1.13.0/http.d.ts +2 -2
  103. package/generated/versions/defold-1.13.0/image.d.ts +82 -2
  104. package/generated/versions/defold-1.13.0/index.d.ts +1 -0
  105. package/generated/versions/defold-1.13.0/label.d.ts +1 -1
  106. package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
  107. package/generated/versions/defold-1.13.0/material.d.ts +3 -1
  108. package/generated/versions/defold-1.13.0/model.d.ts +42 -10
  109. package/generated/versions/defold-1.13.0/particlefx.d.ts +23 -2
  110. package/generated/versions/defold-1.13.0/physics.d.ts +46 -2
  111. package/generated/versions/defold-1.13.0/render.d.ts +147 -9
  112. package/generated/versions/defold-1.13.0/resource.d.ts +50 -17
  113. package/generated/versions/defold-1.13.0/socket.d.ts +12 -12
  114. package/generated/versions/defold-1.13.0/sound.d.ts +1 -1
  115. package/generated/versions/defold-1.13.0/sprite.d.ts +59 -2
  116. package/generated/versions/defold-1.13.0/sys.d.ts +103 -8
  117. package/generated/versions/defold-1.13.0/tilemap.d.ts +1 -1
  118. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
  119. package/generated/versions/defold-1.13.0/window.d.ts +3 -4
  120. package/generated/versions/defold-1.13.1/b2d.d.ts +2 -2
  121. package/generated/versions/defold-1.13.1/b2d_body.d.ts +2 -2
  122. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +1 -1
  123. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +1 -1
  124. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +1 -1
  125. package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
  126. package/generated/versions/defold-1.13.1/camera.d.ts +1 -1
  127. package/generated/versions/defold-1.13.1/go.d.ts +117 -372
  128. package/generated/versions/defold-1.13.1/graphics.d.ts +2 -1
  129. package/generated/versions/defold-1.13.1/gui.d.ts +169 -548
  130. package/generated/versions/defold-1.13.1/http.d.ts +2 -2
  131. package/generated/versions/defold-1.13.1/image.d.ts +82 -2
  132. package/generated/versions/defold-1.13.1/index.d.ts +2 -0
  133. package/generated/versions/defold-1.13.1/label.d.ts +1 -1
  134. package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
  135. package/generated/versions/defold-1.13.1/material.d.ts +3 -1
  136. package/generated/versions/defold-1.13.1/model.d.ts +42 -10
  137. package/generated/versions/defold-1.13.1/particlefx.d.ts +23 -2
  138. package/generated/versions/defold-1.13.1/physics.d.ts +46 -2
  139. package/generated/versions/defold-1.13.1/render.d.ts +147 -9
  140. package/generated/versions/defold-1.13.1/resource.d.ts +50 -17
  141. package/generated/versions/defold-1.13.1/socket.d.ts +12 -12
  142. package/generated/versions/defold-1.13.1/sound.d.ts +1 -1
  143. package/generated/versions/defold-1.13.1/sprite.d.ts +59 -2
  144. package/generated/versions/defold-1.13.1/sys.d.ts +103 -8
  145. package/generated/versions/defold-1.13.1/tilemap.d.ts +1 -1
  146. package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
  147. package/generated/versions/defold-1.13.1/window.d.ts +3 -4
  148. package/generated/versions/defold-1.13.2/b2d.d.ts +39 -39
  149. package/generated/versions/defold-1.13.2/b2d_body.d.ts +11 -11
  150. package/generated/versions/defold-1.13.2/b2d_chain.d.ts +3 -3
  151. package/generated/versions/defold-1.13.2/b2d_fixture.d.ts +5 -5
  152. package/generated/versions/defold-1.13.2/b2d_joint.d.ts +29 -29
  153. package/generated/versions/defold-1.13.2/b2d_shape.d.ts +13 -13
  154. package/generated/versions/defold-1.13.2/b2d_world.d.ts +15 -15
  155. package/generated/versions/defold-1.13.2/buffer.d.ts +10 -11
  156. package/generated/versions/defold-1.13.2/bullet3d.d.ts +6 -6
  157. package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +10 -10
  158. package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +173 -71
  159. package/generated/versions/defold-1.13.2/bullet3d_rigid_body.d.ts +3 -3
  160. package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +11 -11
  161. package/generated/versions/defold-1.13.2/bullet3d_world.d.ts +20 -20
  162. package/generated/versions/defold-1.13.2/camera.d.ts +4 -4
  163. package/generated/versions/defold-1.13.2/collectionfactory.d.ts +2 -3
  164. package/generated/versions/defold-1.13.2/collectionproxy.d.ts +5 -5
  165. package/generated/versions/defold-1.13.2/compute.d.ts +5 -5
  166. package/generated/versions/defold-1.13.2/crash.d.ts +7 -7
  167. package/generated/versions/defold-1.13.2/editor-vm/http.d.ts +13 -13
  168. package/generated/versions/defold-1.13.2/editor-vm/image.d.ts +4 -4
  169. package/generated/versions/defold-1.13.2/editor-vm/json.d.ts +1 -1
  170. package/generated/versions/defold-1.13.2/editor-vm/tilemap_tiles.d.ts +9 -9
  171. package/generated/versions/defold-1.13.2/editor-vm/zip.d.ts +4 -4
  172. package/generated/versions/defold-1.13.2/editor.d.ts +183 -183
  173. package/generated/versions/defold-1.13.2/factory.d.ts +2 -3
  174. package/generated/versions/defold-1.13.2/font.d.ts +4 -4
  175. package/generated/versions/defold-1.13.2/go.d.ts +122 -230
  176. package/generated/versions/defold-1.13.2/graphics.d.ts +22 -24
  177. package/generated/versions/defold-1.13.2/gui.d.ts +186 -423
  178. package/generated/versions/defold-1.13.2/http.d.ts +3 -3
  179. package/generated/versions/defold-1.13.2/image.d.ts +63 -11
  180. package/generated/versions/defold-1.13.2/index.d.ts +2 -0
  181. package/generated/versions/defold-1.13.2/json.d.ts +4 -4
  182. package/generated/versions/defold-1.13.2/label.d.ts +5 -5
  183. package/generated/versions/defold-1.13.2/liveupdate.d.ts +7 -3
  184. package/generated/versions/defold-1.13.2/material.d.ts +49 -49
  185. package/generated/versions/defold-1.13.2/model.d.ts +46 -14
  186. package/generated/versions/defold-1.13.2/particlefx.d.ts +24 -5
  187. package/generated/versions/defold-1.13.2/physics.d.ts +64 -20
  188. package/generated/versions/defold-1.13.2/profiler.d.ts +3 -5
  189. package/generated/versions/defold-1.13.2/render.d.ts +161 -46
  190. package/generated/versions/defold-1.13.2/resource.d.ts +81 -61
  191. package/generated/versions/defold-1.13.2/socket.d.ts +18 -23
  192. package/generated/versions/defold-1.13.2/sound.d.ts +6 -6
  193. package/generated/versions/defold-1.13.2/sprite.d.ts +51 -3
  194. package/generated/versions/defold-1.13.2/sys.d.ts +87 -24
  195. package/generated/versions/defold-1.13.2/tilemap.d.ts +3 -3
  196. package/generated/versions/defold-1.13.2/timer.d.ts +3 -3
  197. package/generated/versions/defold-1.13.2/vmath.d.ts +0 -25
  198. package/generated/versions/defold-1.13.2/window.d.ts +8 -10
  199. package/generated/vmath.d.ts +0 -25
  200. package/generated/window.d.ts +8 -10
  201. package/identity-vocabulary.json +86 -34
  202. package/index.d.ts +2 -0
  203. package/package.json +3 -1
  204. package/scripts/generate-api-availability.ts +10 -24
  205. package/scripts/generate-api-signatures.ts +75 -14
  206. package/scripts/materialize-version.ts +48 -7
  207. package/scripts/regen.ts +214 -19
  208. package/scripts/shared-handle-methods.ts +3 -2
  209. package/scripts/signature-store-fs.ts +1 -0
  210. package/scripts/target-version.ts +26 -0
  211. package/src/api-doc.ts +34 -0
  212. package/src/api-identity.ts +32 -1
  213. package/src/component-properties.d.ts +96 -7
  214. package/src/core-types.ts +71 -28
  215. package/src/doc-corrections.ts +62 -5
  216. package/src/emit-dts.ts +1423 -401
  217. package/src/engine-globals.d.ts +5 -1
  218. package/src/engine-type-name.ts +33 -0
  219. package/src/go-overloads.d.ts +74 -19
  220. package/src/gui-overloads.d.ts +489 -0
  221. package/src/gui-texture-removal.d.ts +41 -0
  222. package/src/index.ts +3 -0
  223. package/src/lifecycle.ts +32 -23
  224. package/src/msg-overloads.d.ts +25 -13
  225. package/src/signature-store.ts +50 -0
  226. package/src/socket-types.d.ts +3 -3
  227. package/src/timers.d.ts +2 -1
  228. package/src/vmath-overloads.d.ts +26 -0
@@ -9,17 +9,17 @@ declare global {
9
9
  /**
10
10
  * Render-camera options
11
11
  */
12
- interface camera_options {
12
+ interface CameraOptions {
13
13
  /**
14
14
  * Use the camera view-projection matrix for frustum culling. The default is false.
15
15
  */
16
16
  use_frustum?: boolean;
17
17
  }
18
- type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
18
+ type ConstantBuffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> };
19
19
  /**
20
20
  * Debug-draw options
21
21
  */
22
- interface debug_draw_options {
22
+ interface DebugDrawOptions {
23
23
  /**
24
24
  * Frustum matrix used for culling renderable items.
25
25
  */
@@ -27,12 +27,12 @@ declare global {
27
27
  /**
28
28
  * Frustum planes used for culling. The default is render.FRUSTUM_PLANES_SIDES.
29
29
  */
30
- frustum_planes?: render.FRUSTUM_PLANES;
30
+ frustum_planes?: render.FrustumPlanes;
31
31
  }
32
32
  /**
33
33
  * Compute-dispatch options
34
34
  */
35
- interface dispatch_options {
35
+ interface DispatchOptions {
36
36
  /**
37
37
  * Constants used by the compute program. The values are copied when `render.dispatch_compute()` is called.
38
38
  */
@@ -41,7 +41,7 @@ declare global {
41
41
  /**
42
42
  * Render draw options
43
43
  */
44
- interface draw_options {
44
+ interface DrawOptions {
45
45
  /**
46
46
  * Frustum matrix used for culling renderable items.
47
47
  */
@@ -49,7 +49,7 @@ declare global {
49
49
  /**
50
50
  * Frustum planes used for culling. The default is render.FRUSTUM_PLANES_SIDES.
51
51
  */
52
- frustum_planes?: render.FRUSTUM_PLANES;
52
+ frustum_planes?: render.FrustumPlanes;
53
53
  /**
54
54
  * Constants used while rendering. The values are copied when `render.draw()` is called.
55
55
  */
@@ -57,18 +57,18 @@ declare global {
57
57
  /**
58
58
  * World-entry sort order. The default is the renderer's preferred back-to-front order.
59
59
  */
60
- sort_order?: render.SORT;
60
+ sort_order?: render.Sort;
61
61
  }
62
- type render_predicate = number;
63
- type render_target = Opaque<"render_target">;
62
+ type RenderPredicate = Opaque<"render_predicate">;
63
+ type RenderTarget = Opaque<"render_target">;
64
64
  /**
65
65
  * Render-target attachment parameters
66
66
  */
67
- interface render_target_buffer_params {
67
+ interface RenderTargetBufferParams {
68
68
  /**
69
69
  * Attachment texture format.
70
70
  */
71
- format: graphics.TEXTURE_FORMAT;
71
+ format: graphics.TextureFormat;
72
72
  /**
73
73
  * Attachment width.
74
74
  */
@@ -80,49 +80,49 @@ declare global {
80
80
  /**
81
81
  * Minification filter.
82
82
  */
83
- min_filter?: graphics.TEXTURE_FILTER;
83
+ min_filter?: graphics.TextureFilter;
84
84
  /**
85
85
  * Magnification filter.
86
86
  */
87
- mag_filter?: graphics.TEXTURE_FILTER;
87
+ mag_filter?: graphics.TextureFilter;
88
88
  /**
89
89
  * Horizontal wrap mode.
90
90
  */
91
- u_wrap?: graphics.TEXTURE_WRAP;
91
+ u_wrap?: graphics.TextureWrap;
92
92
  /**
93
93
  * Vertical wrap mode.
94
94
  */
95
- v_wrap?: graphics.TEXTURE_WRAP;
95
+ v_wrap?: graphics.TextureWrap;
96
96
  /**
97
97
  * Depth wrap mode.
98
98
  */
99
- w_wrap?: graphics.TEXTURE_WRAP;
99
+ w_wrap?: graphics.TextureWrap;
100
100
  /**
101
101
  * Attachment creation flags, applicable only to depth and stencil buffers.
102
102
  */
103
- flags?: render.RENDER_TARGET_FLAG | number;
103
+ flags?: render.RenderTargetFlag | number;
104
104
  }
105
- type render_target_params = { type?: graphics.TEXTURE_TYPE; sample_count?: number } & { [key: number]: render.render_target_buffer_params };
105
+ type RenderTargetParams = { type?: render.RenderTargetTextureType; sample_count?: number } & { [key: number]: render.RenderTargetBufferParams };
106
106
  /**
107
107
  * Render-target activation options
108
108
  */
109
- interface set_render_target_options {
109
+ interface SetRenderTargetOptions {
110
110
  /**
111
111
  * Buffers whose contents become undefined after the target is deactivated. Missing buffers are ignored; combined depth-stencil buffers remain non-transient unless both are selected.
112
112
  */
113
- transient?: graphics.BUFFER_TYPE[];
113
+ transient?: graphics.BufferType[];
114
114
  /**
115
115
  * Cubemap face selected for rendering. Valid only for cubemap render targets.
116
116
  */
117
- face?: graphics.CUBEMAP_FACE;
117
+ face?: graphics.CubemapFace;
118
118
  }
119
- type texture = Opaque<"texture">;
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 RenderTargetParams = render.render_target_params;
122
- type CONTEXT_EVENT = typeof render.CONTEXT_EVENT_CONTEXT_LOST | typeof render.CONTEXT_EVENT_CONTEXT_RESTORED;
123
- type FRUSTUM_PLANES = typeof render.FRUSTUM_PLANES_ALL | typeof render.FRUSTUM_PLANES_SIDES;
124
- type RENDER_TARGET_FLAG = typeof render.TEXTURE_BIT;
125
- type SORT = typeof render.SORT_BACK_TO_FRONT | typeof render.SORT_FRONT_TO_BACK | typeof render.SORT_NONE;
121
+ type RenderTargetTextureType = typeof graphics.TEXTURE_TYPE_2D | typeof graphics.TEXTURE_TYPE_CUBE_MAP;
122
+ type ContextEvent = typeof render.CONTEXT_EVENT_CONTEXT_LOST | typeof render.CONTEXT_EVENT_CONTEXT_RESTORED;
123
+ type FrustumPlanes = typeof render.FRUSTUM_PLANES_ALL | typeof render.FRUSTUM_PLANES_SIDES;
124
+ type RenderTargetFlag = typeof render.TEXTURE_BIT;
125
+ type Sort = typeof render.SORT_BACK_TO_FRONT | typeof render.SORT_FRONT_TO_BACK | typeof render.SORT_NONE;
126
126
  /**
127
127
  * rendering context was lost; rendering pauses and graphics resources become invalid
128
128
  */
@@ -295,7 +295,7 @@ declare global {
295
295
  * });
296
296
  * ```
297
297
  */
298
- function disable_state(state: graphics.STATE): void;
298
+ function disable_state(state: Exclude<graphics.State, typeof graphics.STATE_ALPHA_TEST_SUPPORTED | typeof graphics.STATE_SCISSOR_TEST>): void;
299
299
  /**
300
300
  * Disables a texture that has previourly been enabled.
301
301
  *
@@ -330,7 +330,7 @@ declare global {
330
330
  * });
331
331
  * ```
332
332
  */
333
- function disable_texture(binding: Opaque<"texture"> | string | Hash | number): void;
333
+ function disable_texture(binding: string | Hash | number): void;
334
334
  /**
335
335
  * Dispatches the currently enabled compute program. The dispatch call takes three arguments x,y,z which constitutes
336
336
  * the 'global working group' of the compute dispatch. Together with the 'local working group' specified in the compute shader
@@ -378,7 +378,7 @@ declare global {
378
378
  * render.dispatch_compute(32, 32, 32, { constants });
379
379
  * ```
380
380
  */
381
- function dispatch_compute(x: number, y: number, z: number, options?: render.dispatch_options): void;
381
+ function dispatch_compute(x: number, y: number, z: number, options?: render.DispatchOptions): void;
382
382
  /**
383
383
  * Draws all objects that match a specified predicate. An optional constant buffer can be
384
384
  * provided to override the default constants. If no constants buffer is provided, a default
@@ -427,7 +427,56 @@ declare global {
427
427
  * }
428
428
  * ```
429
429
  */
430
- function draw(predicate: Opaque<"render_predicate">, options?: render.draw_options): void;
430
+ function draw(predicate: Opaque<"render_predicate">): void;
431
+ /**
432
+ * Draws all objects that match a specified predicate. An optional constant buffer can be
433
+ * provided to override the default constants. If no constants buffer is provided, a default
434
+ * system constants buffer is used containing constants as defined in materials and set through
435
+ * go.set (or particlefx.set_constant) on visual components.
436
+ *
437
+ * @param predicate - predicate to draw for
438
+ * @param options - optional draw options
439
+ * @example
440
+ * ```ts
441
+ * export default defineRenderScript({
442
+ * init() {
443
+ * // define a predicate matching anything with material tag "my_tag"
444
+ * return { my_pred: render.predicate([hash("my_tag")]) };
445
+ * },
446
+ *
447
+ * update(self, dt) {
448
+ * // draw everything in the my_pred predicate
449
+ * render.draw(self.my_pred);
450
+ * },
451
+ * });
452
+ * ```
453
+ * @example
454
+ * Draw predicate with constants:
455
+ * ```ts
456
+ * function draw_tinted(self: { my_pred: Opaque<"render_predicate"> }) {
457
+ * const constants = render.constant_buffer();
458
+ * constants.tint = vmath.vector4(1, 1, 1, 1);
459
+ * render.draw(self.my_pred, { constants });
460
+ * }
461
+ * ```
462
+ * @example
463
+ * Draw with predicate and frustum culling (without near+far planes):
464
+ * ```ts
465
+ * function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
466
+ * const frustum = self.proj.mul(self.view);
467
+ * render.draw(self.my_pred, { frustum });
468
+ * }
469
+ * ```
470
+ * @example
471
+ * Draw with predicate and frustum culling (with near+far planes):
472
+ * ```ts
473
+ * function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
474
+ * const frustum = self.proj.mul(self.view);
475
+ * render.draw(self.my_pred, { frustum, frustum_planes: render.FRUSTUM_PLANES_ALL });
476
+ * }
477
+ * ```
478
+ */
479
+ function draw(predicate: Opaque<"render_predicate">, options: render.DrawOptions): void;
431
480
  /**
432
481
  * Draws all 3d debug graphics such as lines drawn with "draw_line" messages and physics visualization.
433
482
  *
@@ -442,7 +491,7 @@ declare global {
442
491
  * });
443
492
  * ```
444
493
  */
445
- function draw_debug3d(options?: render.debug_draw_options): void;
494
+ function draw_debug3d(options?: render.DebugDrawOptions): void;
446
495
  /**
447
496
  * If another material was already enabled, it will be automatically disabled
448
497
  * and the specified material is used instead.
@@ -494,7 +543,7 @@ declare global {
494
543
  * });
495
544
  * ```
496
545
  */
497
- function enable_state(state: graphics.STATE): void;
546
+ function enable_state(state: Exclude<graphics.State, typeof graphics.STATE_ALPHA_TEST_SUPPORTED | typeof graphics.STATE_SCISSOR_TEST>): void;
498
547
  /**
499
548
  * Sets the specified texture handle for a render target attachment or a regular texture
500
549
  * that should be used for rendering. The texture can be bound to either a texture unit
@@ -583,7 +632,7 @@ declare global {
583
632
  * });
584
633
  * ```
585
634
  */
586
- function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash | Opaque<"render_target"> | number, buffer_type?: graphics.BUFFER_TYPE): void;
635
+ function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash | Opaque<"render_target"> | number, buffer_type?: graphics.BufferType): void;
587
636
  /**
588
637
  * Returns the logical window height that is set in the "game.project" settings.
589
638
  * Note that the actual window pixel size can change, either by device constraints
@@ -636,7 +685,7 @@ declare global {
636
685
  * });
637
686
  * ```
638
687
  */
639
- function get_render_target_height(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BUFFER_TYPE): number;
688
+ function get_render_target_height(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BufferType): number;
640
689
  /**
641
690
  * Returns the specified buffer width from a render target.
642
691
  *
@@ -677,7 +726,7 @@ declare global {
677
726
  * });
678
727
  * ```
679
728
  */
680
- function get_render_target_width(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BUFFER_TYPE): number;
729
+ function get_render_target_width(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BufferType): number;
681
730
  /**
682
731
  * Returns the logical window width that is set in the "game.project" settings.
683
732
  * Note that the actual window pixel size can change, either by device constraints
@@ -744,7 +793,7 @@ declare global {
744
793
  * render.set_blend_equation_separate(graphics.BLEND_EQUATION_ADD, graphics.BLEND_EQUATION_REVERSE_SUBTRACT);
745
794
  * ```
746
795
  */
747
- function set_blend_equation_separate(equation_color: graphics.BLEND_EQUATION, equation_alpha: graphics.BLEND_EQUATION): void;
796
+ function set_blend_equation_separate(equation_color: graphics.BlendEquation, equation_alpha: graphics.BlendEquation): void;
748
797
  /**
749
798
  * Specifies the arithmetic used when computing pixel values that are written to the frame
750
799
  * buffer. In RGBA mode, pixels can be drawn using a function that blends the source RGBA
@@ -778,7 +827,7 @@ declare global {
778
827
  * render.set_blend_func(graphics.BLEND_FACTOR_SRC_ALPHA, graphics.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
779
828
  * ```
780
829
  */
781
- function set_blend_func(source_factor: graphics.BLEND_FACTOR, destination_factor: graphics.BLEND_FACTOR): void;
830
+ function set_blend_func(source_factor: graphics.BlendFactor, destination_factor: graphics.BlendFactor): void;
782
831
  /**
783
832
  * Sets the blend function with separate blend factors for the color and alpha channels.
784
833
  *
@@ -791,7 +840,7 @@ declare global {
791
840
  * 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);
792
841
  * ```
793
842
  */
794
- function set_blend_func_separate(source_factor_color: number, destination_factor_color: number, source_factor_alpha: number, destination_factor_alpha: number): void;
843
+ 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;
795
844
  /**
796
845
  * Sets the current render camera to be used for rendering. If a render camera
797
846
  * has been set by the render script, the renderer will be using its projection and view matrix
@@ -824,7 +873,7 @@ declare global {
824
873
  * }
825
874
  * ```
826
875
  */
827
- function set_camera(camera?: Url | number | string | Hash, options?: render.camera_options): void;
876
+ function set_camera(camera?: Url | number | string | Hash, options?: render.CameraOptions): void;
828
877
  /**
829
878
  * Specifies whether the individual color components in the frame buffer is enabled for writing (`true`) or disabled (`false`). For example, if `blue` is `false`, nothing is written to the blue component of any pixel in any of the color buffers, regardless of the drawing operation attempted. Note that writing are either enabled or disabled for entire color components, not the individual bits of a component.
830
879
  * The component masks are all initially `true`.
@@ -879,7 +928,7 @@ declare global {
879
928
  * render.set_cull_face(graphics.FACE_TYPE_FRONT);
880
929
  * ```
881
930
  */
882
- function set_cull_face(face_type: graphics.FACE_TYPE): void;
931
+ function set_cull_face(face_type: graphics.FaceType): void;
883
932
  /**
884
933
  * Specifies the function that should be used to compare each incoming pixel
885
934
  * depth value with the value present in the depth buffer.
@@ -895,7 +944,7 @@ declare global {
895
944
  * render.set_depth_func(graphics.COMPARE_FUNC_NOTEQUAL);
896
945
  * ```
897
946
  */
898
- function set_depth_func(func: graphics.COMPARE_FUNC): void;
947
+ function set_depth_func(func: graphics.CompareFunc): void;
899
948
  /**
900
949
  * Specifies whether the depth buffer is enabled for writing. The supplied mask governs
901
950
  * if depth buffer writing is enabled (`true`) or disabled (`false`).
@@ -931,7 +980,7 @@ declare global {
931
980
  * });
932
981
  * ```
933
982
  */
934
- function set_listener(callback?: (self: unknown, event_type: render.CONTEXT_EVENT) => void): void;
983
+ function set_listener(callback?: (self: unknown, event_type: render.ContextEvent) => void): void;
935
984
  /**
936
985
  * Sets the scale and units used to calculate depth values.
937
986
  * If `graphics.STATE_POLYGON_OFFSET_FILL` is enabled, each fragment's depth value
@@ -1047,7 +1096,83 @@ declare global {
1047
1096
  * });
1048
1097
  * ```
1049
1098
  */
1050
- function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT, options?: render.set_render_target_options): void;
1099
+ function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT): void;
1100
+ /**
1101
+ * Sets a render target. Subsequent draw operations will be to the
1102
+ * render target until it is replaced by a subsequent call to set_render_target.
1103
+ * This function supports render targets created by a render script, or a render target resource.
1104
+ *
1105
+ * @param render_target - render target to set. Omit it, pass `nil`, or use render.RENDER_TARGET_DEFAULT to set the default render target
1106
+ * @param options - optional render-target activation options
1107
+ *
1108
+ * `face`
1109
+ * number Cubemap face selected for rendering. This option is valid only for cubemap render targets and defaults to `graphics.CUBEMAP_FACE_POSITIVE_X`.
1110
+ *
1111
+ * - `graphics.CUBEMAP_FACE_POSITIVE_X`
1112
+ * - `graphics.CUBEMAP_FACE_NEGATIVE_X`
1113
+ * - `graphics.CUBEMAP_FACE_POSITIVE_Y`
1114
+ * - `graphics.CUBEMAP_FACE_NEGATIVE_Y`
1115
+ * - `graphics.CUBEMAP_FACE_POSITIVE_Z`
1116
+ * - `graphics.CUBEMAP_FACE_NEGATIVE_Z`
1117
+ * @example
1118
+ * How to set a render target and draw to it and then switch back to the default render target
1119
+ * 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
1120
+ * ```ts
1121
+ * // How to set a render target and draw to it and then switch back to the default render target
1122
+ * // 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
1123
+ * export default defineRenderScript({
1124
+ * init() {
1125
+ * // the engine registers a texture format only when the driver supports it
1126
+ * const format = graphics.TEXTURE_FORMAT_RGBA;
1127
+ * if (format === undefined) return undefined;
1128
+ * const color_params = {
1129
+ * format,
1130
+ * width: render.get_window_width(),
1131
+ * height: render.get_window_height(),
1132
+ * };
1133
+ * return {
1134
+ * my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
1135
+ * my_pred: render.predicate([hash("my_tag")]),
1136
+ * };
1137
+ * },
1138
+ *
1139
+ * update(self, dt) {
1140
+ * if (self === undefined) return;
1141
+ * // set render target so all drawing is done to it
1142
+ * render.set_render_target(self.my_render_target, {
1143
+ * transient: [graphics.BUFFER_TYPE_DEPTH_BIT, graphics.BUFFER_TYPE_STENCIL_BIT],
1144
+ * });
1145
+ *
1146
+ * // draw a predicate to the render target
1147
+ * render.draw(self.my_pred);
1148
+ *
1149
+ * // set default render target. This also invalidates the depth and stencil buffers of the current target (self.my_render_target)
1150
+ * // which can be an optimisation on some hardware
1151
+ * render.set_render_target(render.RENDER_TARGET_DEFAULT);
1152
+ * },
1153
+ * });
1154
+ * ```
1155
+ * @example
1156
+ * ```ts
1157
+ * export default defineRenderScript({
1158
+ * init() {
1159
+ * return { my_pred: render.predicate([hash("my_tag")]) };
1160
+ * },
1161
+ *
1162
+ * update(self, dt) {
1163
+ * // set render target by a render target resource identifier
1164
+ * render.set_render_target("my_rt_resource");
1165
+ *
1166
+ * // draw a predicate to the render target
1167
+ * render.draw(self.my_pred);
1168
+ *
1169
+ * // reset the render target to the default backbuffer
1170
+ * render.set_render_target(render.RENDER_TARGET_DEFAULT);
1171
+ * },
1172
+ * });
1173
+ * ```
1174
+ */
1175
+ function set_render_target(render_target: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT | undefined, options: render.SetRenderTargetOptions): void;
1051
1176
  /**
1052
1177
  * Sets the render target size for a render target created from
1053
1178
  * either a render script, or from a render target resource.
@@ -1096,7 +1221,7 @@ declare global {
1096
1221
  * render.set_stencil_func(graphics.COMPARE_FUNC_EQUAL, 0, 1);
1097
1222
  * ```
1098
1223
  */
1099
- function set_stencil_func(func: graphics.COMPARE_FUNC, ref: number, mask: number): void;
1224
+ function set_stencil_func(func: graphics.CompareFunc, ref: number, mask: number): void;
1100
1225
  /**
1101
1226
  * The stencil mask controls the writing of individual bits in the stencil buffer.
1102
1227
  * The least significant `n` bits of the parameter `mask`, where `n` is the number of
@@ -1138,7 +1263,7 @@ declare global {
1138
1263
  * render.set_stencil_op(graphics.STENCIL_OP_REPLACE, graphics.STENCIL_OP_KEEP, graphics.STENCIL_OP_KEEP);
1139
1264
  * ```
1140
1265
  */
1141
- function set_stencil_op(sfail: graphics.STENCIL_OP, dpfail: graphics.STENCIL_OP, dppass: graphics.STENCIL_OP): void;
1266
+ function set_stencil_op(sfail: graphics.StencilOp, dpfail: graphics.StencilOp, dppass: graphics.StencilOp): void;
1142
1267
  /**
1143
1268
  * Sets the view matrix to use when rendering.
1144
1269
  *