@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
@@ -100,17 +100,24 @@ declare global {
100
100
  * Only the following arities are supported at runtime:
101
101
  *
102
102
  * - `msg.url()` — no-arg.
103
- * - `msg.url("[socket:][path][#fragment]")` — one string, the full URL.
104
- * - `msg.url(socket, path, fragment)` — three required args.
103
+ * - `msg.url(urlstring)` — one argument: a `"[socket:][path][#fragment]"`
104
+ * string, a `Hash`, or a `Url`.
105
+ * - `msg.url(socket, path, fragment)` — three positions, each of which may
106
+ * be `undefined` (Lua `nil`).
105
107
  *
106
108
  * The two-arg form `msg.url(socket, path)` is a runtime error.
107
109
  *
108
- * `socket` may be `undefined` (Lua `nil`), which addresses the current
109
- * game world, exactly as the runtime's own examples do.
110
+ * In the one-argument form, a `Hash` is a path in the current world with no
111
+ * fragment, and a `Url` is copied. `undefined` is equivalent to `msg.url()`
112
+ * — the URL of the current script.
110
113
  *
111
- * The one-argument form's `urlstring` may likewise be `undefined` (Lua
112
- * `nil`), which the ref-doc calls equivalent to `msg.url()` — the URL of the
113
- * current script.
114
+ * In the three-argument form, an `undefined` `socket` addresses the current
115
+ * game world, exactly as the runtime's own examples do. An `undefined`
116
+ * `path` with an `undefined` socket is the current path. An `undefined`
117
+ * `fragment` is no fragment, unless `socket` and `path` are both
118
+ * `undefined`, which keeps the current fragment. A `socket` and `fragment`
119
+ * with an `undefined` `path` raise "Can't resolve id with specified socket
120
+ * and fragment."
114
121
  *
115
122
  * In the same world, address a sibling **relatively** — by bare id
116
123
  * (`msg.url("camera")`), absolute path (`msg.url("/camera")`), or
@@ -139,6 +146,9 @@ declare global {
139
146
  * // A component on a sibling.
140
147
  * const comp: Url = msg.url("camera#script");
141
148
  *
149
+ * // A hashed path in the current world.
150
+ * const door: Url = msg.url(hash("/door"));
151
+ *
142
152
  * // Crossing into a proxy-loaded world — `socket` is the world name.
143
153
  * const proxied: Url = msg.url(hash("level1"), hash("/door"), hash("script"));
144
154
  *
@@ -147,18 +157,20 @@ declare global {
147
157
  * ```
148
158
  */
149
159
  function url(): Url;
150
- function url(urlstring: SceneAddress | undefined): Url;
160
+ function url(urlstring: SceneAddress | Hash | Url | undefined): Url;
151
161
  function url(
152
162
  socket: string | Hash | undefined,
153
- path: string | Hash,
154
- fragment: string | Hash,
163
+ path: string | Hash | undefined,
164
+ fragment: string | Hash | undefined,
155
165
  ): Url;
156
166
  function url<M extends object>(): ReceiverUrl<M>;
157
- function url<M extends object>(urlstring: SceneAddress | undefined): ReceiverUrl<M>;
167
+ function url<M extends object>(
168
+ urlstring: SceneAddress | Hash | Url | undefined,
169
+ ): ReceiverUrl<M>;
158
170
  function url<M extends object>(
159
171
  socket: string | Hash | undefined,
160
- path: string | Hash,
161
- fragment: string | Hash,
172
+ path: string | Hash | undefined,
173
+ fragment: string | Hash | undefined,
162
174
  ): ReceiverUrl<M>;
163
175
  }
164
176
  }
@@ -9,6 +9,10 @@ export interface SignatureOverride {
9
9
  // than `signatures` keeps the ref-doc fixture description for those rows. Every
10
10
  // existing override omits `docs` and renders exactly as before.
11
11
  docs?: (string | null)[];
12
+ // Optional per-overload first release, parallel to `signatures`: entry `i` is
13
+ // the bare semver from which row `i` exists, or `null` for a row every target
14
+ // declares. An absent array means every row is ungated.
15
+ since?: (string | null)[];
12
16
  }
13
17
 
14
18
  // An FQN (`io.open`, `file:read`, …) maps to one override. An element with
@@ -23,3 +27,49 @@ export type SignatureStore = Record<string, SignatureOverride>;
23
27
  export function lookupSignature(store: SignatureStore, fqn: string): SignatureOverride | null {
24
28
  return store[fqn] ?? null;
25
29
  }
30
+
31
+ function versionParts(version: string): number[] {
32
+ return version.split(".").map((part) => Number.parseInt(part, 10));
33
+ }
34
+
35
+ function versionAtLeast(version: string, since: string): boolean {
36
+ const [have, need] = [versionParts(version), versionParts(since)];
37
+ for (let index = 0; index < Math.max(have.length, need.length); index += 1) {
38
+ const diff = (have[index] ?? 0) - (need[index] ?? 0);
39
+ if (diff !== 0) return diff > 0;
40
+ }
41
+ return true;
42
+ }
43
+
44
+ // The override as a target at `version` declares it: only the rows whose `since`
45
+ // is absent, `null`, or at most `version`, with `docs` and `since` kept parallel.
46
+ export function signatureArmsFor(override: SignatureOverride, version: string): SignatureOverride {
47
+ const since = override.since;
48
+ if (since === undefined) return override;
49
+ const kept = override.signatures
50
+ .map((_, index) => index)
51
+ .filter((index) => {
52
+ const first = since[index];
53
+ return first == null || versionAtLeast(version, first);
54
+ });
55
+ if (kept.length === override.signatures.length) return override;
56
+ const docs = override.docs;
57
+ return {
58
+ signatures: kept.map((index) => override.signatures[index] as string),
59
+ ...(docs === undefined
60
+ ? {}
61
+ : { docs: kept.filter((index) => index < docs.length).map((index) => docs[index] ?? null) }),
62
+ since: kept.map((index) => since[index] ?? null),
63
+ };
64
+ }
65
+
66
+ // The store as one version declares it: each entry keeps only the arms whose
67
+ // `since` the version meets, and an entry left with none is dropped.
68
+ export function signatureStoreFor(store: SignatureStore, version: string): SignatureStore {
69
+ const scoped: SignatureStore = {};
70
+ for (const [fqn, override] of Object.entries(store)) {
71
+ const arms = signatureArmsFor(override, version);
72
+ if (arms.signatures.length > 0) scoped[fqn] = arms;
73
+ }
74
+ return scoped;
75
+ }
@@ -9,7 +9,7 @@
9
9
  //
10
10
  // const opt: socket.TCPOptions = 'keepalive';
11
11
  // // TCP/UDP are convenience intersections for consumer annotations;
12
- // // no socket.* function returns them (tcp() yields a `master` handle).
12
+ // // no socket.* function returns them (tcp() yields a `SocketMaster` handle).
13
13
  //
14
14
  // The literal unions are LuaSocket-domain, not engine-ref-doc, so they live
15
15
  // here rather than in the regen pipeline.
@@ -17,7 +17,7 @@
17
17
  declare global {
18
18
  namespace socket {
19
19
  /** A TCP handle in any of its three lifecycle roles. */
20
- type TCP = client & master & server;
20
+ type TCP = SocketClient & SocketMaster & SocketServer;
21
21
  /** Option names accepted by a TCP handle's `setoption`. */
22
22
  type TCPOptions = "ipv6-v6only" | "keepalive" | "linger" | "reuseaddr" | "tcp-nodelay";
23
23
  /** Error string a TCP `receive` may return. */
@@ -29,7 +29,7 @@ declare global {
29
29
  /** Blocking mode passed to a TCP handle's `settimeout`. */
30
30
  type TCPTimeoutMode = "b" | "t";
31
31
  /** A UDP handle in either of its two lifecycle roles. */
32
- type UDP = connected & unconnected;
32
+ type UDP = SocketConnected & SocketUnconnected;
33
33
  /** Option names accepted by a UDP handle's `setoption`. */
34
34
  type UDPOptions =
35
35
  | "broadcast"
package/src/timers.d.ts CHANGED
@@ -3,7 +3,8 @@
3
3
  // as an isolated Lua chunk with no shared global scope and no JS event loop, so
4
4
  // these are named module exports (lowered to a `require`), not ambient globals:
5
5
  // pay-for-use and explicit. The transpiler emits the runtime and the CLI writes
6
- // it to the output root; the import lowers to `require("defold_typescript_timers")`.
6
+ // it to `lib/defold_typescript/timers.lua` (moved by `runtime-dir`), respelling
7
+ // the import's `require` to that path.
7
8
  declare module "@defold-typescript/types/timers" {
8
9
  /**
9
10
  * Run `callback` once after `delayMs` milliseconds, backed by Defold's
@@ -85,6 +85,32 @@ declare global {
85
85
  * @returns multiplied vector
86
86
  */
87
87
  function mul_per_elem<T extends Vector3 | Vector4>(v1: T, v2: T): T;
88
+ /**
89
+ * The returned value is a scalar defined as:
90
+ * `P ⋅ Q = |P| |Q| cos θ`
91
+ * where θ is the angle between the vectors P and Q.
92
+ *
93
+ * - If the dot product is positive then the angle between the vectors is below 90 degrees.
94
+ * - If the dot product is zero the vectors are perpendicular (at right-angles to each other).
95
+ * - If the dot product is negative then the angle between the vectors is more than 90 degrees.
96
+ *
97
+ * Both vectors must have the same type: a vector3 paired with a vector4 raises.
98
+ *
99
+ * @param v1 - first vector
100
+ * @param v2 - second vector
101
+ * @returns dot product
102
+ * @example
103
+ * ```ts
104
+ * const vector1 = vmath.vector3(1, 0, 0);
105
+ * const vector2 = vmath.vector3(0, 1, 0);
106
+ *
107
+ * if (vmath.dot(vector1, vector2) === 0) {
108
+ * // The two vectors are perpendicular (at right-angles to each other)
109
+ * // ...
110
+ * }
111
+ * ```
112
+ */
113
+ function dot<T extends Vector3 | Vector4>(v1: T, v2: T): number;
88
114
  /**
89
115
  * Normalizes a vector, i.e. returns a new vector with the same
90
116
  * direction as the input vector, but with length 1.