@defold-typescript/types 0.49.0 → 0.50.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 (76) hide show
  1. package/api-availability.json +696 -624
  2. package/api-signatures.json +6799 -160
  3. package/api-targets.json +393 -2
  4. package/examples/translations.json +12 -0
  5. package/generated/b2d.d.ts +15 -0
  6. package/generated/bullet3d.d.ts +16 -0
  7. package/generated/font.d.ts +7 -3
  8. package/generated/graphics.d.ts +7 -0
  9. package/generated/gui.d.ts +5 -4
  10. package/generated/label.d.ts +3 -3
  11. package/generated/render.d.ts +16 -1
  12. package/generated/versions/defold-1.13.2/b2d.d.ts +709 -0
  13. package/generated/versions/defold-1.13.2/b2d_body.d.ts +593 -0
  14. package/generated/versions/defold-1.13.2/b2d_chain.d.ts +105 -0
  15. package/generated/versions/defold-1.13.2/b2d_fixture.d.ts +175 -0
  16. package/generated/versions/defold-1.13.2/b2d_joint.d.ts +1301 -0
  17. package/generated/versions/defold-1.13.2/b2d_shape.d.ts +423 -0
  18. package/generated/versions/defold-1.13.2/b2d_world.d.ts +308 -0
  19. package/generated/versions/defold-1.13.2/buffer.d.ts +192 -0
  20. package/generated/versions/defold-1.13.2/bullet3d.d.ts +91 -0
  21. package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +433 -0
  22. package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +818 -0
  23. package/generated/versions/defold-1.13.2/bullet3d_rigid_body.d.ts +429 -0
  24. package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +123 -0
  25. package/generated/versions/defold-1.13.2/bullet3d_world.d.ts +492 -0
  26. package/generated/versions/defold-1.13.2/camera.d.ts +300 -0
  27. package/generated/versions/defold-1.13.2/collectionfactory.d.ts +148 -0
  28. package/generated/versions/defold-1.13.2/collectionproxy.d.ts +109 -0
  29. package/generated/versions/defold-1.13.2/compute.d.ts +107 -0
  30. package/generated/versions/defold-1.13.2/crash.d.ts +157 -0
  31. package/generated/versions/defold-1.13.2/editor-vm/http.d.ts +139 -0
  32. package/generated/versions/defold-1.13.2/editor-vm/image.d.ts +48 -0
  33. package/generated/versions/defold-1.13.2/editor-vm/json.d.ts +21 -0
  34. package/generated/versions/defold-1.13.2/editor-vm/localization.d.ts +42 -0
  35. package/generated/versions/defold-1.13.2/editor-vm/tilemap_tiles.d.ts +126 -0
  36. package/generated/versions/defold-1.13.2/editor-vm/zip.d.ts +38 -0
  37. package/generated/versions/defold-1.13.2/editor-vm/zlib.d.ts +24 -0
  38. package/generated/versions/defold-1.13.2/editor.d.ts +2177 -0
  39. package/generated/versions/defold-1.13.2/factory.d.ts +121 -0
  40. package/generated/versions/defold-1.13.2/font.d.ts +123 -0
  41. package/generated/versions/defold-1.13.2/go.d.ts +1166 -0
  42. package/generated/versions/defold-1.13.2/graphics.d.ts +613 -0
  43. package/generated/versions/defold-1.13.2/gui.d.ts +2212 -0
  44. package/generated/versions/defold-1.13.2/html5.d.ts +55 -0
  45. package/generated/versions/defold-1.13.2/http.d.ts +83 -0
  46. package/generated/versions/defold-1.13.2/image.d.ts +181 -0
  47. package/generated/versions/defold-1.13.2/index.d.ts +63 -0
  48. package/generated/versions/defold-1.13.2/json.d.ts +94 -0
  49. package/generated/versions/defold-1.13.2/kinds/editor-script.d.ts +14 -0
  50. package/generated/versions/defold-1.13.2/label.d.ts +164 -0
  51. package/generated/versions/defold-1.13.2/liveupdate.d.ts +143 -0
  52. package/generated/versions/defold-1.13.2/material.d.ts +490 -0
  53. package/generated/versions/defold-1.13.2/model.d.ts +287 -0
  54. package/generated/versions/defold-1.13.2/msg.d.ts +10 -0
  55. package/generated/versions/defold-1.13.2/particlefx.d.ts +155 -0
  56. package/generated/versions/defold-1.13.2/physics.d.ts +789 -0
  57. package/generated/versions/defold-1.13.2/profiler.d.ts +228 -0
  58. package/generated/versions/defold-1.13.2/render.d.ts +1153 -0
  59. package/generated/versions/defold-1.13.2/resource.d.ts +1628 -0
  60. package/generated/versions/defold-1.13.2/socket.d.ts +797 -0
  61. package/generated/versions/defold-1.13.2/sound.d.ts +323 -0
  62. package/generated/versions/defold-1.13.2/sprite.d.ts +179 -0
  63. package/generated/versions/defold-1.13.2/sys.d.ts +754 -0
  64. package/generated/versions/defold-1.13.2/tilemap.d.ts +206 -0
  65. package/generated/versions/defold-1.13.2/timer.d.ts +136 -0
  66. package/generated/versions/defold-1.13.2/types.d.ts +61 -0
  67. package/generated/versions/defold-1.13.2/vmath.d.ts +775 -0
  68. package/generated/versions/defold-1.13.2/window.d.ts +196 -0
  69. package/generated/versions/defold-1.13.2/zlib.d.ts +41 -0
  70. package/identity-vocabulary.json +1 -0
  71. package/package.json +2 -2
  72. package/scripts/import-defold-release.ts +3 -31
  73. package/scripts/materialize-version.ts +13 -7
  74. package/scripts/regen.ts +63 -29
  75. package/scripts/sync-api-docs.ts +31 -2
  76. package/src/emit-dts.ts +25 -3
@@ -0,0 +1,206 @@
1
+ /** @noSelfInFile */
2
+ import type { Hash, Url } from "../../../src/core-types";
3
+
4
+ declare global {
5
+ /**
6
+ * Functions and messages used to manipulate tile map components.
7
+ */
8
+ namespace tilemap {
9
+ type TRANSFORM = typeof tilemap.H_FLIP | typeof tilemap.ROTATE_180 | typeof tilemap.ROTATE_270 | typeof tilemap.ROTATE_90 | typeof tilemap.V_FLIP;
10
+ /**
11
+ * flip tile horizontally
12
+ */
13
+ const H_FLIP: number & { readonly __brand: "tilemap.H_FLIP" };
14
+ /**
15
+ * rotate tile 180 degrees clockwise
16
+ */
17
+ const ROTATE_180: number & { readonly __brand: "tilemap.ROTATE_180" };
18
+ /**
19
+ * rotate tile 270 degrees clockwise
20
+ */
21
+ const ROTATE_270: number & { readonly __brand: "tilemap.ROTATE_270" };
22
+ /**
23
+ * rotate tile 90 degrees clockwise
24
+ */
25
+ const ROTATE_90: number & { readonly __brand: "tilemap.ROTATE_90" };
26
+ /**
27
+ * flip tile vertically
28
+ */
29
+ const V_FLIP: number & { readonly __brand: "tilemap.V_FLIP" };
30
+ /**
31
+ * Get the bounds for a tile map. This function returns multiple values:
32
+ * The lower left corner index x and y coordinates (1-indexed),
33
+ * the tile map width and the tile map height.
34
+ * The resulting values take all tile map layers into account, meaning that
35
+ * the bounds are calculated as if all layers were collapsed into one.
36
+ *
37
+ * @param url - the tile map
38
+ * @returns `[x, y, w, h]`:
39
+ * - `x` — x coordinate of the bottom left corner. **⚠️ 1-based; passed to Defold unchanged.**
40
+ * - `y` — y coordinate of the bottom left corner. **⚠️ 1-based; passed to Defold unchanged.**
41
+ * - `w` — number of columns (width) in the tile map
42
+ * - `h` — number of rows (height) in the tile map
43
+ * @example
44
+ * ```ts
45
+ * // get the level bounds.
46
+ * const [x, y, w, h] = tilemap.get_bounds("/level#tilemap");
47
+ * ```
48
+ */
49
+ function get_bounds(url: string | Hash | Url): LuaMultiReturn<[number, number, number, number]>;
50
+ /**
51
+ * Get the tile set at the specified position in the tilemap.
52
+ * The position is identified by the tile index starting at origin
53
+ * with index 1, 1. (see tilemap.set_tile())
54
+ * Which tile map and layer to query is identified by the URL and the
55
+ * layer name parameters.
56
+ *
57
+ * @param url - the tile map
58
+ * @param layer - name of the layer for the tile
59
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
60
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
61
+ * @returns index of the tile
62
+ * @example
63
+ * ```ts
64
+ * function tile_under_player(self: { player_x: number; player_y: number }) {
65
+ * // get the tile under the player.
66
+ * const tileno = tilemap.get_tile("/level#tilemap", "foreground", self.player_x, self.player_y);
67
+ * }
68
+ * ```
69
+ */
70
+ function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number;
71
+ /**
72
+ * Get the tile information at the specified position in the tilemap.
73
+ * The position is identified by the tile index starting at origin
74
+ * with index 1, 1. (see tilemap.set_tile())
75
+ * Which tile map and layer to query is identified by the URL and the
76
+ * layer name parameters.
77
+ *
78
+ * @param url - the tile map
79
+ * @param layer - name of the layer for the tile
80
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
81
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
82
+ * @returns full tile information
83
+ * @example
84
+ * ```ts
85
+ * function tile_info_under_player(self: { player_x: number; player_y: number }) {
86
+ * // get the tile under the player.
87
+ * const tile_info = tilemap.get_tile_info("/level#tilemap", "foreground", self.player_x, self.player_y);
88
+ * pprint(tile_info);
89
+ * // {
90
+ * // index = 0,
91
+ * // h_flip = false,
92
+ * // v_flip = true,
93
+ * // rotate_90 = false
94
+ * // }
95
+ * }
96
+ * ```
97
+ */
98
+ function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean };
99
+ /**
100
+ * Retrieves all the tiles for the specified layer in the tilemap.
101
+ * It returns a table of rows where the keys are the
102
+ * tile positions (see tilemap.get_bounds()).
103
+ * You can iterate it using `tiles[row_index][column_index]`.
104
+ *
105
+ * @param url - the tilemap
106
+ * @param layer - the name of the layer for the tiles
107
+ * @returns a table of rows representing the layer
108
+ * @example
109
+ * ```ts
110
+ * const [left, bottom, columns_count, rows_count] = tilemap.get_bounds("#tilemap");
111
+ * const tiles = tilemap.get_tiles("#tilemap", "layer");
112
+ * let tile = 0;
113
+ * let count = 0;
114
+ * for (let row_index = bottom; row_index <= bottom + rows_count - 1; row_index++) {
115
+ * for (let column_index = left; column_index <= left + columns_count - 1; column_index++) {
116
+ * tile = tiles.get(row_index)?.get(column_index) ?? 0;
117
+ * count = count + 1;
118
+ * }
119
+ * }
120
+ * ```
121
+ */
122
+ function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaTable<number, LuaTable<number, number>>;
123
+ /**
124
+ * Resets a shader constant for a tile map component.
125
+ * The constant must be defined in the material assigned to the tile map.
126
+ * Resetting a constant through this function implies that the value defined in the material will be used.
127
+ * Which tile map to reset a constant for is identified by the URL.
128
+ *
129
+ * @param url - the tile map that should have a constant reset
130
+ * @param constant - name of the constant
131
+ * @example
132
+ * ```ts
133
+ * tilemap.reset_constant("#tilemap", "tint");
134
+ * ```
135
+ */
136
+ function reset_constant(url: string | Hash | Url, constant: string | Hash): void;
137
+ /**
138
+ * Replace a tile in a tile map with a new tile.
139
+ * The coordinates of the tiles are indexed so that the "first" tile just
140
+ * above and to the right of origin has coordinates 1,1.
141
+ * Tiles to the left of and below origin are indexed 0, -1, -2 and so forth.
142
+ *
143
+ * ```text
144
+ * +-------+-------+------+------+
145
+ * | 0,3 | 1,3 | 2,3 | 3,3 |
146
+ * +-------+-------+------+------+
147
+ * | 0,2 | 1,2 | 2,2 | 3,2 |
148
+ * +-------+-------+------+------+
149
+ * | 0,1 | 1,1 | 2,1 | 3,1 |
150
+ * +-------O-------+------+------+
151
+ * | 0,0 | 1,0 | 2,0 | 3,0 |
152
+ * +-------+-------+------+------+
153
+ * ```
154
+ *
155
+ * The coordinates must be within the bounds of the tile map as it were created.
156
+ * That is, it is not possible to extend the size of a tile map by setting tiles outside the edges.
157
+ * To clear a tile, set the tile to number 0. Which tile map and layer to manipulate is identified by the URL and the layer name parameters.
158
+ *
159
+ * @param url - the tile map
160
+ * @param layer - name of the layer for the tile
161
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
162
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
163
+ * @param tile - index of new tile to set. 0 resets the cell
164
+ * @param transform_bitmask - optional flip and/or rotation should be applied to the tile
165
+ * @example
166
+ * ```ts
167
+ * function set_tiles(self: { player_x: number; player_y: number }, x: number, y: number) {
168
+ * // Clear the tile under the player.
169
+ * tilemap.set_tile("/level#tilemap", "foreground", self.player_x, self.player_y, 0);
170
+ *
171
+ * // Set tile with different combination of flip and rotation
172
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.H_FLIP + tilemap.V_FLIP + tilemap.ROTATE_90);
173
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.H_FLIP + tilemap.ROTATE_270);
174
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.V_FLIP + tilemap.H_FLIP);
175
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.ROTATE_180);
176
+ * }
177
+ * ```
178
+ */
179
+ function set_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number, tile: number, transform_bitmask?: tilemap.TRANSFORM | number): boolean;
180
+ /**
181
+ * Sets the visibility of the tilemap layer
182
+ *
183
+ * @param url - the tile map
184
+ * @param layer - name of the layer for the tile
185
+ * @param visible - should the layer be visible
186
+ * @example
187
+ * ```ts
188
+ * // Disable rendering of the layer
189
+ * tilemap.set_visible("/level#tilemap", "foreground", false);
190
+ * ```
191
+ */
192
+ function set_visible(url: string | Hash | Url, layer: string | Hash, visible: boolean): void;
193
+ interface properties {
194
+ /**
195
+ * The material used when rendering the tile map. The type of the property is hash.
196
+ */
197
+ material: Hash;
198
+ /**
199
+ * The tile source used when rendering the tile map. The type of the property is hash.
200
+ */
201
+ tile_source: Hash;
202
+ }
203
+ }
204
+ }
205
+
206
+ export {};
@@ -0,0 +1,136 @@
1
+ /** @noSelfInFile */
2
+ declare global {
3
+ /**
4
+ * Timers allow you to set a delay and a callback to be called when the timer completes.
5
+ *
6
+ * The timers created with this API are updated with the collection timer where they
7
+ * are created. If you pause or speed up the collection (using `set_time_step`) it will
8
+ * also affect the new timer.
9
+ */
10
+ namespace timer {
11
+ /**
12
+ * Timer information
13
+ */
14
+ interface info {
15
+ /**
16
+ * Time remaining until the next callback.
17
+ */
18
+ time_remaining: number;
19
+ /**
20
+ * Timer interval.
21
+ */
22
+ delay: number;
23
+ /**
24
+ * Whether the timer repeats until cancelled.
25
+ */
26
+ repeating: boolean;
27
+ }
28
+ type timer_handle = number;
29
+ /**
30
+ * Indicates an invalid timer handle
31
+ */
32
+ const INVALID_TIMER_HANDLE: number & { readonly __brand: "timer.INVALID_TIMER_HANDLE" };
33
+ /**
34
+ * You may cancel a timer from inside a timer callback.
35
+ * Cancelling a timer that is already executed or cancelled is safe.
36
+ *
37
+ * @param handle - the timer handle returned by timer.delay()
38
+ * @returns `true` if the timer was active and cancelled, `false` if the timer was already cancelled or complete
39
+ * @example
40
+ * ```ts
41
+ * function cancel_ticking(self: { handle: number }) {
42
+ * self.handle = timer.delay(1, true, () => print("print every second"));
43
+ * // ...
44
+ * const cancelled = timer.cancel(self.handle);
45
+ * if (!cancelled) {
46
+ * print("the timer is already cancelled");
47
+ * }
48
+ * }
49
+ * ```
50
+ */
51
+ function cancel(handle: number): boolean;
52
+ /**
53
+ * Adds a timer and returns a unique handle.
54
+ * You may create more timers from inside a timer callback.
55
+ * Using a delay of 0 will result in a timer that triggers at the next frame just before
56
+ * script update functions.
57
+ * If you want a timer that triggers on each frame, set delay to 0.0f and repeat to true.
58
+ * Timers created within a script will automatically die when the script is deleted.
59
+ *
60
+ * @param delay - time interval in seconds
61
+ * @param repeating - true = repeat timer until cancel, false = one-shot timer
62
+ * @param callback - timer callback function
63
+ *
64
+ * `self`
65
+ * script_instance The current script instance
66
+ * `handle`
67
+ * timer_handle The handle of the timer
68
+ * `time_elapsed`
69
+ * number The elapsed time - on first trigger it is time since timer.delay call, otherwise time since last trigger
70
+ * @returns identifier for the create timer, returns timer.INVALID_TIMER_HANDLE if the timer can not be created
71
+ * @example
72
+ * A simple one-shot timer
73
+ * ```ts
74
+ * timer.delay(1, false, () => print("print in one second"));
75
+ * ```
76
+ * @example
77
+ * Repetitive timer which canceled after 10 calls
78
+ * ```ts
79
+ * function call_every_second(self: unknown, handle: unknown, time_elapsed: unknown) {
80
+ * const state = self as { counter: number };
81
+ * state.counter = state.counter + 1;
82
+ * print("Call #", state.counter);
83
+ * if (state.counter === 10) {
84
+ * timer.cancel(handle as number); // cancel timer after 10 calls
85
+ * }
86
+ * }
87
+ *
88
+ * function start_counting(self: { counter: number }) {
89
+ * self.counter = 0;
90
+ * timer.delay(1, true, call_every_second);
91
+ * }
92
+ * ```
93
+ */
94
+ function delay(delay: number, repeating: boolean, callback: (self: unknown, handle: number, time_elapsed: number) => void): number;
95
+ /**
96
+ * Get information about timer.
97
+ *
98
+ * @param handle - the timer handle returned by timer.delay()
99
+ * @returns timer information, or `nil` if the timer is cancelled or complete
100
+ * @example
101
+ * ```ts
102
+ * function report_ticking(self: { handle: number }) {
103
+ * self.handle = timer.delay(1, true, () => print("print every second"));
104
+ * // ...
105
+ * const result = timer.get_info(self.handle);
106
+ * if (!result) {
107
+ * print("the timer is already cancelled or complete");
108
+ * } else {
109
+ * pprint(result); // delay, time_remaining, repeating
110
+ * }
111
+ * }
112
+ * ```
113
+ */
114
+ function get_info(handle: number): timer.info | undefined;
115
+ /**
116
+ * Manual triggering a callback for a timer.
117
+ *
118
+ * @param handle - the timer handle returned by timer.delay()
119
+ * @returns `true` if the timer was active and triggered, `false` if the timer was already cancelled or complete
120
+ * @example
121
+ * ```ts
122
+ * function trigger_ticking(self: { handle: number }) {
123
+ * self.handle = timer.delay(1, true, () => print("print every second or manually by timer.trigger"));
124
+ * // ...
125
+ * const triggered = timer.trigger(self.handle);
126
+ * if (!triggered) {
127
+ * print("the timer is already cancelled or complete");
128
+ * }
129
+ * }
130
+ * ```
131
+ */
132
+ function trigger(handle: number): boolean;
133
+ }
134
+ }
135
+
136
+ export {};
@@ -0,0 +1,61 @@
1
+ /** @noSelfInFile */
2
+ import type { Hash, Matrix4, Quaternion, Url, Vector, Vector3, Vector4 } from "../../../src/core-types";
3
+
4
+ declare global {
5
+ /**
6
+ * Functions for checking Defold userdata types.
7
+ */
8
+ namespace types {
9
+ /**
10
+ * Check if passed type is hash.
11
+ *
12
+ * @param var_ - Variable to check type
13
+ * @returns True if passed type is hash
14
+ */
15
+ function is_hash(var_: unknown): var_ is Hash;
16
+ /**
17
+ * Check if passed type is matrix4.
18
+ *
19
+ * @param var_ - Variable to check type
20
+ * @returns True if passed type is matrix4
21
+ */
22
+ function is_matrix4(var_: unknown): var_ is Matrix4;
23
+ /**
24
+ * Check if passed type is quaternion.
25
+ *
26
+ * @param var_ - Variable to check type
27
+ * @returns True if passed type is quaternion
28
+ */
29
+ function is_quat(var_: unknown): var_ is Quaternion;
30
+ /**
31
+ * Check if passed type is URL.
32
+ *
33
+ * @param var_ - Variable to check type
34
+ * @returns True if passed type is URL
35
+ */
36
+ function is_url(var_: unknown): var_ is Url;
37
+ /**
38
+ * Check if passed type is vector.
39
+ *
40
+ * @param var_ - Variable to check type
41
+ * @returns True if passed type is vector
42
+ */
43
+ function is_vector(var_: unknown): var_ is Vector;
44
+ /**
45
+ * Check if passed type is vector3.
46
+ *
47
+ * @param var_ - Variable to check type
48
+ * @returns True if passed type is vector3
49
+ */
50
+ function is_vector3(var_: unknown): var_ is Vector3;
51
+ /**
52
+ * Check if passed type is vector4.
53
+ *
54
+ * @param var_ - Variable to check type
55
+ * @returns True if passed type is vector4
56
+ */
57
+ function is_vector4(var_: unknown): var_ is Vector4;
58
+ }
59
+ }
60
+
61
+ export {};