@defold-typescript/types 0.39.0 → 0.41.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 (227) hide show
  1. package/api-availability.json +4024 -716
  2. package/api-migrations.json +27 -0
  3. package/api-signatures.json +18118 -10264
  4. package/api-targets.json +448 -11
  5. package/examples/translations.json +619 -148
  6. package/fixtures/messages_doc.json +96 -0
  7. package/generated/b2d.d.ts +680 -4
  8. package/generated/b2d_body.d.ts +29 -103
  9. package/generated/b2d_chain.d.ts +5 -6
  10. package/generated/b2d_fixture.d.ts +34 -38
  11. package/generated/b2d_joint.d.ts +503 -25
  12. package/generated/b2d_shape.d.ts +199 -14
  13. package/generated/b2d_world.d.ts +57 -63
  14. package/generated/buffer.d.ts +33 -29
  15. package/generated/builtin-messages.d.ts +7 -1
  16. package/generated/bullet3d.d.ts +91 -0
  17. package/generated/bullet3d_collision_object.d.ts +433 -0
  18. package/generated/bullet3d_constraint.d.ts +818 -0
  19. package/generated/bullet3d_rigid_body.d.ts +429 -0
  20. package/generated/bullet3d_shape.d.ts +123 -0
  21. package/generated/bullet3d_world.d.ts +492 -0
  22. package/generated/camera.d.ts +31 -34
  23. package/generated/collectionfactory.d.ts +26 -27
  24. package/generated/collectionproxy.d.ts +22 -6
  25. package/generated/compute.d.ts +12 -238
  26. package/generated/crash.d.ts +24 -10
  27. package/generated/editor-vm/http.d.ts +90 -7
  28. package/generated/editor-vm/image.d.ts +7 -7
  29. package/generated/editor-vm/json.d.ts +11 -0
  30. package/generated/editor-vm/localization.d.ts +7 -7
  31. package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
  32. package/generated/editor-vm/zip.d.ts +28 -0
  33. package/generated/editor.d.ts +1496 -430
  34. package/generated/factory.d.ts +21 -25
  35. package/generated/font.d.ts +64 -22
  36. package/generated/go.d.ts +243 -186
  37. package/generated/graphics.d.ts +374 -84
  38. package/generated/gui.d.ts +282 -492
  39. package/generated/html5.d.ts +5 -3
  40. package/generated/http.d.ts +31 -36
  41. package/generated/image.d.ts +127 -85
  42. package/generated/json.d.ts +34 -16
  43. package/generated/kinds/gui-script.d.ts +8 -0
  44. package/generated/kinds/render-script.d.ts +8 -0
  45. package/generated/kinds/script.d.ts +8 -0
  46. package/generated/label.d.ts +77 -7
  47. package/generated/liveupdate.d.ts +13 -10
  48. package/generated/material.d.ts +312 -360
  49. package/generated/model.d.ts +72 -42
  50. package/generated/particlefx.d.ts +19 -28
  51. package/generated/physics.d.ts +378 -144
  52. package/generated/profiler.d.ts +14 -24
  53. package/generated/render.d.ts +294 -297
  54. package/generated/resource.d.ts +753 -641
  55. package/generated/socket.d.ts +131 -134
  56. package/generated/sound.d.ts +65 -34
  57. package/generated/sprite.d.ts +39 -17
  58. package/generated/sys.d.ts +237 -182
  59. package/generated/tilemap.d.ts +21 -16
  60. package/generated/timer.d.ts +34 -21
  61. package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
  62. package/generated/versions/defold-1.12.4/buffer.d.ts +18 -17
  63. package/generated/versions/defold-1.12.4/camera.d.ts +23 -23
  64. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +21 -19
  65. package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
  66. package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
  67. package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
  68. package/generated/versions/defold-1.12.4/go.d.ts +15 -17
  69. package/generated/versions/defold-1.12.4/gui.d.ts +111 -193
  70. package/generated/versions/defold-1.12.4/html5.d.ts +4 -2
  71. package/generated/versions/defold-1.12.4/http.d.ts +4 -15
  72. package/generated/versions/defold-1.12.4/image.d.ts +38 -46
  73. package/generated/versions/defold-1.12.4/index.d.ts +2 -0
  74. package/generated/versions/defold-1.12.4/json.d.ts +10 -6
  75. package/generated/versions/defold-1.12.4/label.d.ts +2 -3
  76. package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
  77. package/generated/versions/defold-1.12.4/model.d.ts +34 -13
  78. package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
  79. package/generated/versions/defold-1.12.4/physics.d.ts +82 -78
  80. package/generated/versions/defold-1.12.4/profiler.d.ts +3 -6
  81. package/generated/versions/defold-1.12.4/render.d.ts +160 -132
  82. package/generated/versions/defold-1.12.4/resource.d.ts +212 -209
  83. package/generated/versions/defold-1.12.4/socket.d.ts +45 -61
  84. package/generated/versions/defold-1.12.4/sound.d.ts +11 -11
  85. package/generated/versions/defold-1.12.4/sprite.d.ts +24 -6
  86. package/generated/versions/defold-1.12.4/sys.d.ts +45 -68
  87. package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
  88. package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
  89. package/generated/versions/defold-1.12.4/vmath.d.ts +5 -26
  90. package/generated/versions/defold-1.12.4/window.d.ts +1 -16
  91. package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
  92. package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
  93. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +188 -5
  94. package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
  95. package/generated/versions/defold-1.13.0/buffer.d.ts +18 -17
  96. package/generated/versions/defold-1.13.0/camera.d.ts +27 -27
  97. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +21 -19
  98. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
  99. package/generated/versions/defold-1.13.0/compute.d.ts +1 -70
  100. package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
  101. package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
  102. package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
  103. package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
  104. package/generated/versions/defold-1.13.0/go.d.ts +15 -17
  105. package/generated/versions/defold-1.13.0/graphics.d.ts +121 -37
  106. package/generated/versions/defold-1.13.0/gui.d.ts +111 -193
  107. package/generated/versions/defold-1.13.0/html5.d.ts +4 -2
  108. package/generated/versions/defold-1.13.0/http.d.ts +4 -15
  109. package/generated/versions/defold-1.13.0/image.d.ts +38 -46
  110. package/generated/versions/defold-1.13.0/index.d.ts +2 -0
  111. package/generated/versions/defold-1.13.0/json.d.ts +10 -6
  112. package/generated/versions/defold-1.13.0/label.d.ts +2 -3
  113. package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
  114. package/generated/versions/defold-1.13.0/material.d.ts +69 -107
  115. package/generated/versions/defold-1.13.0/model.d.ts +34 -13
  116. package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
  117. package/generated/versions/defold-1.13.0/physics.d.ts +82 -78
  118. package/generated/versions/defold-1.13.0/profiler.d.ts +3 -6
  119. package/generated/versions/defold-1.13.0/render.d.ts +160 -132
  120. package/generated/versions/defold-1.13.0/resource.d.ts +217 -210
  121. package/generated/versions/defold-1.13.0/socket.d.ts +45 -61
  122. package/generated/versions/defold-1.13.0/sound.d.ts +11 -11
  123. package/generated/versions/defold-1.13.0/sprite.d.ts +24 -6
  124. package/generated/versions/defold-1.13.0/sys.d.ts +45 -68
  125. package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
  126. package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
  127. package/generated/versions/defold-1.13.0/vmath.d.ts +5 -26
  128. package/generated/versions/defold-1.13.0/window.d.ts +1 -16
  129. package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
  130. package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
  131. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
  132. package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
  133. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
  134. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
  135. package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
  136. package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
  137. package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
  138. package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
  139. package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
  140. package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
  141. package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
  142. package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
  143. package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
  144. package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
  145. package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
  146. package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
  147. package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
  148. package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
  149. package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
  150. package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
  151. package/generated/versions/defold-1.13.1/font.d.ts +81 -0
  152. package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
  153. package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
  154. package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
  155. package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
  156. package/generated/versions/defold-1.13.1/http.d.ts +77 -0
  157. package/generated/versions/defold-1.13.1/image.d.ts +131 -0
  158. package/generated/versions/defold-1.13.1/index.d.ts +57 -0
  159. package/generated/versions/defold-1.13.1/json.d.ts +80 -0
  160. package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
  161. package/generated/versions/defold-1.13.1/label.d.ts +93 -0
  162. package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
  163. package/generated/versions/defold-1.13.1/material.d.ts +408 -0
  164. package/generated/versions/defold-1.13.1/model.d.ts +272 -0
  165. package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
  166. package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
  167. package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
  168. package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
  169. package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
  170. package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
  171. package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
  172. package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
  173. package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
  174. package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
  175. package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
  176. package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
  177. package/generated/versions/defold-1.13.1/types.d.ts +61 -0
  178. package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
  179. package/generated/versions/defold-1.13.1/window.d.ts +183 -0
  180. package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
  181. package/generated/vmath.d.ts +6 -26
  182. package/generated/window.d.ts +71 -71
  183. package/identity-vocabulary.json +561 -0
  184. package/index.d.ts +8 -0
  185. package/package.json +13 -2
  186. package/scripts/example-store-io.ts +12 -1
  187. package/scripts/extension-goldens.ts +1 -0
  188. package/scripts/fidelity-baseline.json +146 -46
  189. package/scripts/generate-api-availability.ts +90 -12
  190. package/scripts/generate-api-signatures.ts +14 -3
  191. package/scripts/import-defold-release.ts +85 -24
  192. package/scripts/prose-constants.ts +157 -0
  193. package/scripts/regen.ts +396 -78
  194. package/scripts/shared-handle-methods.ts +53 -0
  195. package/scripts/signature-store-fs.ts +1 -0
  196. package/scripts/sync-api-docs.ts +16 -5
  197. package/src/api-availability.ts +0 -0
  198. package/src/api-doc.ts +201 -3
  199. package/src/api-identity.ts +252 -0
  200. package/src/component-properties.d.ts +33 -0
  201. package/src/core-types.ts +28 -3
  202. package/src/correction-pins.ts +49 -0
  203. package/src/custom-messages.d.ts +4 -3
  204. package/src/doc-comment.ts +139 -23
  205. package/src/doc-corrections.ts +108 -0
  206. package/src/editor-vm-globals.d.ts +5 -2
  207. package/src/emit-dts.ts +2474 -281
  208. package/src/emit-messages.ts +52 -0
  209. package/src/engine-globals.d.ts +2 -2
  210. package/src/example-store.ts +125 -14
  211. package/src/field-correction-coverage.ts +204 -0
  212. package/src/fnv1a.ts +16 -0
  213. package/src/go-overloads.d.ts +33 -13
  214. package/src/index-base-table.ts +145 -0
  215. package/src/index-slot-classifications.ts +588 -0
  216. package/src/index.ts +39 -2
  217. package/src/library-index-slot-classifications.ts +332 -0
  218. package/src/lifecycle.ts +61 -199
  219. package/src/luals-type-expr.ts +354 -0
  220. package/src/msg-overloads.d.ts +0 -1
  221. package/src/param-correction-provenance.ts +64 -0
  222. package/src/return-correction-provenance.ts +58 -16
  223. package/src/script-api.ts +3 -1
  224. package/src/sys-overloads.d.ts +48 -0
  225. package/src/vmath-overloads.d.ts +27 -1
  226. package/src/window-event-guard.d.ts +6 -9
  227. package/url-parameters.json +1 -2
@@ -1,5 +1,5 @@
1
1
  /** @noSelfInFile */
2
- import type { Hash, Opaque, Quaternion, Url, Vector, Vector3, Vector4 } from "../../../src/core-types";
2
+ import type { Hash, Matrix4, Opaque, Quaternion, Url, Vector, Vector3, Vector4 } from "../../../src/core-types";
3
3
 
4
4
  declare global {
5
5
  /**
@@ -334,55 +334,55 @@ declare global {
334
334
  /**
335
335
  * color property
336
336
  */
337
- const PROP_COLOR: number & { readonly __brand: "gui.PROP_COLOR" };
337
+ const PROP_COLOR: string & { readonly __brand: "gui.PROP_COLOR" };
338
338
  /**
339
339
  * euler property
340
340
  */
341
- const PROP_EULER: number & { readonly __brand: "gui.PROP_EULER" };
341
+ const PROP_EULER: string & { readonly __brand: "gui.PROP_EULER" };
342
342
  /**
343
343
  * fill_angle property
344
344
  */
345
- const PROP_FILL_ANGLE: number & { readonly __brand: "gui.PROP_FILL_ANGLE" };
345
+ const PROP_FILL_ANGLE: string & { readonly __brand: "gui.PROP_FILL_ANGLE" };
346
346
  /**
347
347
  * inner_radius property
348
348
  */
349
- const PROP_INNER_RADIUS: number & { readonly __brand: "gui.PROP_INNER_RADIUS" };
349
+ const PROP_INNER_RADIUS: string & { readonly __brand: "gui.PROP_INNER_RADIUS" };
350
350
  /**
351
351
  * leading property
352
352
  */
353
- const PROP_LEADING: number & { readonly __brand: "gui.PROP_LEADING" };
353
+ const PROP_LEADING: string & { readonly __brand: "gui.PROP_LEADING" };
354
354
  /**
355
355
  * outline color property
356
356
  */
357
- const PROP_OUTLINE: number & { readonly __brand: "gui.PROP_OUTLINE" };
357
+ const PROP_OUTLINE: string & { readonly __brand: "gui.PROP_OUTLINE" };
358
358
  /**
359
359
  * position property
360
360
  */
361
- const PROP_POSITION: number & { readonly __brand: "gui.PROP_POSITION" };
361
+ const PROP_POSITION: string & { readonly __brand: "gui.PROP_POSITION" };
362
362
  /**
363
363
  * rotation property
364
364
  */
365
- const PROP_ROTATION: number & { readonly __brand: "gui.PROP_ROTATION" };
365
+ const PROP_ROTATION: string & { readonly __brand: "gui.PROP_ROTATION" };
366
366
  /**
367
367
  * scale property
368
368
  */
369
- const PROP_SCALE: number & { readonly __brand: "gui.PROP_SCALE" };
369
+ const PROP_SCALE: string & { readonly __brand: "gui.PROP_SCALE" };
370
370
  /**
371
371
  * shadow color property
372
372
  */
373
- const PROP_SHADOW: number & { readonly __brand: "gui.PROP_SHADOW" };
373
+ const PROP_SHADOW: string & { readonly __brand: "gui.PROP_SHADOW" };
374
374
  /**
375
375
  * size property
376
376
  */
377
- const PROP_SIZE: number & { readonly __brand: "gui.PROP_SIZE" };
377
+ const PROP_SIZE: string & { readonly __brand: "gui.PROP_SIZE" };
378
378
  /**
379
379
  * slice9 property
380
380
  */
381
- const PROP_SLICE9: number & { readonly __brand: "gui.PROP_SLICE9" };
381
+ const PROP_SLICE9: string & { readonly __brand: "gui.PROP_SLICE9" };
382
382
  /**
383
383
  * tracking property
384
384
  */
385
- const PROP_TRACKING: number & { readonly __brand: "gui.PROP_TRACKING" };
385
+ const PROP_TRACKING: string & { readonly __brand: "gui.PROP_TRACKING" };
386
386
  /**
387
387
  * The provided data is not in the expected format or is in some other way
388
388
  * incorrect, for instance the image data provided to gui.new_texture().
@@ -462,57 +462,33 @@ declare global {
462
462
  * @param property - property to animate
463
463
  *
464
464
  * - `"position"`
465
- *
466
465
  * - `"rotation"`
467
- *
468
466
  * - `"euler"`
469
- *
470
467
  * - `"scale"`
471
- *
472
468
  * - `"color"`
473
- *
474
469
  * - `"outline"`
475
- *
476
470
  * - `"shadow"`
477
- *
478
471
  * - `"size"`
479
- *
480
472
  * - `"fill_angle"` (pie)
481
- *
482
473
  * - `"inner_radius"` (pie)
483
- *
484
474
  * - `"leading"` (text)
485
- *
486
475
  * - `"tracking"` (text)
487
- *
488
476
  * - `"slice9"` (slice9)
489
477
  *
490
478
  * The following property constants are defined equaling the corresponding property string names.
491
479
  *
492
480
  * - `gui.PROP_POSITION`
493
- *
494
481
  * - `gui.PROP_ROTATION`
495
- *
496
482
  * - `gui.PROP_EULER`
497
- *
498
483
  * - `gui.PROP_SCALE`
499
- *
500
484
  * - `gui.PROP_COLOR`
501
- *
502
485
  * - `gui.PROP_OUTLINE`
503
- *
504
486
  * - `gui.PROP_SHADOW`
505
- *
506
487
  * - `gui.PROP_SIZE`
507
- *
508
488
  * - `gui.PROP_FILL_ANGLE`
509
- *
510
489
  * - `gui.PROP_INNER_RADIUS`
511
- *
512
490
  * - `gui.PROP_LEADING`
513
- *
514
491
  * - `gui.PROP_TRACKING`
515
- *
516
492
  * - `gui.PROP_SLICE9`
517
493
  * @param to - target property value
518
494
  * @param easing - easing to use during animation.
@@ -525,15 +501,10 @@ declare global {
525
501
  * @param playback - playback mode
526
502
  *
527
503
  * - `gui.PLAYBACK_ONCE_FORWARD`
528
- *
529
504
  * - `gui.PLAYBACK_ONCE_BACKWARD`
530
- *
531
505
  * - `gui.PLAYBACK_ONCE_PINGPONG`
532
- *
533
506
  * - `gui.PLAYBACK_LOOP_FORWARD`
534
- *
535
507
  * - `gui.PLAYBACK_LOOP_BACKWARD`
536
- *
537
508
  * - `gui.PLAYBACK_LOOP_PINGPONG`
538
509
  * @example
539
510
  * How to start a simple color animation, where the node fades in to white during 0.5 seconds:
@@ -583,7 +554,7 @@ declare global {
583
554
  * });
584
555
  * ```
585
556
  */
586
- function animate(node: Opaque<"node">, property: string | gui.Property, to: number | Vector3 | Vector4 | Quaternion, easing: gui.Easing | Vector, duration: number, delay?: number, complete_function?: (self: unknown, node: unknown) => void, playback?: gui.Playback): void;
557
+ function animate(node: Opaque<"node">, property: string | gui.Property | Hash, to: number | Vector3 | Vector4 | Quaternion, easing: gui.Easing | Vector, duration: number, delay?: number, complete_function?: (self: unknown, node: unknown) => void, playback?: gui.Playback): void;
587
558
  /**
588
559
  * If one or more animations of the specified node is currently running (started by `gui.animate`), they will immediately be canceled.
589
560
  *
@@ -591,52 +562,43 @@ declare global {
591
562
  * @param property - optional property for which the animation should be canceled
592
563
  *
593
564
  * - `"position"`
594
- *
595
565
  * - `"rotation"`
596
- *
597
566
  * - `"euler"`
598
- *
599
567
  * - `"scale"`
600
- *
601
568
  * - `"color"`
602
- *
603
569
  * - `"outline"`
604
- *
605
570
  * - `"shadow"`
606
- *
607
571
  * - `"size"`
608
- *
609
572
  * - `"fill_angle"` (pie)
610
- *
611
573
  * - `"inner_radius"` (pie)
612
- *
613
574
  * - `"leading"` (text)
614
- *
615
575
  * - `"tracking"` (text)
616
- *
617
576
  * - `"slice9"` (slice9)
618
577
  * @example
578
+ * Start an animation of the position property of a node, then cancel parts of
579
+ * the animation:
619
580
  * ```ts
620
- * // Start an animation of the position property of a node, then cancel parts of
621
- * // the animation:
622
581
  * const node = gui.get_node("my_node");
623
582
  * // animate to new position
624
583
  * const pos = vmath.vector3(100, 100, 0);
625
- * gui.animate(node, "position", pos, go.EASING_LINEAR, 2);
584
+ * gui.animate(node, "position", pos, gui.EASING_LINEAR, 2);
626
585
  * // ...
627
586
  * // cancel animation of the x component.
628
587
  * gui.cancel_animations(node, "position.x");
629
- *
630
- * // Cancels all property animations on a node in a single call:
588
+ * ```
589
+ * @example
590
+ * Cancels all property animations on a node in a single call:
591
+ * ```ts
592
+ * const node = gui.get_node("my_node");
631
593
  * // animate to new position and scale
632
- * gui.animate(node, "position", vmath.vector3(100, 100, 0), go.EASING_LINEAR, 5);
633
- * gui.animate(node, "scale", vmath.vector3(0.5), go.EASING_LINEAR, 5);
594
+ * gui.animate(node, "position", vmath.vector3(100, 100, 0), gui.EASING_LINEAR, 5);
595
+ * gui.animate(node, "scale", vmath.vector3(0.5), gui.EASING_LINEAR, 5);
634
596
  * // ...
635
597
  * // cancel positioning and scaling at once
636
598
  * gui.cancel_animations(node);
637
599
  * ```
638
600
  */
639
- function cancel_animations(node: Opaque<"node">, property?: string | gui.Property): void;
601
+ function cancel_animations(node: Opaque<"node">, property?: string | gui.Property | Hash): void;
640
602
  /**
641
603
  * Cancels any running flipbook animation on the specified node.
642
604
  *
@@ -711,6 +673,10 @@ declare global {
711
673
  * @example
712
674
  * ```ts
713
675
  * export default defineScript({
676
+ * init() {
677
+ * return { some_value: 0 };
678
+ * },
679
+ *
714
680
  * final(self) {
715
681
  * // report finalization
716
682
  * msg.post("my_friend_instance", "im_dead", { my_stats: self.some_value });
@@ -726,29 +692,17 @@ declare global {
726
692
  * when operating in the gui namespace. Most notably, only these explicitly named properties are supported:
727
693
  *
728
694
  * - `"position"`
729
- *
730
695
  * - `"rotation"`
731
- *
732
696
  * - `"euler"`
733
- *
734
697
  * - `"scale"`
735
- *
736
698
  * - `"color"`
737
- *
738
699
  * - `"outline"`
739
- *
740
700
  * - `"shadow"`
741
- *
742
701
  * - `"size"`
743
- *
744
702
  * - `"fill_angle"` (pie)
745
- *
746
703
  * - `"inner_radius"` (pie)
747
- *
748
704
  * - `"leading"` (text)
749
- *
750
705
  * - `"tracking"` (text)
751
- *
752
706
  * - `"slice9"` (slice9)
753
707
  *
754
708
  * The value returned will either be a vmath.vector4 or a single number, i.e getting the "position"
@@ -759,6 +713,8 @@ declare global {
759
713
  * @param property - the property to retrieve
760
714
  * @param options - optional options table (only applicable for material constants)
761
715
  * - `index` number index into array property (1 based)
716
+ *
717
+ * **⚠️ `index` is 1-based; passed to Defold unchanged.**
762
718
  * @example
763
719
  * ```ts
764
720
  * // Get properties on existing nodes:
@@ -766,7 +722,7 @@ declare global {
766
722
  * const node_position = gui.get(node, "position");
767
723
  * ```
768
724
  */
769
- function get(node: Opaque<"node">, property: string | Hash | gui.Property, options?: { index?: number }): unknown;
725
+ function get(node: Opaque<"node">, property: string | Hash | gui.Property, options?: { index?: number; key?: string | Hash; keys?: (Hash | string)[] }): unknown;
770
726
  /**
771
727
  * Returns the adjust mode of a node.
772
728
  * The adjust mode defines how the node will adjust itself to screen
@@ -776,9 +732,7 @@ declare global {
776
732
  * @returns the current adjust mode
777
733
  *
778
734
  * - `gui.ADJUST_FIT`
779
- *
780
735
  * - `gui.ADJUST_ZOOM`
781
- *
782
736
  * - `gui.ADJUST_STRETCH`
783
737
  */
784
738
  function get_adjust_mode(node: Opaque<"node">): gui.AdjustMode;
@@ -797,13 +751,9 @@ declare global {
797
751
  * @returns blend mode
798
752
  *
799
753
  * - `gui.BLEND_ALPHA`
800
- *
801
754
  * - `gui.BLEND_ADD`
802
- *
803
755
  * - `gui.BLEND_ADD_ALPHA`
804
- *
805
756
  * - `gui.BLEND_MULT`
806
- *
807
757
  * - `gui.BLEND_SCREEN`
808
758
  */
809
759
  function get_blend_mode(node: Opaque<"node">): gui.BlendMode;
@@ -821,7 +771,6 @@ declare global {
821
771
  * @returns clipping mode
822
772
  *
823
773
  * - `gui.CLIPPING_MODE_NONE`
824
- *
825
774
  * - `gui.CLIPPING_MODE_STENCIL`
826
775
  */
827
776
  function get_clipping_mode(node: Opaque<"node">): gui.ClippingMode;
@@ -944,7 +893,7 @@ declare global {
944
893
  * Higher index means the node is drawn on top of lower indexed nodes.
945
894
  *
946
895
  * @param node - the node to retrieve the id from
947
- * @returns the index of the node
896
+ * @returns the index of the node. **0️⃣ 0-based; passed to Defold unchanged.**
948
897
  * @example
949
898
  * ```ts
950
899
  * // Compare the index order of two sibling nodes:
@@ -1047,7 +996,6 @@ declare global {
1047
996
  * @returns the outer bounds mode of the pie node:
1048
997
  *
1049
998
  * - `gui.PIEBOUNDS_RECTANGLE`
1050
- *
1051
999
  * - `gui.PIEBOUNDS_ELLIPSE`
1052
1000
  */
1053
1001
  function get_outer_bounds(node: Opaque<"node">): gui.PieBounds;
@@ -1089,21 +1037,13 @@ declare global {
1089
1037
  * @returns pivot constant
1090
1038
  *
1091
1039
  * - `gui.PIVOT_CENTER`
1092
- *
1093
1040
  * - `gui.PIVOT_N`
1094
- *
1095
1041
  * - `gui.PIVOT_NE`
1096
- *
1097
1042
  * - `gui.PIVOT_E`
1098
- *
1099
1043
  * - `gui.PIVOT_SE`
1100
- *
1101
1044
  * - `gui.PIVOT_S`
1102
- *
1103
1045
  * - `gui.PIVOT_SW`
1104
- *
1105
1046
  * - `gui.PIVOT_W`
1106
- *
1107
1047
  * - `gui.PIVOT_NW`
1108
1048
  */
1109
1049
  function get_pivot(node: Opaque<"node">): gui.Pivot;
@@ -1165,7 +1105,6 @@ declare global {
1165
1105
  * @returns the current size mode
1166
1106
  *
1167
1107
  * - `gui.SIZE_MODE_MANUAL`
1168
- *
1169
1108
  * - `gui.SIZE_MODE_AUTO`
1170
1109
  */
1171
1110
  function get_size_mode(node: Opaque<"node">): gui.SizeMode;
@@ -1233,9 +1172,7 @@ declare global {
1233
1172
  * @returns anchor constant
1234
1173
  *
1235
1174
  * - `gui.ANCHOR_NONE`
1236
- *
1237
1175
  * - `gui.ANCHOR_LEFT`
1238
- *
1239
1176
  * - `gui.ANCHOR_RIGHT`
1240
1177
  */
1241
1178
  function get_xanchor(node: Opaque<"node">): gui.XAnchor;
@@ -1246,9 +1183,7 @@ declare global {
1246
1183
  * @returns anchor constant
1247
1184
  *
1248
1185
  * - `gui.ANCHOR_NONE`
1249
- *
1250
1186
  * - `gui.ANCHOR_TOP`
1251
- *
1252
1187
  * - `gui.ANCHOR_BOTTOM`
1253
1188
  */
1254
1189
  function get_yanchor(node: Opaque<"node">): gui.YAnchor;
@@ -1289,7 +1224,7 @@ declare global {
1289
1224
  * @param node - to move
1290
1225
  * @param reference - reference node above which the first node should be moved
1291
1226
  */
1292
- function move_above(node: Opaque<"node">, reference?: Opaque<"node">): void;
1227
+ function move_above(node: Opaque<"node">, reference: Opaque<"node"> | undefined): void;
1293
1228
  /**
1294
1229
  * Alters the ordering of the two supplied nodes by moving the first node
1295
1230
  * below the second.
@@ -1298,7 +1233,7 @@ declare global {
1298
1233
  * @param node - to move
1299
1234
  * @param reference - reference node below which the first node should be moved
1300
1235
  */
1301
- function move_below(node: Opaque<"node">, reference?: Opaque<"node">): void;
1236
+ function move_below(node: Opaque<"node">, reference: Opaque<"node"> | undefined): void;
1302
1237
  /**
1303
1238
  * Dynamically create a new box node.
1304
1239
  *
@@ -1340,17 +1275,14 @@ declare global {
1340
1275
  * @param type - texture type
1341
1276
  *
1342
1277
  * - `"rgb"` - RGB
1343
- *
1344
1278
  * - `"rgba"` - RGBA
1345
- *
1346
1279
  * - `"l"` - LUMINANCE
1347
- *
1348
1280
  * - `"astc"` - ASTC compressed format
1349
1281
  * @param buffer - texture data
1350
1282
  * @param flip - flip texture vertically
1351
1283
  * @example
1284
+ * How to create a texture and apply it to a new box node:
1352
1285
  * ```ts
1353
- * // How to create a texture and apply it to a new box node:
1354
1286
  * export default defineGuiScript({
1355
1287
  * init(self) {
1356
1288
  * const w = 200;
@@ -1375,20 +1307,24 @@ declare global {
1375
1307
  * }
1376
1308
  * },
1377
1309
  * });
1378
- *
1379
- * // How to create a texture using .astc format
1310
+ * ```
1311
+ * @example
1312
+ * How to create a texture using .astc format
1313
+ * ```ts
1380
1314
  * const size = 4;
1381
1315
  * const pos = vmath.vector3(200, 200, 0);
1382
1316
  * const path = "/assets/images/logo_4x4.astc";
1383
- * const buffer = sys.load_resource(path);
1384
- * const n = gui.new_box_node(pos, vmath.vector3(size, size, 0));
1385
- * // size is read from the .astc buffer
1386
- * // flip is not supported
1387
- * gui.new_texture(path, 0, 0, "astc", buffer, false);
1388
- * gui.set_texture(n, path);
1317
+ * const [data] = sys.load_resource(path);
1318
+ * if (data !== undefined) {
1319
+ * const n = gui.new_box_node(pos, vmath.vector3(size, size, 0));
1320
+ * // size is read from the .astc buffer
1321
+ * // flip is not supported
1322
+ * gui.new_texture(path, 0, 0, "astc", data, false);
1323
+ * gui.set_texture(n, path);
1324
+ * }
1389
1325
  * ```
1390
1326
  */
1391
- function new_texture(texture_id: string | Hash, width: number, height: number, type: string | Opaque<"constant">, buffer: string, flip?: boolean): LuaMultiReturn<[boolean, number]>;
1327
+ function new_texture(texture_id: string | Hash, width: number, height: number, type: string | Opaque<"constant">, buffer: string, flip?: boolean): LuaMultiReturn<[boolean, number | undefined]>;
1392
1328
  /**
1393
1329
  * This is a callback-function, which is called by the engine when user input is sent to the instance of the gui component.
1394
1330
  * It can be used to take action on the input, e.g. modify the gui according to the input.
@@ -1525,11 +1461,15 @@ declare global {
1525
1461
  *
1526
1462
  * @param self - reference to the script state to be used for storing data
1527
1463
  * @param action_id - id of the received input action, as mapped in the input_binding-file
1528
- * @param action - a table containing the input data, see above for a description
1464
+ * @param action - a table containing the input data, see above for a description. **0️⃣ `gamepad` is 0-based; passed to Defold unchanged.**
1529
1465
  * @returns optional boolean to signal if the input should be consumed (not passed on to others) or not, default is false
1530
1466
  * @example
1531
1467
  * ```ts
1532
1468
  * export default defineGuiScript({
1469
+ * init(): { my_value: number | undefined } {
1470
+ * return { my_value: undefined };
1471
+ * },
1472
+ *
1533
1473
  * on_input(self, action_id, action) {
1534
1474
  * // check for input
1535
1475
  * if (action_id === hash("my_action")) {
@@ -1563,6 +1503,10 @@ declare global {
1563
1503
  * @example
1564
1504
  * ```ts
1565
1505
  * export default defineGuiScript({
1506
+ * init() {
1507
+ * return { my_original_color: gui.get_color(gui.get_node("my_node")) };
1508
+ * },
1509
+ *
1566
1510
  * on_reload(self) {
1567
1511
  * // restore some color (or similar)
1568
1512
  * gui.set_color(gui.get_node("my_node"), self.my_original_color);
@@ -1604,8 +1548,8 @@ declare global {
1604
1548
  * `playback_rate`
1605
1549
  * number The rate with which the animation will be played. Must be positive
1606
1550
  * @example
1551
+ * Set the texture of a node to a flipbook animation from an atlas:
1607
1552
  * ```ts
1608
- * // Set the texture of a node to a flipbook animation from an atlas:
1609
1553
  * function anim_callback(self: unknown, node: unknown) {
1610
1554
  * // Take action after animation has played.
1611
1555
  * }
@@ -1618,8 +1562,10 @@ declare global {
1618
1562
  * gui.play_flipbook(node, "animated_button");
1619
1563
  * },
1620
1564
  * });
1621
- *
1622
- * // Set the texture of a node to an image from an atlas:
1565
+ * ```
1566
+ * @example
1567
+ * Set the texture of a node to an image from an atlas:
1568
+ * ```ts
1623
1569
  * // Create a new node and set the texture to a "button.png" from atlas
1624
1570
  * const node = gui.get_node("button_node");
1625
1571
  * gui.set_texture(node, "gui_sprites");
@@ -1643,11 +1589,8 @@ declare global {
1643
1589
  * constant the new state of the emitter:
1644
1590
  *
1645
1591
  * - `particlefx.EMITTER_STATE_SLEEPING`
1646
- *
1647
1592
  * - `particlefx.EMITTER_STATE_PRESPAWN`
1648
- *
1649
1593
  * - `particlefx.EMITTER_STATE_SPAWNING`
1650
- *
1651
1594
  * - `particlefx.EMITTER_STATE_POSTSPAWN`
1652
1595
  * @example
1653
1596
  * ```ts
@@ -1697,7 +1640,7 @@ declare global {
1697
1640
  * @param screen_position - screen position
1698
1641
  * @returns local position
1699
1642
  */
1700
- function screen_to_local(node: Opaque<"node">, screen_position: Vector3): Vector3;
1643
+ function screen_to_local(node: Opaque<"node">, screen_position: Vector3 | Vector4): Vector3;
1701
1644
  /**
1702
1645
  * Instead of using specific setteres such as gui.set_position or gui.set_scale,
1703
1646
  * you can use gui.set instead and supply the property as a string or a hash.
@@ -1705,29 +1648,17 @@ declare global {
1705
1648
  * when operating in the gui namespace. Most notably, only these named properties identifiers are supported:
1706
1649
  *
1707
1650
  * - `"position"`
1708
- *
1709
1651
  * - `"rotation"`
1710
- *
1711
1652
  * - `"euler"`
1712
- *
1713
1653
  * - `"scale"`
1714
- *
1715
1654
  * - `"color"`
1716
- *
1717
1655
  * - `"outline"`
1718
- *
1719
1656
  * - `"shadow"`
1720
- *
1721
1657
  * - `"size"`
1722
- *
1723
1658
  * - `"fill_angle"` (pie)
1724
- *
1725
1659
  * - `"inner_radius"` (pie)
1726
- *
1727
1660
  * - `"leading"` (text)
1728
- *
1729
1661
  * - `"tracking"` (text)
1730
- *
1731
1662
  * - `"slice9"` (slice9)
1732
1663
  *
1733
1664
  * The value to set must either be a vmath.vector4, vmath.vector3, vmath.quat or a single number and depends on the property name you want to set.
@@ -1747,14 +1678,19 @@ declare global {
1747
1678
  * @param options - optional options table (only applicable for material constants)
1748
1679
  * - `index` number index into array property (1 based)
1749
1680
  * - `key` hash name of internal property
1681
+ *
1682
+ * **⚠️ `index` is 1-based; passed to Defold unchanged.**
1750
1683
  * @example
1684
+ * Updates the position property on an existing node:
1751
1685
  * ```ts
1752
- * // Updates the position property on an existing node:
1753
1686
  * const node = gui.get_node("my_box_node");
1754
- * const node_position = gui.get(node, "position");
1687
+ * const node_position = gui.get(node, "position") as Vector3;
1755
1688
  * gui.set(node, "position.x", node_position.x + 128);
1756
- *
1757
- * // Updates the rotation property on an existing node:
1689
+ * ```
1690
+ * @example
1691
+ * Updates the rotation property on an existing node:
1692
+ * ```ts
1693
+ * const node = gui.get_node("my_box_node");
1758
1694
  * gui.set(node, "rotation", vmath.quat_rotation_z(math.rad(45)));
1759
1695
  * // this is equivalent to:
1760
1696
  * gui.set(node, "euler.z", 45);
@@ -1762,8 +1698,11 @@ declare global {
1762
1698
  * gui.set(node, "euler", vmath.vector3(0, 0, 45));
1763
1699
  * // or using the set_rotation
1764
1700
  * gui.set_rotation(node, vmath.vector3(0, 0, 45));
1765
- *
1766
- * // Sets various material constants for a node:
1701
+ * ```
1702
+ * @example
1703
+ * Sets various material constants for a node:
1704
+ * ```ts
1705
+ * const node = gui.get_node("my_box_node");
1767
1706
  * gui.set(node, "tint", vmath.vector4(1, 0, 0, 1));
1768
1707
  * // matrix4 is also supported
1769
1708
  * gui.set(node, "light_matrix", vmath.matrix4());
@@ -1777,14 +1716,16 @@ declare global {
1777
1716
  * gui.set(node, "tint.x", 1);
1778
1717
  * // update a sub-element in an array constant at position 4
1779
1718
  * gui.set(node, "tint_array.x", 1, { index: 4 });
1780
- *
1781
- * // Set a named property
1719
+ * ```
1720
+ * @example
1721
+ * Set a named property
1722
+ * ```ts
1782
1723
  * export default defineGuiScript({
1783
1724
  * on_message(self, message_id, message) {
1784
- * if (message_id === hash("set_font")) {
1725
+ * if (message_id === hash("set_font") && types.is_hash(message.font)) {
1785
1726
  * gui.set(msg.url(), "fonts", message.font, { key: "my_font_name" });
1786
1727
  * gui.set_font(gui.get_node("text"), "my_font_name");
1787
- * } else if (message_id === hash("set_texture")) {
1728
+ * } else if (message_id === hash("set_texture") && types.is_hash(message.texture)) {
1788
1729
  * gui.set(msg.url(), "textures", message.texture, { key: "my_texture" });
1789
1730
  * gui.set_texture(gui.get_node("box"), "my_texture");
1790
1731
  * gui.play_flipbook(gui.get_node("box"), "logo_256");
@@ -1793,7 +1734,7 @@ declare global {
1793
1734
  * });
1794
1735
  * ```
1795
1736
  */
1796
- function set(node: Opaque<"node"> | Url, property: string | Hash | gui.Property, value: number | Vector4 | Vector3 | Quaternion, options?: { index?: number; key?: Hash }): void;
1737
+ function set(node: Opaque<"node"> | Url, property: string | Hash | gui.Property, value: number | Vector4 | Vector3 | Quaternion | Matrix4 | Hash, options?: { index?: number; key?: string | Hash; keys?: (Hash | string)[] }): void;
1797
1738
  /**
1798
1739
  * Sets the adjust mode on a node.
1799
1740
  * The adjust mode defines how the node will adjust itself to screen
@@ -1803,9 +1744,7 @@ declare global {
1803
1744
  * @param adjust_mode - adjust mode to set
1804
1745
  *
1805
1746
  * - `gui.ADJUST_FIT`
1806
- *
1807
1747
  * - `gui.ADJUST_ZOOM`
1808
- *
1809
1748
  * - `gui.ADJUST_STRETCH`
1810
1749
  */
1811
1750
  function set_adjust_mode(node: Opaque<"node">, adjust_mode: gui.AdjustMode): void;
@@ -1824,13 +1763,9 @@ declare global {
1824
1763
  * @param blend_mode - blend mode to set
1825
1764
  *
1826
1765
  * - `gui.BLEND_ALPHA`
1827
- *
1828
1766
  * - `gui.BLEND_ADD`
1829
- *
1830
1767
  * - `gui.BLEND_ADD_ALPHA`
1831
- *
1832
1768
  * - `gui.BLEND_MULT`
1833
- *
1834
1769
  * - `gui.BLEND_SCREEN`
1835
1770
  */
1836
1771
  function set_blend_mode(node: Opaque<"node">, blend_mode: gui.BlendMode): void;
@@ -1848,7 +1783,6 @@ declare global {
1848
1783
  * @param clipping_mode - clipping mode to set
1849
1784
  *
1850
1785
  * - `gui.CLIPPING_MODE_NONE`
1851
- *
1852
1786
  * - `gui.CLIPPING_MODE_STENCIL`
1853
1787
  */
1854
1788
  function set_clipping_mode(node: Opaque<"node">, clipping_mode: gui.ClippingMode): void;
@@ -2016,7 +1950,6 @@ declare global {
2016
1950
  * @param bounds_mode - the outer bounds mode of the pie node:
2017
1951
  *
2018
1952
  * - `gui.PIEBOUNDS_RECTANGLE`
2019
- *
2020
1953
  * - `gui.PIEBOUNDS_ELLIPSE`
2021
1954
  */
2022
1955
  function set_outer_bounds(node: Opaque<"node">, bounds_mode: gui.PieBounds): void;
@@ -2035,7 +1968,7 @@ declare global {
2035
1968
  * @param parent - parent node to set, pass `nil` to remove parent
2036
1969
  * @param keep_scene_transform - optional flag to make the scene position being perserved
2037
1970
  */
2038
- function set_parent(node: Opaque<"node">, parent?: Opaque<"node">, keep_scene_transform?: boolean): void;
1971
+ function set_parent(node: Opaque<"node">, parent: Opaque<"node"> | undefined, keep_scene_transform?: boolean): void;
2039
1972
  /**
2040
1973
  * Set the paricle fx for a gui node
2041
1974
  *
@@ -2057,21 +1990,13 @@ declare global {
2057
1990
  * @param pivot - pivot constant
2058
1991
  *
2059
1992
  * - `gui.PIVOT_CENTER`
2060
- *
2061
1993
  * - `gui.PIVOT_N`
2062
- *
2063
1994
  * - `gui.PIVOT_NE`
2064
- *
2065
1995
  * - `gui.PIVOT_E`
2066
- *
2067
1996
  * - `gui.PIVOT_SE`
2068
- *
2069
1997
  * - `gui.PIVOT_S`
2070
- *
2071
1998
  * - `gui.PIVOT_SW`
2072
- *
2073
1999
  * - `gui.PIVOT_W`
2074
- *
2075
2000
  * - `gui.PIVOT_NW`
2076
2001
  */
2077
2002
  function set_pivot(node: Opaque<"node">, pivot: gui.Pivot): void;
@@ -2099,18 +2024,15 @@ declare global {
2099
2024
  * @param node - node to set the rotation for
2100
2025
  * @param rotation - new rotation
2101
2026
  */
2102
- function set_rotation(node: Opaque<"node">, rotation: Quaternion | Vector4): void;
2027
+ function set_rotation(node: Opaque<"node">, rotation: Quaternion | Vector4 | Vector3): void;
2103
2028
  /**
2104
2029
  * Sets how the safe area is applied to this gui scene.
2105
2030
  *
2106
2031
  * @param mode - safe area mode
2107
2032
  *
2108
2033
  * - `gui.SAFE_AREA_NONE`
2109
- *
2110
2034
  * - `gui.SAFE_AREA_LONG`
2111
- *
2112
2035
  * - `gui.SAFE_AREA_SHORT`
2113
- *
2114
2036
  * - `gui.SAFE_AREA_BOTH`
2115
2037
  */
2116
2038
  function set_safe_area_mode(mode: gui.SafeAreaMode): void;
@@ -2127,7 +2049,7 @@ declare global {
2127
2049
  * @param node - node to set the screen position to
2128
2050
  * @param screen_position - screen position
2129
2051
  */
2130
- function set_screen_position(node: Opaque<"node">, screen_position: Vector3): void;
2052
+ function set_screen_position(node: Opaque<"node">, screen_position: Vector3 | Vector4): void;
2131
2053
  /**
2132
2054
  * Sets the shadow color of the supplied node.
2133
2055
  * See gui.set_color for info how vectors encode color values.
@@ -2156,7 +2078,6 @@ declare global {
2156
2078
  * @param size_mode - size mode to set
2157
2079
  *
2158
2080
  * - `gui.SIZE_MODE_MANUAL`
2159
- *
2160
2081
  * - `gui.SIZE_MODE_AUTO`
2161
2082
  */
2162
2083
  function set_size_mode(node: Opaque<"node">, size_mode: gui.SizeMode): void;
@@ -2185,20 +2106,25 @@ declare global {
2185
2106
  * @param node - node to set texture for
2186
2107
  * @param texture - texture id
2187
2108
  * @example
2109
+ * To set a texture (or animation) from an atlas:
2188
2110
  * ```ts
2189
- * // To set a texture (or animation) from an atlas:
2190
2111
  * const node = gui.get_node("box_node");
2191
2112
  * gui.set_texture(node, "my_atlas");
2192
2113
  * gui.play_flipbook(node, "image");
2193
- *
2194
- * // Set a dynamically created texture to a node. Note that there is only
2195
- * // one texture image in this case so gui.set_texture() is sufficient.
2114
+ * ```
2115
+ * @example
2116
+ * Set a dynamically created texture to a node. Note that there is only
2117
+ * one texture image in this case so `gui.set_texture()` is
2118
+ * sufficient.
2119
+ * ```ts
2196
2120
  * const w = 200;
2197
2121
  * const h = 300;
2198
2122
  * // A nice orange. String with the RGB values.
2199
2123
  * const orange = String.fromCharCode(0xff, 0x80, 0x10);
2200
2124
  * // Create the texture. Repeat the color string for each pixel.
2201
- * if (gui.new_texture("orange_tx", w, h, "rgb", orange.repeat(w * h))) {
2125
+ * const [ok] = gui.new_texture("orange_tx", w, h, "rgb", orange.repeat(w * h));
2126
+ * if (ok) {
2127
+ * const node = gui.get_node("box_node");
2202
2128
  * gui.set_texture(node, "orange_tx");
2203
2129
  * }
2204
2130
  * ```
@@ -2213,11 +2139,8 @@ declare global {
2213
2139
  * @param type - texture type
2214
2140
  *
2215
2141
  * - `"rgb"` - RGB
2216
- *
2217
2142
  * - `"rgba"` - RGBA
2218
- *
2219
2143
  * - `"l"` - LUMINANCE
2220
- *
2221
2144
  * - `"astc"` - ASTC compressed format
2222
2145
  * @param buffer - texture data
2223
2146
  * @param flip - flip texture vertically
@@ -2274,9 +2197,7 @@ declare global {
2274
2197
  * @param anchor - anchor constant
2275
2198
  *
2276
2199
  * - `gui.ANCHOR_NONE`
2277
- *
2278
2200
  * - `gui.ANCHOR_LEFT`
2279
- *
2280
2201
  * - `gui.ANCHOR_RIGHT`
2281
2202
  */
2282
2203
  function set_xanchor(node: Opaque<"node">, anchor: gui.XAnchor): void;
@@ -2287,9 +2208,7 @@ declare global {
2287
2208
  * @param anchor - anchor constant
2288
2209
  *
2289
2210
  * - `gui.ANCHOR_NONE`
2290
- *
2291
2211
  * - `gui.ANCHOR_TOP`
2292
- *
2293
2212
  * - `gui.ANCHOR_BOTTOM`
2294
2213
  */
2295
2214
  function set_yanchor(node: Opaque<"node">, anchor: gui.YAnchor): void;
@@ -2302,11 +2221,8 @@ declare global {
2302
2221
  * @param type - keyboard type
2303
2222
  *
2304
2223
  * - `gui.KEYBOARD_TYPE_DEFAULT`
2305
- *
2306
2224
  * - `gui.KEYBOARD_TYPE_EMAIL`
2307
- *
2308
2225
  * - `gui.KEYBOARD_TYPE_NUMBER_PAD`
2309
- *
2310
2226
  * - `gui.KEYBOARD_TYPE_PASSWORD`
2311
2227
  * @param autoclose - if the keyboard should automatically close when clicking outside
2312
2228
  */
@@ -2332,15 +2248,17 @@ declare global {
2332
2248
  * // in a counting fashion. It is assumed that the gui component receives messages
2333
2249
  * // from the game when a new score is to be shown.
2334
2250
  * export default defineGuiScript({
2335
- * init(self) {
2336
- * // fetch the score text node for later use (assumes it is called "score")
2337
- * self.score_node = gui.get_node("score");
2338
- * // keep track of the current score counted up so far
2339
- * self.current_score = 0;
2340
- * // keep track of the target score we should count up to
2341
- * self.target_score = 0;
2342
- * // how fast we will update the score, in score/second
2343
- * self.score_update_speed = 1;
2251
+ * init() {
2252
+ * return {
2253
+ * // fetch the score text node for later use (assumes it is called "score")
2254
+ * score_node: gui.get_node("score"),
2255
+ * // keep track of the current score counted up so far
2256
+ * current_score: 0,
2257
+ * // keep track of the target score we should count up to
2258
+ * target_score: 0,
2259
+ * // how fast we will update the score, in score/second
2260
+ * score_update_speed: 1,
2261
+ * };
2344
2262
  * },
2345
2263
  *
2346
2264
  * update(self, dt) {
@@ -2359,7 +2277,7 @@ declare global {
2359
2277
  *
2360
2278
  * on_message(self, message_id, message) {
2361
2279
  * // check the message
2362
- * if (message_id === hash("set_score")) {
2280
+ * if (message_id === hash("set_score") && typeof message.score === "number") {
2363
2281
  * self.target_score = message.score;
2364
2282
  * }
2365
2283
  * },