@defold-typescript/types 0.19.4 → 0.20.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 +2755 -0
- package/api-migrations.json +31 -0
- package/api-signatures.json +2324 -0
- package/api-targets.json +493 -45
- package/generated/b2d.d.ts +6 -0
- package/generated/b2d_body.d.ts +329 -1
- package/generated/b2d_chain.d.ts +106 -0
- package/generated/b2d_fixture.d.ts +155 -0
- package/generated/b2d_joint.d.ts +823 -0
- package/generated/b2d_shape.d.ts +215 -0
- package/generated/b2d_world.d.ts +314 -0
- package/generated/builtin-messages.d.ts +18 -0
- package/generated/camera.d.ts +62 -5
- package/generated/compute.d.ts +306 -0
- package/generated/go.d.ts +29 -4
- package/generated/graphics.d.ts +95 -0
- package/generated/gui.d.ts +1 -3
- package/generated/json.d.ts +2 -2
- package/generated/kinds/gui-script.d.ts +7 -0
- package/generated/kinds/render-script.d.ts +7 -0
- package/generated/kinds/script.d.ts +7 -0
- package/generated/label.d.ts +1 -1
- package/generated/liveupdate.d.ts +22 -4
- package/generated/material.d.ts +444 -0
- package/generated/model.d.ts +46 -5
- package/generated/physics.d.ts +1 -3
- package/generated/profiler.d.ts +2 -3
- package/generated/render.d.ts +25 -9
- package/generated/resource.d.ts +2 -2
- package/generated/sprite.d.ts +15 -1
- package/generated/tilemap.d.ts +14 -0
- package/generated/versions/defold-1.12.4/b2d.d.ts +27 -0
- package/generated/versions/defold-1.12.4/b2d_body.d.ts +348 -0
- package/generated/versions/defold-1.12.4/buffer.d.ts +176 -0
- package/generated/versions/defold-1.12.4/camera.d.ts +245 -0
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +146 -0
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +71 -0
- package/generated/versions/defold-1.12.4/crash.d.ts +143 -0
- package/generated/versions/defold-1.12.4/factory.d.ts +123 -0
- package/generated/versions/defold-1.12.4/font.d.ts +81 -0
- package/generated/versions/defold-1.12.4/go.d.ts +1029 -0
- package/generated/versions/defold-1.12.4/graphics.d.ts +226 -0
- package/generated/versions/defold-1.12.4/gui.d.ts +2372 -0
- package/generated/versions/defold-1.12.4/html5.d.ts +53 -0
- package/generated/versions/defold-1.12.4/http.d.ts +84 -0
- package/generated/versions/defold-1.12.4/iac.d.ts +18 -0
- package/generated/versions/defold-1.12.4/iap.d.ts +60 -0
- package/generated/versions/defold-1.12.4/image.d.ts +139 -0
- package/generated/versions/defold-1.12.4/index.d.ts +41 -0
- package/generated/versions/defold-1.12.4/json.d.ts +76 -0
- package/generated/versions/defold-1.12.4/label.d.ts +94 -0
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +122 -0
- package/generated/versions/defold-1.12.4/model.d.ts +205 -0
- package/generated/versions/defold-1.12.4/msg.d.ts +10 -0
- package/generated/versions/defold-1.12.4/particlefx.d.ts +166 -0
- package/generated/versions/defold-1.12.4/physics.d.ts +547 -0
- package/generated/versions/defold-1.12.4/profiler.d.ts +234 -0
- package/generated/versions/defold-1.12.4/push.d.ts +66 -0
- package/generated/versions/defold-1.12.4/render.d.ts +1149 -0
- package/generated/versions/defold-1.12.4/resource.d.ts +1518 -0
- package/generated/versions/defold-1.12.4/socket.d.ts +795 -0
- package/generated/versions/defold-1.12.4/sound.d.ts +291 -0
- package/generated/versions/defold-1.12.4/sprite.d.ts +143 -0
- package/generated/versions/defold-1.12.4/sys.d.ts +695 -0
- package/generated/versions/defold-1.12.4/tilemap.d.ts +181 -0
- package/generated/versions/defold-1.12.4/timer.d.ts +114 -0
- package/generated/versions/defold-1.12.4/types.d.ts +61 -0
- package/generated/versions/defold-1.12.4/vmath.d.ts +806 -0
- package/generated/versions/defold-1.12.4/webview.d.ts +68 -0
- package/generated/versions/defold-1.12.4/window.d.ts +198 -0
- package/generated/versions/defold-1.12.4/zlib.d.ts +40 -0
- package/index.d.ts +22 -0
- package/package.json +8 -1
- package/scripts/fidelity-audit.ts +69 -12
- package/scripts/fidelity-baseline.json +56 -0
- package/scripts/generate-api-availability.ts +139 -0
- package/scripts/generate-api-signatures.ts +66 -0
- package/scripts/import-defold-release.ts +480 -0
- package/scripts/regen.ts +53 -6
- package/scripts/sync-api-docs.ts +89 -41
- package/src/api-availability.ts +0 -0
- package/src/core-types.ts +9 -0
- package/src/emit-dts.ts +674 -17
- package/src/emit-messages.ts +72 -2
- package/src/index.ts +26 -1
- package/src/lifecycle.ts +43 -2
package/src/emit-messages.ts
CHANGED
|
@@ -12,12 +12,79 @@ export interface MessageEntry {
|
|
|
12
12
|
origin: string;
|
|
13
13
|
description: string;
|
|
14
14
|
payload: MessageField[];
|
|
15
|
+
deprecatedSince?: string;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
export interface MessageCatalog {
|
|
18
19
|
entries: MessageEntry[];
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
export interface MessageDeprecation {
|
|
23
|
+
origin: string;
|
|
24
|
+
name: string;
|
|
25
|
+
deprecatedSince: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Messages sit outside the typed identity surface (no MESSAGE kind in
|
|
29
|
+
// ApiSymbolIdentity / the availability matrix), and the per-version message
|
|
30
|
+
// fixtures are incomplete, so message deprecations cannot be derived like member
|
|
31
|
+
// deprecations. This is the smallest curated overlay: only evidence-backed
|
|
32
|
+
// entries, matched by the stable (origin, name) identity, failing closed.
|
|
33
|
+
export const MESSAGE_DEPRECATIONS: readonly MessageDeprecation[] = [
|
|
34
|
+
{ origin: "camera", name: "acquire_camera_focus", deprecatedSince: "1.13.0" },
|
|
35
|
+
{ origin: "camera", name: "release_camera_focus", deprecatedSince: "1.13.0" },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
// Stamp deprecatedSince onto the catalog entries the overlay names, keyed by
|
|
39
|
+
// exact (origin, name). The identity index nests name under origin so origin and
|
|
40
|
+
// name never share a delimiter — no separator byte can forge or collide two
|
|
41
|
+
// distinct identities. A duplicate catalog identity, a duplicate overlay
|
|
42
|
+
// identity, or an overlay entry that matches no catalog message each throws
|
|
43
|
+
// rather than silently overwriting or no-op'ing, so an ambiguous surface or a
|
|
44
|
+
// stale curation cannot pass unnoticed.
|
|
45
|
+
export function applyMessageDeprecations(
|
|
46
|
+
catalog: MessageCatalog,
|
|
47
|
+
overlay: readonly MessageDeprecation[] = MESSAGE_DEPRECATIONS,
|
|
48
|
+
): MessageCatalog {
|
|
49
|
+
const entries = catalog.entries.map((entry) => ({ ...entry }));
|
|
50
|
+
const byIdentity = new Map<string, Map<string, MessageEntry>>();
|
|
51
|
+
for (const entry of entries) {
|
|
52
|
+
let byName = byIdentity.get(entry.origin);
|
|
53
|
+
if (!byName) {
|
|
54
|
+
byName = new Map<string, MessageEntry>();
|
|
55
|
+
byIdentity.set(entry.origin, byName);
|
|
56
|
+
}
|
|
57
|
+
if (byName.has(entry.name)) {
|
|
58
|
+
throw new Error(
|
|
59
|
+
`applyMessageDeprecations: duplicate catalog message identity (origin=${entry.origin}, name=${entry.name})`,
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
byName.set(entry.name, entry);
|
|
63
|
+
}
|
|
64
|
+
const seenOverlay = new Map<string, Set<string>>();
|
|
65
|
+
for (const dep of overlay) {
|
|
66
|
+
let names = seenOverlay.get(dep.origin);
|
|
67
|
+
if (!names) {
|
|
68
|
+
names = new Set<string>();
|
|
69
|
+
seenOverlay.set(dep.origin, names);
|
|
70
|
+
}
|
|
71
|
+
if (names.has(dep.name)) {
|
|
72
|
+
throw new Error(
|
|
73
|
+
`applyMessageDeprecations: duplicate overlay message identity (origin=${dep.origin}, name=${dep.name})`,
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
names.add(dep.name);
|
|
77
|
+
const entry = byIdentity.get(dep.origin)?.get(dep.name);
|
|
78
|
+
if (!entry) {
|
|
79
|
+
throw new Error(
|
|
80
|
+
`applyMessageDeprecations: no catalog message matches (origin=${dep.origin}, name=${dep.name})`,
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
entry.deprecatedSince = dep.deprecatedSince;
|
|
84
|
+
}
|
|
85
|
+
return { entries };
|
|
86
|
+
}
|
|
87
|
+
|
|
21
88
|
const TS_IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
22
89
|
const ENGINE_TYPES = [
|
|
23
90
|
"Hash",
|
|
@@ -95,11 +162,14 @@ export function emitBuiltinMessages(catalog: MessageCatalog): string {
|
|
|
95
162
|
|
|
96
163
|
function emitEntry(entry: MessageEntry): string {
|
|
97
164
|
const key = TS_IDENTIFIER.test(entry.name) ? entry.name : JSON.stringify(entry.name);
|
|
165
|
+
const prefix = entry.deprecatedSince
|
|
166
|
+
? ` /** @deprecated since ${entry.deprecatedSince} */\n`
|
|
167
|
+
: "";
|
|
98
168
|
if (entry.payload.length === 0) {
|
|
99
|
-
return
|
|
169
|
+
return `${prefix} ${key}: Record<string, never>;`;
|
|
100
170
|
}
|
|
101
171
|
const fields = entry.payload.map(emitField).join("; ");
|
|
102
|
-
return
|
|
172
|
+
return `${prefix} ${key}: { ${fields} };`;
|
|
103
173
|
}
|
|
104
174
|
|
|
105
175
|
function emitField(field: MessageField): string {
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
export {
|
|
2
|
+
type ApiAvailability,
|
|
3
|
+
type ApiMigrationCatalog,
|
|
4
|
+
type ApiMigrationEntry,
|
|
5
|
+
type ApiSymbolIdentity,
|
|
6
|
+
type AvailabilityLabel,
|
|
7
|
+
type AvailabilityLabelKind,
|
|
8
|
+
applyMigrationOverlay,
|
|
9
|
+
availabilityLabel,
|
|
10
|
+
type Box2dBackend,
|
|
11
|
+
collectSymbolIdentities,
|
|
12
|
+
deriveAvailabilityMatrix,
|
|
13
|
+
groupByLogicalName,
|
|
14
|
+
isSignatureTransition,
|
|
15
|
+
type LogicalNameGroup,
|
|
16
|
+
normalizedFunctionSignature,
|
|
17
|
+
symbolIdentityKey,
|
|
18
|
+
type VersionSurface,
|
|
19
|
+
validateAvailability,
|
|
20
|
+
} from "./api-availability";
|
|
1
21
|
export type { ApiFunction, ApiModule, ApiParameter, ApiVariable } from "./api-doc";
|
|
2
22
|
export { parseDefoldApiDoc } from "./api-doc";
|
|
3
23
|
export {
|
|
@@ -17,7 +37,12 @@ export {
|
|
|
17
37
|
htmlToDocText,
|
|
18
38
|
renderDocComment,
|
|
19
39
|
} from "./doc-comment";
|
|
20
|
-
export {
|
|
40
|
+
export {
|
|
41
|
+
type EmitOptions,
|
|
42
|
+
emitDeclarations,
|
|
43
|
+
emitSymbolSignatures,
|
|
44
|
+
type SymbolSignature,
|
|
45
|
+
} from "./emit-dts";
|
|
21
46
|
export {
|
|
22
47
|
hashExampleSource,
|
|
23
48
|
lookupTranslation,
|
package/src/lifecycle.ts
CHANGED
|
@@ -112,7 +112,21 @@ export interface InputAction {
|
|
|
112
112
|
*/
|
|
113
113
|
userid?: number;
|
|
114
114
|
/**
|
|
115
|
-
*
|
|
115
|
+
* The guid of the gamepad controller. Only passed with "connected" action.
|
|
116
|
+
*/
|
|
117
|
+
gamepad_guid?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Parsed guid info table. Only passed with "connected" action. See table below.
|
|
120
|
+
*/
|
|
121
|
+
gamepad_guid_info?: {
|
|
122
|
+
vendor: number;
|
|
123
|
+
product: number;
|
|
124
|
+
bus: number;
|
|
125
|
+
crc: number;
|
|
126
|
+
version: number;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* True if the input originated from an unknown/unmapped gamepad.
|
|
116
130
|
*/
|
|
117
131
|
gamepad_unknown?: boolean;
|
|
118
132
|
/**
|
|
@@ -333,8 +347,14 @@ export interface ScriptHooks<TSelf, TInitState = TSelf> {
|
|
|
333
347
|
* `userid`
|
|
334
348
|
* Id of the user associated with the controller. Usually only relevant on consoles.
|
|
335
349
|
*
|
|
350
|
+
* `gamepad_guid`
|
|
351
|
+
* The guid of the gamepad controller. Only passed with "connected" action.
|
|
352
|
+
*
|
|
353
|
+
* `gamepad_guid_info`
|
|
354
|
+
* Parsed guid info table. Only passed with "connected" action. See table below.
|
|
355
|
+
*
|
|
336
356
|
* `gamepad_unknown`
|
|
337
|
-
* True if the
|
|
357
|
+
* True if the input originated from an unknown/unmapped gamepad.
|
|
338
358
|
*
|
|
339
359
|
* `gamepad_name`
|
|
340
360
|
* Name of the gamepad
|
|
@@ -386,6 +406,27 @@ export interface ScriptHooks<TSelf, TInitState = TSelf> {
|
|
|
386
406
|
* `acc_z`
|
|
387
407
|
* Accelerometer z value (if present).
|
|
388
408
|
*
|
|
409
|
+
* Guid info table:
|
|
410
|
+
* This info is only passed with a `connected` action.
|
|
411
|
+
*
|
|
412
|
+
* Field
|
|
413
|
+
* Description
|
|
414
|
+
*
|
|
415
|
+
* `vendor`
|
|
416
|
+
* USB vendor id. E.g. Nintendo 0x057e, Sony 0x054c, or Microsoft 0x045e
|
|
417
|
+
*
|
|
418
|
+
* `product`
|
|
419
|
+
* USB product id
|
|
420
|
+
*
|
|
421
|
+
* `bus`
|
|
422
|
+
* How device is communicating. E.g.0x0003 for USB devices and 0x0005 for Bluetooth devices.
|
|
423
|
+
*
|
|
424
|
+
* `crc`
|
|
425
|
+
* SDL CRC16 signature, typically used when vendor and product ids are unavailable
|
|
426
|
+
*
|
|
427
|
+
* `version`
|
|
428
|
+
* The device or firmware version
|
|
429
|
+
*
|
|
389
430
|
* @param self - reference to the script state to be used for storing data
|
|
390
431
|
* @param action_id - id of the received input action, as mapped in the input_binding-file
|
|
391
432
|
* @param action - a table containing the input data, see above for a description
|