@defold-typescript/types 0.50.0 → 0.51.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-signatures.json +286 -232
- package/examples/translations.json +15 -15
- package/fixtures/messages_doc.json +20 -39
- package/generated/builtin-messages.d.ts +16 -14
- package/generated/collectionfactory.d.ts +1 -1
- package/generated/collectionproxy.d.ts +2 -2
- package/generated/factory.d.ts +4 -2
- package/generated/graphics.d.ts +4 -0
- package/generated/gui.d.ts +2 -2
- package/generated/http.d.ts +3 -1
- package/generated/image.d.ts +1 -1
- package/generated/kinds/gui-script.d.ts +1 -0
- package/generated/kinds/render-script.d.ts +1 -0
- package/generated/kinds/script.d.ts +1 -0
- package/generated/model.d.ts +4 -5
- package/generated/physics.d.ts +3 -3
- package/generated/render.d.ts +41 -13
- package/generated/sys.d.ts +8 -4
- package/generated/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.12.4/factory.d.ts +4 -2
- package/generated/versions/defold-1.12.4/gui.d.ts +2 -2
- package/generated/versions/defold-1.12.4/http.d.ts +3 -1
- package/generated/versions/defold-1.12.4/image.d.ts +1 -1
- package/generated/versions/defold-1.12.4/index.d.ts +1 -0
- package/generated/versions/defold-1.12.4/model.d.ts +4 -5
- package/generated/versions/defold-1.12.4/physics.d.ts +2 -2
- package/generated/versions/defold-1.12.4/render.d.ts +41 -13
- package/generated/versions/defold-1.12.4/sys.d.ts +1 -1
- package/generated/versions/defold-1.12.4/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.0/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.0/gui.d.ts +2 -2
- package/generated/versions/defold-1.13.0/http.d.ts +3 -1
- package/generated/versions/defold-1.13.0/image.d.ts +1 -1
- package/generated/versions/defold-1.13.0/index.d.ts +1 -0
- package/generated/versions/defold-1.13.0/model.d.ts +4 -5
- package/generated/versions/defold-1.13.0/physics.d.ts +2 -2
- package/generated/versions/defold-1.13.0/render.d.ts +41 -13
- package/generated/versions/defold-1.13.0/sys.d.ts +1 -1
- package/generated/versions/defold-1.13.0/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.1/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.1/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.1/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.1/gui.d.ts +2 -2
- package/generated/versions/defold-1.13.1/http.d.ts +3 -1
- package/generated/versions/defold-1.13.1/image.d.ts +1 -1
- package/generated/versions/defold-1.13.1/index.d.ts +1 -0
- package/generated/versions/defold-1.13.1/model.d.ts +4 -5
- package/generated/versions/defold-1.13.1/physics.d.ts +2 -2
- package/generated/versions/defold-1.13.1/render.d.ts +41 -13
- package/generated/versions/defold-1.13.1/sys.d.ts +1 -1
- package/generated/versions/defold-1.13.1/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.2/collectionfactory.d.ts +1 -1
- package/generated/versions/defold-1.13.2/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.13.2/factory.d.ts +4 -2
- package/generated/versions/defold-1.13.2/gui.d.ts +2 -2
- package/generated/versions/defold-1.13.2/http.d.ts +3 -1
- package/generated/versions/defold-1.13.2/image.d.ts +1 -1
- package/generated/versions/defold-1.13.2/index.d.ts +1 -0
- package/generated/versions/defold-1.13.2/model.d.ts +4 -5
- package/generated/versions/defold-1.13.2/physics.d.ts +3 -3
- package/generated/versions/defold-1.13.2/render.d.ts +41 -13
- package/generated/versions/defold-1.13.2/sys.d.ts +8 -4
- package/generated/versions/defold-1.13.2/tilemap.d.ts +4 -4
- package/generated/versions/defold-1.13.2/window.d.ts +1 -1
- package/generated/window.d.ts +1 -1
- package/identity-vocabulary.json +46 -0
- package/index.d.ts +1 -0
- package/package.json +2 -1
- package/scripts/generate-api-availability.ts +5 -1
- package/scripts/generate-api-signatures.ts +16 -11
- package/scripts/materialize-version.ts +7 -1
- package/scripts/regen.ts +42 -25
- package/src/component-properties.d.ts +137 -6
- package/src/core-types.ts +46 -11
- package/src/emit-dts.ts +555 -84
- package/src/emit-messages.ts +289 -0
- package/src/engine-globals.d.ts +3 -1
- package/src/go-overloads.d.ts +13 -3
- package/src/lifecycle.ts +16 -16
- package/src/luals-type-expr.ts +6 -1
- package/src/physics-event-guard.d.ts +39 -0
- package/src/render-overloads.d.ts +2 -2
- package/src/return-correction-provenance.ts +36 -6
- package/src/window-event-guard.d.ts +5 -3
package/src/core-types.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* A
|
|
4
|
+
* A numeric vector of any size, accessed by index for reads and writes;
|
|
5
|
+
* `v.length()` is its component count.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* The index is 1-based and passed to Defold unchanged: `v[1]` is the first
|
|
9
|
+
* component, and an index outside `1..v.length()` raises. `v.length()` compiles
|
|
10
|
+
* to the Lua length operator `#v`; reading `v.length` as a field raises, since
|
|
11
|
+
* the engine accepts only integer keys.
|
|
5
12
|
*/
|
|
6
13
|
export interface Vector {
|
|
7
|
-
|
|
8
|
-
|
|
14
|
+
[index: number]: number;
|
|
15
|
+
length: LuaLengthMethod<number>;
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
/**
|
|
@@ -84,7 +91,22 @@ export interface Matrix4 {
|
|
|
84
91
|
c1: Vector4;
|
|
85
92
|
c2: Vector4;
|
|
86
93
|
c3: Vector4;
|
|
87
|
-
mul: LuaMultiplicationMethod<Matrix4, Matrix4> &
|
|
94
|
+
mul: LuaMultiplicationMethod<Matrix4, Matrix4> &
|
|
95
|
+
LuaMultiplicationMethod<Vector4, Vector4> &
|
|
96
|
+
LuaMultiplicationMethod<number, Matrix4>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* An array constant read back from a constant buffer: the engine's 1-based
|
|
101
|
+
* proxy over the constant's slots, not a Lua table.
|
|
102
|
+
*
|
|
103
|
+
* @remarks
|
|
104
|
+
* `cb.lights[1]` reads the first slot and an index below 1 raises. The proxy
|
|
105
|
+
* has no length, so it does not support `#` or `.length`; assign a whole new
|
|
106
|
+
* array (`cb.lights = [a, b]`) to change how many slots the constant holds.
|
|
107
|
+
*/
|
|
108
|
+
export interface ConstantArray<T> {
|
|
109
|
+
[index: number]: T;
|
|
88
110
|
}
|
|
89
111
|
|
|
90
112
|
declare const HashBrand: unique symbol;
|
|
@@ -145,9 +167,12 @@ declare const OpaqueBrand: unique symbol;
|
|
|
145
167
|
* types, and passing a texture where a node is expected is a compile error,
|
|
146
168
|
* exactly as a wrong primitive would be. The brand is a phantom `unique symbol`
|
|
147
169
|
* property that lives only in the type system and is erased at transpile — at
|
|
148
|
-
* runtime the value is
|
|
149
|
-
*
|
|
150
|
-
*
|
|
170
|
+
* runtime the value is whatever the engine hands out: usually its userdata, but a
|
|
171
|
+
* plain number for render-target and texture handles (`render.render_target`,
|
|
172
|
+
* the `handle` field of `resource.get_texture_info`). The brand exists only at
|
|
173
|
+
* compile time either way. Because the symbol is never exported, your code
|
|
174
|
+
* cannot fabricate a handle or inspect or construct one; the engine API is the
|
|
175
|
+
* only source.
|
|
151
176
|
*
|
|
152
177
|
* The handle kinds modeled today:
|
|
153
178
|
* - GUI & rendering: `Opaque<"node">`, `Opaque<"texture">`,
|
|
@@ -181,11 +206,21 @@ export interface Opaque<Name extends string> {
|
|
|
181
206
|
|
|
182
207
|
/**
|
|
183
208
|
* A message-passing address with `socket`, `path`, and `fragment` components.
|
|
209
|
+
*
|
|
210
|
+
* @remarks
|
|
211
|
+
* 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`.
|
|
184
216
|
*/
|
|
185
217
|
export interface Url {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
218
|
+
get socket(): Hash;
|
|
219
|
+
set socket(value: Hash | string);
|
|
220
|
+
get path(): Hash | undefined;
|
|
221
|
+
set path(value: Hash | string | undefined);
|
|
222
|
+
get fragment(): Hash | undefined;
|
|
223
|
+
set fragment(value: Hash | string | undefined);
|
|
189
224
|
}
|
|
190
225
|
|
|
191
226
|
const BUFFER_TYPE = 'Opaque<"buffer">';
|
|
@@ -219,7 +254,7 @@ export const DEFOLD_TYPE_MAP: Readonly<Record<string, string>> = {
|
|
|
219
254
|
render_target: 'Opaque<"render_target">',
|
|
220
255
|
constant: 'Opaque<"constant">',
|
|
221
256
|
constant_buffer:
|
|
222
|
-
'Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4
|
|
257
|
+
'Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | ConstantArray<Vector4> | ConstantArray<Matrix4> }',
|
|
223
258
|
buffer: BUFFER_TYPE,
|
|
224
259
|
bufferstream: BUFFERSTREAM_TYPE,
|
|
225
260
|
userdata: 'Opaque<"userdata">',
|