@defold-typescript/types 0.51.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/api-availability.json +4 -58
  2. package/api-signatures.json +878 -1356
  3. package/api-targets.json +15 -5
  4. package/examples/translations.json +4 -56
  5. package/generated/b2d_world.d.ts +10 -10
  6. package/generated/buffer.d.ts +9 -9
  7. package/generated/bullet3d_collision_object.d.ts +1 -1
  8. package/generated/bullet3d_constraint.d.ts +109 -7
  9. package/generated/bullet3d_shape.d.ts +2 -2
  10. package/generated/go.d.ts +114 -220
  11. package/generated/graphics.d.ts +1 -0
  12. package/generated/gui.d.ts +148 -371
  13. package/generated/http.d.ts +2 -2
  14. package/generated/image.d.ts +55 -3
  15. package/generated/kinds/gui-script.d.ts +2 -0
  16. package/generated/kinds/render-script.d.ts +14 -15
  17. package/generated/liveupdate.d.ts +5 -1
  18. package/generated/material.d.ts +3 -3
  19. package/generated/particlefx.d.ts +20 -1
  20. package/generated/physics.d.ts +45 -1
  21. package/generated/render-script-modules/b2d.d.ts +711 -0
  22. package/generated/render-script-modules/bullet3d.d.ts +73 -0
  23. package/generated/render-script-modules/collectionfactory.d.ts +25 -0
  24. package/generated/render-script-modules/collectionproxy.d.ts +39 -0
  25. package/generated/render-script-modules/factory.d.ts +25 -0
  26. package/generated/render-script-modules/go.d.ts +436 -0
  27. package/generated/render-script-modules/label.d.ts +105 -0
  28. package/generated/render-script-modules/model.d.ts +89 -0
  29. package/generated/render-script-modules/particlefx.d.ts +59 -0
  30. package/generated/render-script-modules/physics.d.ts +333 -0
  31. package/generated/render-script-modules/resource.d.ts +1233 -0
  32. package/generated/render-script-modules/sound.d.ts +227 -0
  33. package/generated/render-script-modules/sprite.d.ts +68 -0
  34. package/generated/render-script-modules/tilemap.d.ts +43 -0
  35. package/generated/render.d.ts +134 -8
  36. package/generated/resource.d.ts +31 -10
  37. package/generated/sprite.d.ts +49 -1
  38. package/generated/sys.d.ts +70 -6
  39. package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
  40. package/generated/versions/defold-1.12.4/go.d.ts +115 -343
  41. package/generated/versions/defold-1.12.4/graphics.d.ts +1 -0
  42. package/generated/versions/defold-1.12.4/gui.d.ts +151 -513
  43. package/generated/versions/defold-1.12.4/http.d.ts +2 -2
  44. package/generated/versions/defold-1.12.4/image.d.ts +82 -2
  45. package/generated/versions/defold-1.12.4/index.d.ts +1 -0
  46. package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
  47. package/generated/versions/defold-1.12.4/particlefx.d.ts +22 -1
  48. package/generated/versions/defold-1.12.4/physics.d.ts +45 -1
  49. package/generated/versions/defold-1.12.4/render.d.ts +78 -2
  50. package/generated/versions/defold-1.12.4/resource.d.ts +43 -10
  51. package/generated/versions/defold-1.12.4/sprite.d.ts +58 -1
  52. package/generated/versions/defold-1.12.4/sys.d.ts +101 -6
  53. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
  54. package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
  55. package/generated/versions/defold-1.13.0/go.d.ts +115 -370
  56. package/generated/versions/defold-1.13.0/graphics.d.ts +1 -0
  57. package/generated/versions/defold-1.13.0/gui.d.ts +151 -513
  58. package/generated/versions/defold-1.13.0/http.d.ts +2 -2
  59. package/generated/versions/defold-1.13.0/image.d.ts +82 -2
  60. package/generated/versions/defold-1.13.0/index.d.ts +1 -0
  61. package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
  62. package/generated/versions/defold-1.13.0/material.d.ts +3 -1
  63. package/generated/versions/defold-1.13.0/particlefx.d.ts +22 -1
  64. package/generated/versions/defold-1.13.0/physics.d.ts +45 -1
  65. package/generated/versions/defold-1.13.0/render.d.ts +142 -4
  66. package/generated/versions/defold-1.13.0/resource.d.ts +43 -10
  67. package/generated/versions/defold-1.13.0/sprite.d.ts +58 -1
  68. package/generated/versions/defold-1.13.0/sys.d.ts +101 -6
  69. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
  70. package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
  71. package/generated/versions/defold-1.13.1/go.d.ts +115 -370
  72. package/generated/versions/defold-1.13.1/graphics.d.ts +1 -0
  73. package/generated/versions/defold-1.13.1/gui.d.ts +151 -529
  74. package/generated/versions/defold-1.13.1/http.d.ts +2 -2
  75. package/generated/versions/defold-1.13.1/image.d.ts +82 -2
  76. package/generated/versions/defold-1.13.1/index.d.ts +2 -0
  77. package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
  78. package/generated/versions/defold-1.13.1/material.d.ts +3 -1
  79. package/generated/versions/defold-1.13.1/particlefx.d.ts +22 -1
  80. package/generated/versions/defold-1.13.1/physics.d.ts +45 -1
  81. package/generated/versions/defold-1.13.1/render.d.ts +142 -4
  82. package/generated/versions/defold-1.13.1/resource.d.ts +43 -10
  83. package/generated/versions/defold-1.13.1/sprite.d.ts +58 -1
  84. package/generated/versions/defold-1.13.1/sys.d.ts +101 -6
  85. package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
  86. package/generated/versions/defold-1.13.2/b2d_world.d.ts +10 -10
  87. package/generated/versions/defold-1.13.2/buffer.d.ts +9 -9
  88. package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +1 -1
  89. package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +109 -7
  90. package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +2 -2
  91. package/generated/versions/defold-1.13.2/go.d.ts +114 -220
  92. package/generated/versions/defold-1.13.2/graphics.d.ts +1 -0
  93. package/generated/versions/defold-1.13.2/gui.d.ts +148 -371
  94. package/generated/versions/defold-1.13.2/http.d.ts +2 -2
  95. package/generated/versions/defold-1.13.2/image.d.ts +55 -3
  96. package/generated/versions/defold-1.13.2/index.d.ts +2 -0
  97. package/generated/versions/defold-1.13.2/liveupdate.d.ts +5 -1
  98. package/generated/versions/defold-1.13.2/material.d.ts +3 -3
  99. package/generated/versions/defold-1.13.2/particlefx.d.ts +20 -1
  100. package/generated/versions/defold-1.13.2/physics.d.ts +45 -1
  101. package/generated/versions/defold-1.13.2/render.d.ts +123 -7
  102. package/generated/versions/defold-1.13.2/resource.d.ts +31 -10
  103. package/generated/versions/defold-1.13.2/sprite.d.ts +49 -1
  104. package/generated/versions/defold-1.13.2/sys.d.ts +70 -6
  105. package/generated/versions/defold-1.13.2/vmath.d.ts +0 -24
  106. package/generated/vmath.d.ts +0 -24
  107. package/identity-vocabulary.json +52 -7
  108. package/index.d.ts +2 -0
  109. package/package.json +2 -1
  110. package/scripts/generate-api-availability.ts +1 -21
  111. package/scripts/generate-api-signatures.ts +75 -14
  112. package/scripts/materialize-version.ts +48 -7
  113. package/scripts/regen.ts +214 -19
  114. package/scripts/signature-store-fs.ts +1 -0
  115. package/scripts/target-version.ts +26 -0
  116. package/src/api-doc.ts +26 -0
  117. package/src/component-properties.d.ts +89 -0
  118. package/src/core-types.ts +42 -15
  119. package/src/doc-corrections.ts +53 -5
  120. package/src/emit-dts.ts +758 -198
  121. package/src/engine-globals.d.ts +5 -1
  122. package/src/go-overloads.d.ts +68 -13
  123. package/src/gui-overloads.d.ts +489 -0
  124. package/src/gui-texture-removal.d.ts +41 -0
  125. package/src/index.ts +2 -0
  126. package/src/lifecycle.ts +30 -21
  127. package/src/msg-overloads.d.ts +25 -13
  128. package/src/signature-store.ts +50 -0
  129. package/src/timers.d.ts +2 -1
  130. package/src/vmath-overloads.d.ts +26 -0
package/src/core-types.ts CHANGED
@@ -87,10 +87,30 @@ export interface Matrix4 {
87
87
  m31: number;
88
88
  m32: number;
89
89
  m33: number;
90
- c0: Vector4;
91
- c1: Vector4;
92
- c2: Vector4;
93
- c3: Vector4;
90
+ /**
91
+ * The first column. A read returns a new `Vector4`, so writing one of its
92
+ * fields changes nothing; assigning a whole `Vector4` sets the column.
93
+ */
94
+ get c0(): Readonly<Vector4>;
95
+ set c0(value: Vector4);
96
+ /**
97
+ * The second column. A read returns a new `Vector4`, so writing one of its
98
+ * fields changes nothing; assigning a whole `Vector4` sets the column.
99
+ */
100
+ get c1(): Readonly<Vector4>;
101
+ set c1(value: Vector4);
102
+ /**
103
+ * The third column. A read returns a new `Vector4`, so writing one of its
104
+ * fields changes nothing; assigning a whole `Vector4` sets the column.
105
+ */
106
+ get c2(): Readonly<Vector4>;
107
+ set c2(value: Vector4);
108
+ /**
109
+ * The fourth column. A read returns a new `Vector4`, so writing one of its
110
+ * fields changes nothing; assigning a whole `Vector4` sets the column.
111
+ */
112
+ get c3(): Readonly<Vector4>;
113
+ set c3(value: Vector4);
94
114
  mul: LuaMultiplicationMethod<Matrix4, Matrix4> &
95
115
  LuaMultiplicationMethod<Vector4, Vector4> &
96
116
  LuaMultiplicationMethod<number, Matrix4>;
@@ -183,6 +203,8 @@ declare const OpaqueBrand: unique symbol;
183
203
  * - Box2D physics: `Opaque<"b2Body">`, `Opaque<"b2World">`
184
204
  * - Generic: `Opaque<"userdata">`
185
205
  *
206
+ * A buffer's `buf.length()` compiles to `#buf` and returns its element count.
207
+ *
186
208
  * @example
187
209
  * Handles always come back from the engine — for instance:
188
210
  * ```ts
@@ -209,21 +231,24 @@ export interface Opaque<Name extends string> {
209
231
  *
210
232
  * @remarks
211
233
  * Each field is writable and takes a `Hash` or a string, which the engine
212
- * hashes. Every `msg.url` form resolves a socket, so `socket` is always set.
213
- * `path` and `fragment` read `undefined` when unset: a socket-only address
214
- * (`msg.url("main:")`) has no `path`, so narrow it before use. Assigning
215
- * `undefined` clears `path` or `fragment`.
234
+ * hashes. Every field reads `undefined` when unset, so narrow it before use. A
235
+ * socket-only address (`msg.url("main:")`) has no `path`. `socket` is unset on
236
+ * the `sender` of an engine message posted with no sender, such as
237
+ * `ray_cast_response` and `ray_cast_missed` from `physics.raycast_async`,
238
+ * `animation_done` from a `model.play_anim` with no callback, and
239
+ * `window_resized` in a render script, and after `url.socket = undefined`.
240
+ * Assigning `undefined` clears any of the three fields.
216
241
  */
217
242
  export interface Url {
218
- get socket(): Hash;
219
- set socket(value: Hash | string);
243
+ get socket(): Hash | undefined;
244
+ set socket(value: Hash | string | undefined);
220
245
  get path(): Hash | undefined;
221
246
  set path(value: Hash | string | undefined);
222
247
  get fragment(): Hash | undefined;
223
248
  set fragment(value: Hash | string | undefined);
224
249
  }
225
250
 
226
- const BUFFER_TYPE = 'Opaque<"buffer">';
251
+ const BUFFER_TYPE = 'Opaque<"buffer"> & { length: LuaLengthMethod<number> }';
227
252
  const BUFFERSTREAM_TYPE =
228
253
  'Opaque<"bufferstream"> & { [index: number]: number; length: LuaLengthMethod<number> }';
229
254
 
@@ -287,15 +312,17 @@ export const DEFOLD_TYPE_MAP: Readonly<Record<string, string>> = {
287
312
  any: "unknown",
288
313
  // 1.13.2 renames of the leaves above, same slots. Upstream declares each only as
289
314
  // a `userdata`/`number` handle TYPEDEF, so each keeps its 1.13.1 mapping, with
290
- // two exceptions: `script_instance` is the untyped `self` a callback recovery
291
- // emits, and `resource_data` (1.13.1 `resource`, only in the hand-authored
292
- // `go.get`/`go.set`/`go.property` slots) is a path hash.
315
+ // three exceptions: `script_instance` is the untyped `self` a callback recovery
316
+ // emits, `resource_data` (1.13.1 `resource`, only in the hand-authored
317
+ // `go.get`/`go.set`/`go.property` slots) is a path hash, and `render_predicate`
318
+ // (1.13.1 `number`) is the userdata `render.predicate` returns and
319
+ // render_script.cpp:RenderScriptPredicate_Check reads.
293
320
  buffer_data: BUFFER_TYPE,
294
321
  buffer_stream: BUFFERSTREAM_TYPE,
295
322
  script_instance: "unknown",
296
323
  resource_data: "Hash",
297
324
  timer_handle: "number",
298
- render_predicate: "number",
325
+ render_predicate: 'Opaque<"render_predicate">',
299
326
  socket_client: "client",
300
327
  socket_connected: "connected",
301
328
  socket_master: "master",
@@ -2,14 +2,15 @@ import { fnv1a64 } from "./fnv1a";
2
2
 
3
3
  // A function slot whose upstream doc HTML is malformed badly enough to misread,
4
4
  // replaced wholesale with authored HTML that keeps upstream's wording, or a
5
- // property description that contradicts what the engine does. Each
5
+ // function or property doc that contradicts what the engine does. Each
6
6
  // entry is pinned by the FNV-1a hash of the exact upstream HTML it replaces: the
7
7
  // parse applies it only while the vendored doc still hashes to that value, so a
8
8
  // fixed or reworded upstream doc wins by itself, and
9
9
  // `doc-correction-provenance.test.ts` reds until the stale entry is deleted.
10
10
  //
11
- // Keyed `<function>#param:<name>`, `<function>#return:<name>`, or
12
- // `<namespace>#property:<name>` (the ref-doc `PROPERTY` element's bare name).
11
+ // Keyed `<function>#param:<name>`, `<function>#return:<name>`, `<function>#brief`,
12
+ // `<function>#description`, or `<namespace>#property:<name>` (the ref-doc
13
+ // `PROPERTY` element's bare name).
13
14
  export interface DocCorrection {
14
15
  readonly upstreamHash: string;
15
16
  readonly html: string;
@@ -19,6 +20,9 @@ export interface DocCorrection {
19
20
  const li = (name: string, type: string, doc: string) =>
20
21
  `<li><code>${name}</code> <span class="type">${type}</span> ${doc}</li>`;
21
22
 
23
+ const GET_BYTES_REASON =
24
+ "script_buffer.cpp:GetBytes reads only argument 1 with CheckBufferUnpack and pushes every byte of the buffer, so no stream is selected";
25
+
22
26
  export const DOC_CORRECTIONS: ReadonlyMap<string, DocCorrection> = new Map([
23
27
  [
24
28
  "graphics.get_adapter_info#return:info",
@@ -90,14 +94,58 @@ export const DOC_CORRECTIONS: ReadonlyMap<string, DocCorrection> = new Map([
90
94
  html: "The scale of the label. <code>go.get</code> returns and <code>go.set</code> takes a vector3; <code>go.animate</code> also takes a number, which sets a uniform scale.",
91
95
  },
92
96
  ],
97
+ [
98
+ "buffer.get_bytes#brief",
99
+ {
100
+ upstreamHash: "e30a9df6b7f4f67d",
101
+ reason: GET_BYTES_REASON,
102
+ html: "gets all the bytes of a buffer",
103
+ },
104
+ ],
105
+ [
106
+ "buffer.get_bytes#description",
107
+ {
108
+ upstreamHash: "0f16f8e9dce4eb3a",
109
+ reason: GET_BYTES_REASON,
110
+ html: "Get a copy of all the bytes of the buffer, every stream included, as a Lua string.",
111
+ },
112
+ ],
113
+ [
114
+ "buffer.get_bytes#param:stream_name",
115
+ {
116
+ upstreamHash: "cfd40e4525c59409",
117
+ reason: GET_BYTES_REASON,
118
+ html: "the name of the stream; the engine ignores it and returns every byte of the buffer",
119
+ },
120
+ ],
121
+ [
122
+ "gui.clone_tree#param:node",
123
+ {
124
+ upstreamHash: "5c72743d24931629",
125
+ reason:
126
+ "gui_script.cpp:LuaCloneTree tests argument 1 with lua_isnil after pushing its result table, so nil selects the whole scene and an absent argument raises",
127
+ html: "root node to clone, or <code>nil</code> to clone the whole scene; leaving the argument out raises an error",
128
+ },
129
+ ],
130
+ [
131
+ "gui.get_tree#param:node",
132
+ {
133
+ upstreamHash: "47ef2cdd6bf46434",
134
+ reason:
135
+ "gui_script.cpp:LuaGetTree tests argument 1 with lua_isnil after pushing its result table, so nil selects the whole scene and an absent argument raises",
136
+ html: "root node to get node tree from, or <code>nil</code> to get the whole scene; leaving the argument out raises an error",
137
+ },
138
+ ],
93
139
  ]);
94
140
 
141
+ export function docCorrectionKey(owner: string, slot: "brief" | "description"): string;
95
142
  export function docCorrectionKey(
96
143
  owner: string,
97
144
  slot: "param" | "return" | "property",
98
145
  name: string,
99
- ): string {
100
- return `${owner}#${slot}:${name}`;
146
+ ): string;
147
+ export function docCorrectionKey(owner: string, slot: string, name?: string): string {
148
+ return name === undefined ? `${owner}#${slot}` : `${owner}#${slot}:${name}`;
101
149
  }
102
150
 
103
151
  // The slot's doc with its correction applied, or `doc` itself when the slot has