@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.
- package/api-availability.json +4 -58
- package/api-signatures.json +878 -1356
- package/api-targets.json +15 -5
- package/examples/translations.json +4 -56
- package/generated/b2d_world.d.ts +10 -10
- package/generated/buffer.d.ts +9 -9
- package/generated/bullet3d_collision_object.d.ts +1 -1
- package/generated/bullet3d_constraint.d.ts +109 -7
- package/generated/bullet3d_shape.d.ts +2 -2
- package/generated/go.d.ts +114 -220
- package/generated/graphics.d.ts +1 -0
- package/generated/gui.d.ts +148 -371
- package/generated/http.d.ts +2 -2
- package/generated/image.d.ts +55 -3
- package/generated/kinds/gui-script.d.ts +2 -0
- package/generated/kinds/render-script.d.ts +14 -15
- package/generated/liveupdate.d.ts +5 -1
- package/generated/material.d.ts +3 -3
- package/generated/particlefx.d.ts +20 -1
- package/generated/physics.d.ts +45 -1
- package/generated/render-script-modules/b2d.d.ts +711 -0
- package/generated/render-script-modules/bullet3d.d.ts +73 -0
- package/generated/render-script-modules/collectionfactory.d.ts +25 -0
- package/generated/render-script-modules/collectionproxy.d.ts +39 -0
- package/generated/render-script-modules/factory.d.ts +25 -0
- package/generated/render-script-modules/go.d.ts +436 -0
- package/generated/render-script-modules/label.d.ts +105 -0
- package/generated/render-script-modules/model.d.ts +89 -0
- package/generated/render-script-modules/particlefx.d.ts +59 -0
- package/generated/render-script-modules/physics.d.ts +333 -0
- package/generated/render-script-modules/resource.d.ts +1233 -0
- package/generated/render-script-modules/sound.d.ts +227 -0
- package/generated/render-script-modules/sprite.d.ts +68 -0
- package/generated/render-script-modules/tilemap.d.ts +43 -0
- package/generated/render.d.ts +134 -8
- package/generated/resource.d.ts +31 -10
- package/generated/sprite.d.ts +49 -1
- package/generated/sys.d.ts +70 -6
- package/generated/versions/defold-1.12.4/buffer.d.ts +8 -8
- package/generated/versions/defold-1.12.4/go.d.ts +115 -343
- package/generated/versions/defold-1.12.4/graphics.d.ts +1 -0
- package/generated/versions/defold-1.12.4/gui.d.ts +151 -513
- package/generated/versions/defold-1.12.4/http.d.ts +2 -2
- package/generated/versions/defold-1.12.4/image.d.ts +82 -2
- package/generated/versions/defold-1.12.4/index.d.ts +1 -0
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.12.4/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.12.4/physics.d.ts +45 -1
- package/generated/versions/defold-1.12.4/render.d.ts +78 -2
- package/generated/versions/defold-1.12.4/resource.d.ts +43 -10
- package/generated/versions/defold-1.12.4/sprite.d.ts +58 -1
- package/generated/versions/defold-1.12.4/sys.d.ts +101 -6
- package/generated/versions/defold-1.12.4/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.0/buffer.d.ts +8 -8
- package/generated/versions/defold-1.13.0/go.d.ts +115 -370
- package/generated/versions/defold-1.13.0/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.0/gui.d.ts +151 -513
- package/generated/versions/defold-1.13.0/http.d.ts +2 -2
- package/generated/versions/defold-1.13.0/image.d.ts +82 -2
- package/generated/versions/defold-1.13.0/index.d.ts +1 -0
- package/generated/versions/defold-1.13.0/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.13.0/material.d.ts +3 -1
- package/generated/versions/defold-1.13.0/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.13.0/physics.d.ts +45 -1
- package/generated/versions/defold-1.13.0/render.d.ts +142 -4
- package/generated/versions/defold-1.13.0/resource.d.ts +43 -10
- package/generated/versions/defold-1.13.0/sprite.d.ts +58 -1
- package/generated/versions/defold-1.13.0/sys.d.ts +101 -6
- package/generated/versions/defold-1.13.0/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.1/buffer.d.ts +8 -8
- package/generated/versions/defold-1.13.1/go.d.ts +115 -370
- package/generated/versions/defold-1.13.1/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.1/gui.d.ts +151 -529
- package/generated/versions/defold-1.13.1/http.d.ts +2 -2
- package/generated/versions/defold-1.13.1/image.d.ts +82 -2
- package/generated/versions/defold-1.13.1/index.d.ts +2 -0
- package/generated/versions/defold-1.13.1/liveupdate.d.ts +4 -0
- package/generated/versions/defold-1.13.1/material.d.ts +3 -1
- package/generated/versions/defold-1.13.1/particlefx.d.ts +22 -1
- package/generated/versions/defold-1.13.1/physics.d.ts +45 -1
- package/generated/versions/defold-1.13.1/render.d.ts +142 -4
- package/generated/versions/defold-1.13.1/resource.d.ts +43 -10
- package/generated/versions/defold-1.13.1/sprite.d.ts +58 -1
- package/generated/versions/defold-1.13.1/sys.d.ts +101 -6
- package/generated/versions/defold-1.13.1/vmath.d.ts +0 -24
- package/generated/versions/defold-1.13.2/b2d_world.d.ts +10 -10
- package/generated/versions/defold-1.13.2/buffer.d.ts +9 -9
- package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +1 -1
- package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +109 -7
- package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +2 -2
- package/generated/versions/defold-1.13.2/go.d.ts +114 -220
- package/generated/versions/defold-1.13.2/graphics.d.ts +1 -0
- package/generated/versions/defold-1.13.2/gui.d.ts +148 -371
- package/generated/versions/defold-1.13.2/http.d.ts +2 -2
- package/generated/versions/defold-1.13.2/image.d.ts +55 -3
- package/generated/versions/defold-1.13.2/index.d.ts +2 -0
- package/generated/versions/defold-1.13.2/liveupdate.d.ts +5 -1
- package/generated/versions/defold-1.13.2/material.d.ts +3 -3
- package/generated/versions/defold-1.13.2/particlefx.d.ts +20 -1
- package/generated/versions/defold-1.13.2/physics.d.ts +45 -1
- package/generated/versions/defold-1.13.2/render.d.ts +123 -7
- package/generated/versions/defold-1.13.2/resource.d.ts +31 -10
- package/generated/versions/defold-1.13.2/sprite.d.ts +49 -1
- package/generated/versions/defold-1.13.2/sys.d.ts +70 -6
- package/generated/versions/defold-1.13.2/vmath.d.ts +0 -24
- package/generated/vmath.d.ts +0 -24
- package/identity-vocabulary.json +52 -7
- package/index.d.ts +2 -0
- package/package.json +2 -1
- package/scripts/generate-api-availability.ts +1 -21
- package/scripts/generate-api-signatures.ts +75 -14
- package/scripts/materialize-version.ts +48 -7
- package/scripts/regen.ts +214 -19
- package/scripts/signature-store-fs.ts +1 -0
- package/scripts/target-version.ts +26 -0
- package/src/api-doc.ts +26 -0
- package/src/component-properties.d.ts +89 -0
- package/src/core-types.ts +42 -15
- package/src/doc-corrections.ts +53 -5
- package/src/emit-dts.ts +758 -198
- package/src/engine-globals.d.ts +5 -1
- package/src/go-overloads.d.ts +68 -13
- package/src/gui-overloads.d.ts +489 -0
- package/src/gui-texture-removal.d.ts +41 -0
- package/src/index.ts +2 -0
- package/src/lifecycle.ts +30 -21
- package/src/msg-overloads.d.ts +25 -13
- package/src/signature-store.ts +50 -0
- package/src/timers.d.ts +2 -1
- package/src/vmath-overloads.d.ts +26 -0
package/src/lifecycle.ts
CHANGED
|
@@ -370,7 +370,10 @@ export type RenderScriptHooks<TSelf, TInitState = TSelf> = Omit<
|
|
|
370
370
|
// the property channel (raw default values), `TSelf` the merged `self` the
|
|
371
371
|
// callbacks see (`NoInfer`-wrapped inside the hook set), and `TInitState` what
|
|
372
372
|
// `init` returns. `ScriptHooks` itself stays callback-only so the
|
|
373
|
-
// `SCRIPT_HOOK_NAMES` drift pin remains valid.
|
|
373
|
+
// `SCRIPT_HOOK_NAMES` drift pin remains valid. Only `defineScript` takes
|
|
374
|
+
// `properties`: the GUI and render variants keep the same three type parameters
|
|
375
|
+
// but type the field `undefined`, because Defold builds `go.property` only in
|
|
376
|
+
// `.script` files.
|
|
374
377
|
//
|
|
375
378
|
// `init` is overridden to receive `self: NoInfer<TProps>` — Defold applies the
|
|
376
379
|
// declared property values to `self` before `init` runs, so init-time setup can
|
|
@@ -402,17 +405,20 @@ export type GuiScriptHooksWithProperties<TProps, TSelf, TInitState> = Omit<
|
|
|
402
405
|
"init"
|
|
403
406
|
> & {
|
|
404
407
|
/**
|
|
405
|
-
* Receives `self`
|
|
406
|
-
*
|
|
407
|
-
* returned object
|
|
408
|
+
* Receives `self` typed by the first type argument, which stays empty unless
|
|
409
|
+
* given explicitly, since a GUI script declares no properties. The
|
|
410
|
+
* returned object seeds the inferred script state.
|
|
408
411
|
*/
|
|
409
412
|
init?(self: NoInfer<TProps>): TInitState;
|
|
410
413
|
/**
|
|
411
|
-
*
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
+
* Not available: Defold builds `go.property` only in `.script` files, so a
|
|
415
|
+
* GUI script cannot declare properties. Declare the property on a game
|
|
416
|
+
* object's {@link defineScript} and `msg.post` its value to the GUI
|
|
417
|
+
* script from that script's `init`; `go.get` does not work for this from a
|
|
418
|
+
* GUI script, since the engine's `go.get` accepts only a game-object
|
|
419
|
+
* script instance.
|
|
414
420
|
*/
|
|
415
|
-
properties?:
|
|
421
|
+
properties?: undefined;
|
|
416
422
|
};
|
|
417
423
|
|
|
418
424
|
export type RenderScriptHooksWithProperties<TProps, TSelf, TInitState> = Omit<
|
|
@@ -420,17 +426,20 @@ export type RenderScriptHooksWithProperties<TProps, TSelf, TInitState> = Omit<
|
|
|
420
426
|
"init"
|
|
421
427
|
> & {
|
|
422
428
|
/**
|
|
423
|
-
* Receives `self`
|
|
424
|
-
*
|
|
425
|
-
* returned object
|
|
429
|
+
* Receives `self` typed by the first type argument, which stays empty unless
|
|
430
|
+
* given explicitly, since a render script declares no properties. The
|
|
431
|
+
* returned object seeds the inferred script state.
|
|
426
432
|
*/
|
|
427
433
|
init?(self: NoInfer<TProps>): TInitState;
|
|
428
434
|
/**
|
|
429
|
-
*
|
|
430
|
-
*
|
|
431
|
-
*
|
|
435
|
+
* Not available: Defold builds `go.property` only in `.script` files, so a
|
|
436
|
+
* render script cannot declare properties. Declare the property on a game
|
|
437
|
+
* object's {@link defineScript} and `msg.post` its value to the render
|
|
438
|
+
* script from that script's `init`; `go.get` does not work for this from a
|
|
439
|
+
* render script, since the engine's `go.get` accepts only a game-object
|
|
440
|
+
* script instance.
|
|
432
441
|
*/
|
|
433
|
-
properties?:
|
|
442
|
+
properties?: undefined;
|
|
434
443
|
};
|
|
435
444
|
|
|
436
445
|
// The script-local message map an `onMessage` dispatcher carries, lifted onto
|
|
@@ -502,9 +511,9 @@ export function defineScript<
|
|
|
502
511
|
/**
|
|
503
512
|
* Type a `.gui_script` component's hook table. Like {@link defineScript} it is
|
|
504
513
|
* an identity function at runtime, infers `TSelf` from `init`'s return by
|
|
505
|
-
* default,
|
|
506
|
-
*
|
|
507
|
-
*
|
|
514
|
+
* default, and is erased by the transpiler's `lifecycle-erasure` pass into the
|
|
515
|
+
* flat Defold chunk shape. The `properties` field is {@link defineScript}-only:
|
|
516
|
+
* Defold builds `go.property` only in `.script` files.
|
|
508
517
|
*
|
|
509
518
|
* `GuiScriptHooks` is `Omit<ScriptHooks, "fixed_update" | "late_update">` — gui
|
|
510
519
|
* scripts are not driven by the fixed-timestep or late-update passes. It accepts
|
|
@@ -543,9 +552,9 @@ export function defineGuiScript<
|
|
|
543
552
|
/**
|
|
544
553
|
* Type a `.render_script` component's hook table. Like {@link defineScript} it
|
|
545
554
|
* is an identity function at runtime, infers `TSelf` from `init`'s return by
|
|
546
|
-
* default,
|
|
547
|
-
*
|
|
548
|
-
*
|
|
555
|
+
* default, and is erased by the transpiler's `lifecycle-erasure` pass into the
|
|
556
|
+
* flat Defold chunk shape. The `properties` field is {@link defineScript}-only:
|
|
557
|
+
* Defold builds `go.property` only in `.script` files.
|
|
549
558
|
*
|
|
550
559
|
* `RenderScriptHooks` is `Omit<ScriptHooks, "on_input" | "final" |
|
|
551
560
|
* "fixed_update" | "late_update">` — the engine calls only four render-script
|
package/src/msg-overloads.d.ts
CHANGED
|
@@ -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]"
|
|
104
|
-
*
|
|
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
|
-
*
|
|
109
|
-
*
|
|
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
|
-
*
|
|
112
|
-
*
|
|
113
|
-
* current
|
|
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>(
|
|
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
|
}
|
package/src/signature-store.ts
CHANGED
|
@@ -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
|
+
}
|
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
|
|
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
|
package/src/vmath-overloads.d.ts
CHANGED
|
@@ -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.
|