@defold-typescript/types 0.39.0 → 0.41.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 (227) hide show
  1. package/api-availability.json +4024 -716
  2. package/api-migrations.json +27 -0
  3. package/api-signatures.json +18118 -10264
  4. package/api-targets.json +448 -11
  5. package/examples/translations.json +619 -148
  6. package/fixtures/messages_doc.json +96 -0
  7. package/generated/b2d.d.ts +680 -4
  8. package/generated/b2d_body.d.ts +29 -103
  9. package/generated/b2d_chain.d.ts +5 -6
  10. package/generated/b2d_fixture.d.ts +34 -38
  11. package/generated/b2d_joint.d.ts +503 -25
  12. package/generated/b2d_shape.d.ts +199 -14
  13. package/generated/b2d_world.d.ts +57 -63
  14. package/generated/buffer.d.ts +33 -29
  15. package/generated/builtin-messages.d.ts +7 -1
  16. package/generated/bullet3d.d.ts +91 -0
  17. package/generated/bullet3d_collision_object.d.ts +433 -0
  18. package/generated/bullet3d_constraint.d.ts +818 -0
  19. package/generated/bullet3d_rigid_body.d.ts +429 -0
  20. package/generated/bullet3d_shape.d.ts +123 -0
  21. package/generated/bullet3d_world.d.ts +492 -0
  22. package/generated/camera.d.ts +31 -34
  23. package/generated/collectionfactory.d.ts +26 -27
  24. package/generated/collectionproxy.d.ts +22 -6
  25. package/generated/compute.d.ts +12 -238
  26. package/generated/crash.d.ts +24 -10
  27. package/generated/editor-vm/http.d.ts +90 -7
  28. package/generated/editor-vm/image.d.ts +7 -7
  29. package/generated/editor-vm/json.d.ts +11 -0
  30. package/generated/editor-vm/localization.d.ts +7 -7
  31. package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
  32. package/generated/editor-vm/zip.d.ts +28 -0
  33. package/generated/editor.d.ts +1496 -430
  34. package/generated/factory.d.ts +21 -25
  35. package/generated/font.d.ts +64 -22
  36. package/generated/go.d.ts +243 -186
  37. package/generated/graphics.d.ts +374 -84
  38. package/generated/gui.d.ts +282 -492
  39. package/generated/html5.d.ts +5 -3
  40. package/generated/http.d.ts +31 -36
  41. package/generated/image.d.ts +127 -85
  42. package/generated/json.d.ts +34 -16
  43. package/generated/kinds/gui-script.d.ts +8 -0
  44. package/generated/kinds/render-script.d.ts +8 -0
  45. package/generated/kinds/script.d.ts +8 -0
  46. package/generated/label.d.ts +77 -7
  47. package/generated/liveupdate.d.ts +13 -10
  48. package/generated/material.d.ts +312 -360
  49. package/generated/model.d.ts +72 -42
  50. package/generated/particlefx.d.ts +19 -28
  51. package/generated/physics.d.ts +378 -144
  52. package/generated/profiler.d.ts +14 -24
  53. package/generated/render.d.ts +294 -297
  54. package/generated/resource.d.ts +753 -641
  55. package/generated/socket.d.ts +131 -134
  56. package/generated/sound.d.ts +65 -34
  57. package/generated/sprite.d.ts +39 -17
  58. package/generated/sys.d.ts +237 -182
  59. package/generated/tilemap.d.ts +21 -16
  60. package/generated/timer.d.ts +34 -21
  61. package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
  62. package/generated/versions/defold-1.12.4/buffer.d.ts +18 -17
  63. package/generated/versions/defold-1.12.4/camera.d.ts +23 -23
  64. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +21 -19
  65. package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
  66. package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
  67. package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
  68. package/generated/versions/defold-1.12.4/go.d.ts +15 -17
  69. package/generated/versions/defold-1.12.4/gui.d.ts +111 -193
  70. package/generated/versions/defold-1.12.4/html5.d.ts +4 -2
  71. package/generated/versions/defold-1.12.4/http.d.ts +4 -15
  72. package/generated/versions/defold-1.12.4/image.d.ts +38 -46
  73. package/generated/versions/defold-1.12.4/index.d.ts +2 -0
  74. package/generated/versions/defold-1.12.4/json.d.ts +10 -6
  75. package/generated/versions/defold-1.12.4/label.d.ts +2 -3
  76. package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
  77. package/generated/versions/defold-1.12.4/model.d.ts +34 -13
  78. package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
  79. package/generated/versions/defold-1.12.4/physics.d.ts +82 -78
  80. package/generated/versions/defold-1.12.4/profiler.d.ts +3 -6
  81. package/generated/versions/defold-1.12.4/render.d.ts +160 -132
  82. package/generated/versions/defold-1.12.4/resource.d.ts +212 -209
  83. package/generated/versions/defold-1.12.4/socket.d.ts +45 -61
  84. package/generated/versions/defold-1.12.4/sound.d.ts +11 -11
  85. package/generated/versions/defold-1.12.4/sprite.d.ts +24 -6
  86. package/generated/versions/defold-1.12.4/sys.d.ts +45 -68
  87. package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
  88. package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
  89. package/generated/versions/defold-1.12.4/vmath.d.ts +5 -26
  90. package/generated/versions/defold-1.12.4/window.d.ts +1 -16
  91. package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
  92. package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
  93. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +188 -5
  94. package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
  95. package/generated/versions/defold-1.13.0/buffer.d.ts +18 -17
  96. package/generated/versions/defold-1.13.0/camera.d.ts +27 -27
  97. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +21 -19
  98. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
  99. package/generated/versions/defold-1.13.0/compute.d.ts +1 -70
  100. package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
  101. package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
  102. package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
  103. package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
  104. package/generated/versions/defold-1.13.0/go.d.ts +15 -17
  105. package/generated/versions/defold-1.13.0/graphics.d.ts +121 -37
  106. package/generated/versions/defold-1.13.0/gui.d.ts +111 -193
  107. package/generated/versions/defold-1.13.0/html5.d.ts +4 -2
  108. package/generated/versions/defold-1.13.0/http.d.ts +4 -15
  109. package/generated/versions/defold-1.13.0/image.d.ts +38 -46
  110. package/generated/versions/defold-1.13.0/index.d.ts +2 -0
  111. package/generated/versions/defold-1.13.0/json.d.ts +10 -6
  112. package/generated/versions/defold-1.13.0/label.d.ts +2 -3
  113. package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
  114. package/generated/versions/defold-1.13.0/material.d.ts +69 -107
  115. package/generated/versions/defold-1.13.0/model.d.ts +34 -13
  116. package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
  117. package/generated/versions/defold-1.13.0/physics.d.ts +82 -78
  118. package/generated/versions/defold-1.13.0/profiler.d.ts +3 -6
  119. package/generated/versions/defold-1.13.0/render.d.ts +160 -132
  120. package/generated/versions/defold-1.13.0/resource.d.ts +217 -210
  121. package/generated/versions/defold-1.13.0/socket.d.ts +45 -61
  122. package/generated/versions/defold-1.13.0/sound.d.ts +11 -11
  123. package/generated/versions/defold-1.13.0/sprite.d.ts +24 -6
  124. package/generated/versions/defold-1.13.0/sys.d.ts +45 -68
  125. package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
  126. package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
  127. package/generated/versions/defold-1.13.0/vmath.d.ts +5 -26
  128. package/generated/versions/defold-1.13.0/window.d.ts +1 -16
  129. package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
  130. package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
  131. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
  132. package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
  133. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
  134. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
  135. package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
  136. package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
  137. package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
  138. package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
  139. package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
  140. package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
  141. package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
  142. package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
  143. package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
  144. package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
  145. package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
  146. package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
  147. package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
  148. package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
  149. package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
  150. package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
  151. package/generated/versions/defold-1.13.1/font.d.ts +81 -0
  152. package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
  153. package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
  154. package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
  155. package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
  156. package/generated/versions/defold-1.13.1/http.d.ts +77 -0
  157. package/generated/versions/defold-1.13.1/image.d.ts +131 -0
  158. package/generated/versions/defold-1.13.1/index.d.ts +57 -0
  159. package/generated/versions/defold-1.13.1/json.d.ts +80 -0
  160. package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
  161. package/generated/versions/defold-1.13.1/label.d.ts +93 -0
  162. package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
  163. package/generated/versions/defold-1.13.1/material.d.ts +408 -0
  164. package/generated/versions/defold-1.13.1/model.d.ts +272 -0
  165. package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
  166. package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
  167. package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
  168. package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
  169. package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
  170. package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
  171. package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
  172. package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
  173. package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
  174. package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
  175. package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
  176. package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
  177. package/generated/versions/defold-1.13.1/types.d.ts +61 -0
  178. package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
  179. package/generated/versions/defold-1.13.1/window.d.ts +183 -0
  180. package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
  181. package/generated/vmath.d.ts +6 -26
  182. package/generated/window.d.ts +71 -71
  183. package/identity-vocabulary.json +561 -0
  184. package/index.d.ts +8 -0
  185. package/package.json +13 -2
  186. package/scripts/example-store-io.ts +12 -1
  187. package/scripts/extension-goldens.ts +1 -0
  188. package/scripts/fidelity-baseline.json +146 -46
  189. package/scripts/generate-api-availability.ts +90 -12
  190. package/scripts/generate-api-signatures.ts +14 -3
  191. package/scripts/import-defold-release.ts +85 -24
  192. package/scripts/prose-constants.ts +157 -0
  193. package/scripts/regen.ts +396 -78
  194. package/scripts/shared-handle-methods.ts +53 -0
  195. package/scripts/signature-store-fs.ts +1 -0
  196. package/scripts/sync-api-docs.ts +16 -5
  197. package/src/api-availability.ts +0 -0
  198. package/src/api-doc.ts +201 -3
  199. package/src/api-identity.ts +252 -0
  200. package/src/component-properties.d.ts +33 -0
  201. package/src/core-types.ts +28 -3
  202. package/src/correction-pins.ts +49 -0
  203. package/src/custom-messages.d.ts +4 -3
  204. package/src/doc-comment.ts +139 -23
  205. package/src/doc-corrections.ts +108 -0
  206. package/src/editor-vm-globals.d.ts +5 -2
  207. package/src/emit-dts.ts +2474 -281
  208. package/src/emit-messages.ts +52 -0
  209. package/src/engine-globals.d.ts +2 -2
  210. package/src/example-store.ts +125 -14
  211. package/src/field-correction-coverage.ts +204 -0
  212. package/src/fnv1a.ts +16 -0
  213. package/src/go-overloads.d.ts +33 -13
  214. package/src/index-base-table.ts +145 -0
  215. package/src/index-slot-classifications.ts +588 -0
  216. package/src/index.ts +39 -2
  217. package/src/library-index-slot-classifications.ts +332 -0
  218. package/src/lifecycle.ts +61 -199
  219. package/src/luals-type-expr.ts +354 -0
  220. package/src/msg-overloads.d.ts +0 -1
  221. package/src/param-correction-provenance.ts +64 -0
  222. package/src/return-correction-provenance.ts +58 -16
  223. package/src/script-api.ts +3 -1
  224. package/src/sys-overloads.d.ts +48 -0
  225. package/src/vmath-overloads.d.ts +27 -1
  226. package/src/window-event-guard.d.ts +6 -9
  227. package/url-parameters.json +1 -2
@@ -0,0 +1,183 @@
1
+ /** @noSelfInFile */
2
+ declare global {
3
+ /**
4
+ * Functions and constants to access the window, window event listeners
5
+ * and screen dimming.
6
+ */
7
+ namespace window {
8
+ type DimModeState = typeof window.DIMMING_UNKNOWN | typeof window.DIMMING_ON | typeof window.DIMMING_OFF;
9
+ type DimModeStateSettable = typeof window.DIMMING_ON | typeof window.DIMMING_OFF;
10
+ /**
11
+ * Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
12
+ */
13
+ const DIMMING_OFF: number & { readonly __brand: "window.DIMMING_OFF" };
14
+ /**
15
+ * Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
16
+ */
17
+ const DIMMING_ON: number & { readonly __brand: "window.DIMMING_ON" };
18
+ /**
19
+ * Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
20
+ * This mode indicates that the dim mode can't be determined, or that the platform doesn't support dimming.
21
+ */
22
+ const DIMMING_UNKNOWN: number & { readonly __brand: "window.DIMMING_UNKNOWN" };
23
+ /**
24
+ * This event is sent to a window event listener when the game window or app screen is
25
+ * restored after being iconified.
26
+ */
27
+ const WINDOW_EVENT_DEICONIFIED: number & { readonly __brand: "window.WINDOW_EVENT_DEICONIFIED" };
28
+ /**
29
+ * This event is sent to a window event listener when the game window or app screen has
30
+ * gained focus.
31
+ * This event is also sent at game startup and the engine gives focus to the game.
32
+ */
33
+ const WINDOW_EVENT_FOCUS_GAINED: number & { readonly __brand: "window.WINDOW_EVENT_FOCUS_GAINED" };
34
+ /**
35
+ * This event is sent to a window event listener when the game window or app screen has lost focus.
36
+ */
37
+ const WINDOW_EVENT_FOCUS_LOST: number & { readonly __brand: "window.WINDOW_EVENT_FOCUS_LOST" };
38
+ /**
39
+ * This event is sent to a window event listener when the game window or app screen is
40
+ * iconified (reduced to an application icon in a toolbar, application tray or similar).
41
+ */
42
+ const WINDOW_EVENT_ICONFIED: number & { readonly __brand: "window.WINDOW_EVENT_ICONFIED" };
43
+ /**
44
+ * This event is sent to a window event listener when the game window or app screen is resized.
45
+ * The new size is passed along in the data field to the event listener.
46
+ */
47
+ const WINDOW_EVENT_RESIZED: number & { readonly __brand: "window.WINDOW_EVENT_RESIZED" };
48
+ /**
49
+ * Returns the current dimming mode set on a mobile device.
50
+ * The dimming mode specifies whether or not a mobile device should dim the screen after a period without user interaction.
51
+ * On platforms that does not support dimming, `window.DIMMING_UNKNOWN` is always returned.
52
+ *
53
+ * @returns The mode for screen dimming
54
+ *
55
+ * - `window.DIMMING_UNKNOWN`
56
+ * - `window.DIMMING_ON`
57
+ * - `window.DIMMING_OFF`
58
+ */
59
+ function get_dim_mode(): window.DimModeState;
60
+ /**
61
+ * This returns the content scale of the current display.
62
+ *
63
+ * @returns The display scale
64
+ */
65
+ function get_display_scale(): number;
66
+ /**
67
+ * This returns the current lock state of the mouse cursor
68
+ *
69
+ * @returns The lock state
70
+ */
71
+ function get_mouse_lock(): boolean;
72
+ /**
73
+ * This returns the safe area rectangle (x, y, width, height) and the inset
74
+ * values relative to the window edges. On platforms without a safe area,
75
+ * this returns the full window size and zero insets.
76
+ *
77
+ * @returns safe area data
78
+ *
79
+ * `safe_area`
80
+ * table table containing these keys:
81
+ *
82
+ * - number `x`
83
+ * - number `y`
84
+ * - number `width`
85
+ * - number `height`
86
+ * - number `inset_left`
87
+ * - number `inset_top`
88
+ * - number `inset_right`
89
+ * - number `inset_bottom`
90
+ */
91
+ function get_safe_area(): { x: number; y: number; width: number; height: number; inset_left: number; inset_top: number; inset_right: number; inset_bottom: number };
92
+ /**
93
+ * This returns the current window size (width and height).
94
+ */
95
+ function get_size(): LuaMultiReturn<[number, number]>;
96
+ /**
97
+ * Sets the dimming mode on a mobile device.
98
+ * The dimming mode specifies whether or not a mobile device should dim the screen after a period without user interaction. The dimming mode will only affect the mobile device while the game is in focus on the device, but not when the game is running in the background.
99
+ * This function has no effect on platforms that does not support dimming.
100
+ *
101
+ * @param mode - The mode for screen dimming
102
+ *
103
+ * - `window.DIMMING_ON`
104
+ * - `window.DIMMING_OFF`
105
+ */
106
+ function set_dim_mode(mode: window.DimModeStateSettable): void;
107
+ /**
108
+ * Sets a window event listener. Only one window event listener can be set at a time.
109
+ *
110
+ * @param callback - A callback which receives info about window events. Pass an empty function or `nil` if you no longer wish to receive callbacks.
111
+ *
112
+ * `self`
113
+ * object The calling script
114
+ * `event`
115
+ * constant The type of event. Can be one of these:
116
+ *
117
+ * - `window.WINDOW_EVENT_FOCUS_LOST`
118
+ * - `window.WINDOW_EVENT_FOCUS_GAINED`
119
+ * - `window.WINDOW_EVENT_RESIZED`
120
+ * - `window.WINDOW_EVENT_ICONIFIED`
121
+ * - `window.WINDOW_EVENT_DEICONIFIED`
122
+ *
123
+ * `data`
124
+ * table The callback value `data` is a table which currently holds these values
125
+ *
126
+ * - number `width`: The width of a resize event. nil otherwise.
127
+ * - number `height`: The height of a resize event. nil otherwise.
128
+ * @example
129
+ * ```ts
130
+ * function window_callback(self: unknown, event: unknown, data: Record<string | number, unknown>) {
131
+ * if (event === window.WINDOW_EVENT_FOCUS_LOST) {
132
+ * print("window.WINDOW_EVENT_FOCUS_LOST");
133
+ * } else if (event === window.WINDOW_EVENT_FOCUS_GAINED) {
134
+ * print("window.WINDOW_EVENT_FOCUS_GAINED");
135
+ * } else if (event === window.WINDOW_EVENT_ICONFIED) {
136
+ * print("window.WINDOW_EVENT_ICONFIED");
137
+ * } else if (event === window.WINDOW_EVENT_DEICONIFIED) {
138
+ * print("window.WINDOW_EVENT_DEICONIFIED");
139
+ * } else if (event === window.WINDOW_EVENT_RESIZED) {
140
+ * print("Window resized: ", data.width, data.height);
141
+ * }
142
+ * }
143
+ *
144
+ * export default defineScript({
145
+ * init() {
146
+ * window.set_listener(window_callback);
147
+ * },
148
+ * });
149
+ * ```
150
+ */
151
+ function set_listener(callback: ((self: unknown, event: (typeof window)[Extract<keyof typeof window, `WINDOW_EVENT_${string}`>], data: Record<string | number, unknown>) => void) | undefined): void;
152
+ /**
153
+ * Set the locking state for current mouse cursor on a PC platform.
154
+ * This function locks or unlocks the mouse cursor to the center point of the window. While the cursor is locked,
155
+ * mouse position updates will still be sent to the scripts as usual.
156
+ *
157
+ * @param flag - The lock state for the mouse cursor
158
+ */
159
+ function set_mouse_lock(flag: boolean): void;
160
+ /**
161
+ * Sets the window position.
162
+ *
163
+ * @param x - Horizontal position of window
164
+ * @param y - Vertical position of window
165
+ */
166
+ function set_position(x: number, y: number): void;
167
+ /**
168
+ * Sets the window size. Works on desktop platforms only.
169
+ *
170
+ * @param width - Width of window
171
+ * @param height - Height of window
172
+ */
173
+ function set_size(width: number, height: number): void;
174
+ /**
175
+ * Sets the window title. Works on desktop platforms.
176
+ *
177
+ * @param title - The title, encoded as UTF-8
178
+ */
179
+ function set_title(title: string): void;
180
+ }
181
+ }
182
+
183
+ export {};
@@ -0,0 +1,41 @@
1
+ /** @noSelfInFile */
2
+ declare global {
3
+ /**
4
+ * Functions for compression and decompression of string buffers.
5
+ */
6
+ namespace zlib {
7
+ /**
8
+ * A lua error is raised is on error
9
+ *
10
+ * @param buf - buffer to deflate
11
+ * @returns deflated buffer
12
+ * @example
13
+ * ```ts
14
+ * const data = "This is a string with uncompressed data.";
15
+ * const compressed_data = zlib.deflate(data);
16
+ * let s = "";
17
+ * for (const c of compressed_data) {
18
+ * s = s + "\\" + c.charCodeAt(0);
19
+ * }
20
+ * print(s); //> \120\94\11\201\200\44\86\0\162\68\133\226\146\162 ...
21
+ * ```
22
+ */
23
+ function deflate(buf: string): string;
24
+ /**
25
+ * A lua error is raised is on error
26
+ *
27
+ * @param buf - buffer to inflate
28
+ * @returns inflated buffer
29
+ * @example
30
+ * ```ts
31
+ * const data =
32
+ * "\x78\x5e\x0b\xc9\xc8\x2c\x56\x00\xa2\x44\x85\xe2\x92\xa2\xcc\xbc\x74\x85\xf2\xcc\x92\x0c\x85\xd2\xbc\xe4\xfc\xdc\x82\xa2\xd4\xe2\xe2\xd4\x14\x85\x94\xc4\x92\x44\x3d\x00\x2c\x43\x0e\xc9";
33
+ * const uncompressed_data = zlib.inflate(data);
34
+ * print(uncompressed_data); //> This is a string with uncompressed data.
35
+ * ```
36
+ */
37
+ function inflate(buf: string): string;
38
+ }
39
+ }
40
+
41
+ export {};
@@ -32,6 +32,7 @@ declare global {
32
32
  * : indexed by number 1 to the vector length. Example: `v[3]`
33
33
  */
34
34
  namespace vmath {
35
+ type vector = Vector;
35
36
  /**
36
37
  * Calculates the conjugate of a quaternion. The result is a
37
38
  * quaternion with the same magnitudes but with the sign of
@@ -49,7 +50,7 @@ declare global {
49
50
  function conj(q1: Quaternion): Quaternion;
50
51
  /**
51
52
  * Given two linearly independent vectors P and Q, the cross product,
52
- * P &#x00D7; Q, is a vector that is perpendicular to both P and Q and
53
+ * P × Q, is a vector that is perpendicular to both P and Q and
53
54
  * therefore normal to the plane containing them.
54
55
  * If the two vectors have the same direction (or have the exact
55
56
  * opposite direction from one another, i.e. are not linearly independent)
@@ -70,13 +71,11 @@ declare global {
70
71
  function cross(v1: Vector3, v2: Vector3): Vector3;
71
72
  /**
72
73
  * The returned value is a scalar defined as:
73
- * `P &#x22C5; Q = |P| |Q| cos &#x03B8;`
74
- * where &#x03B8; is the angle between the vectors P and Q.
74
+ * `P ⋅ Q = |P| |Q| cos θ`
75
+ * where θ is the angle between the vectors P and Q.
75
76
  *
76
77
  * - If the dot product is positive then the angle between the vectors is below 90 degrees.
77
- *
78
78
  * - If the dot product is zero the vectors are perpendicular (at right-angles to each other).
79
- *
80
79
  * - If the dot product is negative then the angle between the vectors is more than 90 degrees.
81
80
  *
82
81
  * @param v1 - first vector
@@ -437,8 +436,8 @@ declare global {
437
436
  /**
438
437
  * Calculates the extent the projection of the first vector onto the second.
439
438
  * The returned value is a scalar p defined as:
440
- * `p = |P| cos &#x03B8; / |Q|`
441
- * where &#x03B8; is the angle between the vectors P and Q.
439
+ * `p = |P| cos θ / |Q|`
440
+ * where θ is the angle between the vectors P and Q.
442
441
  *
443
442
  * @param v1 - vector to be projected on the second
444
443
  * @param v2 - vector onto which the first will be projected, must not have zero length
@@ -643,25 +642,6 @@ declare global {
643
642
  * ```
644
643
  */
645
644
  function rotate(q: Quaternion, v1: Vector3): Vector3;
646
- /**
647
- * Creates a vector of arbitrary size. The vector is initialized
648
- * with numeric values from a table.
649
- * The table values are converted to floating point
650
- * values. If a value cannot be converted, a 0 is stored in that
651
- * value position in the vector.
652
- *
653
- * @param t - table of numbers
654
- * @returns new vector
655
- * @example
656
- * ```ts
657
- * // How to create a vector with custom data to be used for animation easing:
658
- * const values = [0, 0.5, 0];
659
- * const vec = vmath.vector(values);
660
- * print(vec); // => vmath.vector (size: 3)
661
- * print(vec[2]); // => 0.5
662
- * ```
663
- */
664
- function vector(t: number[]): Vector;
665
645
  /**
666
646
  * Creates a new zero vector with all components set to 0.
667
647
  *
@@ -5,44 +5,95 @@ declare global {
5
5
  * and screen dimming.
6
6
  */
7
7
  namespace window {
8
+ /**
9
+ * Width and height are present for window.WINDOW_EVENT_RESIZED and
10
+ * absent for other window events.
11
+ */
12
+ interface event_data {
13
+ /**
14
+ * Window width after a resize.
15
+ */
16
+ width?: number;
17
+ /**
18
+ * Window height after a resize.
19
+ */
20
+ height?: number;
21
+ }
22
+ /**
23
+ * Window safe-area data
24
+ */
25
+ interface safe_area {
26
+ /**
27
+ * Safe-area x-coordinate.
28
+ */
29
+ x: number;
30
+ /**
31
+ * Safe-area y-coordinate.
32
+ */
33
+ y: number;
34
+ /**
35
+ * Safe-area width.
36
+ */
37
+ width: number;
38
+ /**
39
+ * Safe-area height.
40
+ */
41
+ height: number;
42
+ /**
43
+ * Inset from the left window edge.
44
+ */
45
+ inset_left: number;
46
+ /**
47
+ * Inset from the top window edge.
48
+ */
49
+ inset_top: number;
50
+ /**
51
+ * Inset from the right window edge.
52
+ */
53
+ inset_right: number;
54
+ /**
55
+ * Inset from the bottom window edge.
56
+ */
57
+ inset_bottom: number;
58
+ }
8
59
  type DimModeState = typeof window.DIMMING_UNKNOWN | typeof window.DIMMING_ON | typeof window.DIMMING_OFF;
9
60
  type DimModeStateSettable = typeof window.DIMMING_ON | typeof window.DIMMING_OFF;
61
+ type DIMMING = typeof window.DIMMING_OFF | typeof window.DIMMING_ON | typeof window.DIMMING_UNKNOWN;
62
+ type WINDOW_EVENT = typeof window.WINDOW_EVENT_DEICONIFIED | typeof window.WINDOW_EVENT_FOCUS_GAINED | typeof window.WINDOW_EVENT_FOCUS_LOST | typeof window.WINDOW_EVENT_ICONIFIED | typeof window.WINDOW_EVENT_RESIZED;
10
63
  /**
11
- * Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
64
+ * dimming mode off Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
12
65
  */
13
66
  const DIMMING_OFF: number & { readonly __brand: "window.DIMMING_OFF" };
14
67
  /**
15
- * Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
68
+ * dimming mode on Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
16
69
  */
17
70
  const DIMMING_ON: number & { readonly __brand: "window.DIMMING_ON" };
18
71
  /**
19
- * Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction.
20
- * This mode indicates that the dim mode can't be determined, or that the platform doesn't support dimming.
72
+ * dimming mode unknown Dimming mode is used to control whether or not a mobile device should dim the screen after a period without user interaction. This mode indicates that the dim mode can't be determined, or that the platform doesn't support dimming.
21
73
  */
22
74
  const DIMMING_UNKNOWN: number & { readonly __brand: "window.DIMMING_UNKNOWN" };
23
75
  /**
24
- * This event is sent to a window event listener when the game window or app screen is
25
- * restored after being iconified.
76
+ * deiconified window event This event is sent to a window event listener when the game window or app screen is restored after being iconified.
26
77
  */
27
78
  const WINDOW_EVENT_DEICONIFIED: number & { readonly __brand: "window.WINDOW_EVENT_DEICONIFIED" };
28
79
  /**
29
- * This event is sent to a window event listener when the game window or app screen has
30
- * gained focus.
31
- * This event is also sent at game startup and the engine gives focus to the game.
80
+ * focus gained window event This event is sent to a window event listener when the game window or app screen has gained focus. This event is also sent at game startup and the engine gives focus to the game.
32
81
  */
33
82
  const WINDOW_EVENT_FOCUS_GAINED: number & { readonly __brand: "window.WINDOW_EVENT_FOCUS_GAINED" };
34
83
  /**
35
- * This event is sent to a window event listener when the game window or app screen has lost focus.
84
+ * focus lost window event This event is sent to a window event listener when the game window or app screen has lost focus.
36
85
  */
37
86
  const WINDOW_EVENT_FOCUS_LOST: number & { readonly __brand: "window.WINDOW_EVENT_FOCUS_LOST" };
38
87
  /**
39
- * This event is sent to a window event listener when the game window or app screen is
40
- * iconified (reduced to an application icon in a toolbar, application tray or similar).
88
+ * Deprecated misspelling of `window.WINDOW_EVENT_ICONIFIED`, with the same value. The engine still registers it.
89
+ */
90
+ const WINDOW_EVENT_ICONFIED: typeof window.WINDOW_EVENT_ICONIFIED;
91
+ /**
92
+ * iconify window event This event is sent to a window event listener when the game window or app screen is iconified (reduced to an application icon in a toolbar, application tray or similar).
41
93
  */
42
- const WINDOW_EVENT_ICONFIED: number & { readonly __brand: "window.WINDOW_EVENT_ICONFIED" };
94
+ const WINDOW_EVENT_ICONIFIED: number & { readonly __brand: "window.WINDOW_EVENT_ICONIFIED" };
43
95
  /**
44
- * This event is sent to a window event listener when the game window or app screen is resized.
45
- * The new size is passed along in the data field to the event listener.
96
+ * resized window event This event is sent to a window event listener when the game window or app screen is resized. The new size is passed along in the data field to the event listener.
46
97
  */
47
98
  const WINDOW_EVENT_RESIZED: number & { readonly __brand: "window.WINDOW_EVENT_RESIZED" };
48
99
  /**
@@ -51,14 +102,8 @@ declare global {
51
102
  * On platforms that does not support dimming, `window.DIMMING_UNKNOWN` is always returned.
52
103
  *
53
104
  * @returns The mode for screen dimming
54
- *
55
- * - `window.DIMMING_UNKNOWN`
56
- *
57
- * - `window.DIMMING_ON`
58
- *
59
- * - `window.DIMMING_OFF`
60
105
  */
61
- function get_dim_mode(): window.DimModeState;
106
+ function get_dim_mode(): window.DIMMING;
62
107
  /**
63
108
  * This returns the content scale of the current display.
64
109
  *
@@ -77,27 +122,8 @@ declare global {
77
122
  * this returns the full window size and zero insets.
78
123
  *
79
124
  * @returns safe area data
80
- *
81
- * `safe_area`
82
- * table table containing these keys:
83
- *
84
- * - number `x`
85
- *
86
- * - number `y`
87
- *
88
- * - number `width`
89
- *
90
- * - number `height`
91
- *
92
- * - number `inset_left`
93
- *
94
- * - number `inset_top`
95
- *
96
- * - number `inset_right`
97
- *
98
- * - number `inset_bottom`
99
125
  */
100
- function get_safe_area(): { x: number; y: number; width: number; height: number; inset_left: number; inset_top: number; inset_right: number; inset_bottom: number };
126
+ function get_safe_area(): window.safe_area;
101
127
  /**
102
128
  * This returns the current window size (width and height).
103
129
  */
@@ -108,38 +134,12 @@ declare global {
108
134
  * This function has no effect on platforms that does not support dimming.
109
135
  *
110
136
  * @param mode - The mode for screen dimming
111
- *
112
- * - `window.DIMMING_ON`
113
- *
114
- * - `window.DIMMING_OFF`
115
137
  */
116
138
  function set_dim_mode(mode: window.DimModeStateSettable): void;
117
139
  /**
118
140
  * Sets a window event listener. Only one window event listener can be set at a time.
119
141
  *
120
142
  * @param callback - A callback which receives info about window events. Pass an empty function or `nil` if you no longer wish to receive callbacks.
121
- *
122
- * `self`
123
- * object The calling script
124
- * `event`
125
- * constant The type of event. Can be one of these:
126
- *
127
- * - `window.WINDOW_EVENT_FOCUS_LOST`
128
- *
129
- * - `window.WINDOW_EVENT_FOCUS_GAINED`
130
- *
131
- * - `window.WINDOW_EVENT_RESIZED`
132
- *
133
- * - `window.WINDOW_EVENT_ICONIFIED`
134
- *
135
- * - `window.WINDOW_EVENT_DEICONIFIED`
136
- *
137
- * `data`
138
- * table The callback value `data` is a table which currently holds these values
139
- *
140
- * - number `width`: The width of a resize event. nil otherwise.
141
- *
142
- * - number `height`: The height of a resize event. nil otherwise.
143
143
  * @example
144
144
  * ```ts
145
145
  * function window_callback(self: unknown, event: unknown, data: Record<string | number, unknown>) {
@@ -147,8 +147,8 @@ declare global {
147
147
  * print("window.WINDOW_EVENT_FOCUS_LOST");
148
148
  * } else if (event === window.WINDOW_EVENT_FOCUS_GAINED) {
149
149
  * print("window.WINDOW_EVENT_FOCUS_GAINED");
150
- * } else if (event === window.WINDOW_EVENT_ICONFIED) {
151
- * print("window.WINDOW_EVENT_ICONFIED");
150
+ * } else if (event === window.WINDOW_EVENT_ICONIFIED) {
151
+ * print("window.WINDOW_EVENT_ICONIFIED");
152
152
  * } else if (event === window.WINDOW_EVENT_DEICONIFIED) {
153
153
  * print("window.WINDOW_EVENT_DEICONIFIED");
154
154
  * } else if (event === window.WINDOW_EVENT_RESIZED) {
@@ -163,7 +163,7 @@ declare global {
163
163
  * });
164
164
  * ```
165
165
  */
166
- function set_listener(callback?: (self: unknown, event: typeof WINDOW_EVENT_FOCUS_LOST | typeof WINDOW_EVENT_FOCUS_GAINED | typeof WINDOW_EVENT_RESIZED | typeof WINDOW_EVENT_ICONFIED | typeof WINDOW_EVENT_DEICONIFIED, data: Record<string | number, unknown>) => void): void;
166
+ function set_listener(callback: ((self: unknown, event: (typeof window)[Extract<keyof typeof window, `WINDOW_EVENT_${string}`>], data: Record<string | number, unknown>) => void) | undefined): void;
167
167
  /**
168
168
  * Set the locking state for current mouse cursor on a PC platform.
169
169
  * This function locks or unlocks the mouse cursor to the center point of the window. While the cursor is locked,