@defold-typescript/library-types 0.23.0 → 0.25.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 (130) hide show
  1. package/NOTICE +2 -3
  2. package/api-doc/boom.json +3872 -0
  3. package/api-doc/bridge.json +10 -5
  4. package/api-doc/bzAnim.json +338 -0
  5. package/api-doc/checkpoint.json +127 -0
  6. package/api-doc/decore.json +1 -1
  7. package/api-doc/defcon.json +150 -0
  8. package/api-doc/{defmath.defmath.json → defmath.json} +6 -46
  9. package/api-doc/defsave.json +518 -0
  10. package/api-doc/deftest.json +745 -0
  11. package/api-doc/{dicebag.dicebag.json → dicebag.json} +19 -1
  12. package/api-doc/druid.json +90 -92
  13. package/api-doc/event.json +16 -16
  14. package/api-doc/gooey.json +2050 -0
  15. package/api-doc/in.accelerometer.json +75 -1
  16. package/api-doc/in.button.json +17 -10
  17. package/api-doc/in.cursor.json +26 -0
  18. package/api-doc/in.gesture.json +401 -6
  19. package/api-doc/in.keyboard.json +2 -0
  20. package/api-doc/in.mapper.json +12 -8
  21. package/api-doc/in.onscreen.json +61 -5
  22. package/api-doc/in.state.json +61 -13
  23. package/api-doc/in.textbox.json +23 -12
  24. package/api-doc/in.triggers.json +336 -0
  25. package/api-doc/lang.json +5 -5
  26. package/api-doc/log.json +1 -1
  27. package/api-doc/metrics.fps.json +61 -2
  28. package/api-doc/metrics.mem.json +61 -2
  29. package/api-doc/monarch.monarch.json +249 -7
  30. package/api-doc/monarch.transitions.easings.json +19 -26
  31. package/api-doc/monarch.transitions.gui.json +782 -79
  32. package/api-doc/nakama.engine.defold.json +31 -18
  33. package/api-doc/{nakama.nakama.json → nakama.json} +4752 -2554
  34. package/api-doc/nakama.session.json +315 -0
  35. package/api-doc/nakama.socket.json +3356 -0
  36. package/api-doc/nakama.util.log.json +32 -4
  37. package/api-doc/narrator.json +1 -1
  38. package/api-doc/openapi/nakama.nakama.json +7680 -0
  39. package/api-doc/orthographic.camera.json +96 -98
  40. package/api-doc/orthographic.json +602 -0
  41. package/api-doc/panthera.json +1183 -0
  42. package/api-doc/{persist.persist.json → persist.json} +26 -1
  43. package/api-doc/{platypus.platypus.json → platypus.json} +68 -14
  44. package/api-doc/{rendy.rendy.json → rendy.json} +46 -99
  45. package/api-doc/richtext.color.json +77 -0
  46. package/api-doc/richtext.richtext.json +375 -5
  47. package/api-doc/saver.saver.json +2 -1
  48. package/api-doc/saver.storage.json +2 -1
  49. package/api-doc/shutter.json +551 -0
  50. package/api-doc/{yagames.yagames.json → yagames.json} +784 -189
  51. package/api-doc/{zzfx.api.json → zzfx.json} +9 -9
  52. package/authored-targets.json +433 -0
  53. package/generated/{boom.boom.d.ts → boom.d.ts} +14 -0
  54. package/generated/bridge.d.ts +5 -5
  55. package/generated/{bzAnim.bzLibrary.d.ts → bzAnim.d.ts} +6 -0
  56. package/generated/checkpoint.d.ts +62 -0
  57. package/generated/decore.d.ts +1 -1
  58. package/generated/defcon.d.ts +43 -0
  59. package/generated/{defmath.defmath.d.ts → defmath.d.ts} +3 -2
  60. package/generated/defsave.d.ts +144 -0
  61. package/generated/{dicebag.dicebag.d.ts → dicebag.d.ts} +25 -0
  62. package/generated/druid.d.ts +81 -79
  63. package/generated/event.d.ts +15 -15
  64. package/generated/{gooey.gooey.d.ts → gooey.d.ts} +61 -6
  65. package/generated/in.onscreen.d.ts +5 -0
  66. package/generated/in.textbox.d.ts +4 -0
  67. package/generated/lang.d.ts +5 -5
  68. package/generated/log.d.ts +1 -1
  69. package/generated/metrics.fps.d.ts +19 -1
  70. package/generated/metrics.mem.d.ts +19 -1
  71. package/generated/monarch.monarch.d.ts +44 -1
  72. package/generated/monarch.transitions.easings.d.ts +0 -1
  73. package/generated/monarch.transitions.gui.d.ts +96 -12
  74. package/generated/nakama.d.ts +1158 -0
  75. package/generated/nakama.engine.defold.d.ts +3 -1
  76. package/generated/nakama.session.d.ts +95 -0
  77. package/generated/nakama.socket.d.ts +706 -0
  78. package/generated/nakama.util.log.d.ts +6 -0
  79. package/generated/narrator.d.ts +1 -1
  80. package/generated/openapi/nakama.nakama.d.ts +884 -0
  81. package/generated/orthographic.camera.d.ts +24 -38
  82. package/generated/orthographic.d.ts +155 -0
  83. package/generated/panthera.d.ts +170 -0
  84. package/generated/{persist.persist.d.ts → persist.d.ts} +3 -0
  85. package/generated/{platypus.platypus.d.ts → platypus.d.ts} +9 -0
  86. package/generated/proto.d.ts +4 -4
  87. package/generated/{rendy.rendy.d.ts → rendy.d.ts} +33 -80
  88. package/generated/richtext.color.d.ts +15 -0
  89. package/generated/saver.saver.d.ts +2 -0
  90. package/generated/saver.storage.d.ts +2 -0
  91. package/generated/shutter.d.ts +183 -0
  92. package/generated/{yagames.yagames.d.ts → yagames.d.ts} +151 -29
  93. package/generated/{zzfx.api.d.ts → zzfx.d.ts} +7 -0
  94. package/library-classification.json +0 -156
  95. package/library-targets.json +1 -218
  96. package/luals-targets.json +56 -3
  97. package/openapi-targets.json +17 -0
  98. package/package.json +7 -57
  99. package/scripts/__snapshots__/parse-luals.test.ts.snap +164 -10
  100. package/scripts/apply-luals-overrides.ts +39 -7
  101. package/scripts/authored-parity.ts +718 -0
  102. package/scripts/emit-library-dts.ts +94 -17
  103. package/scripts/extract-api-doc.ts +214 -42
  104. package/scripts/fidelity-floor.ts +178 -0
  105. package/scripts/import-upstream-docs.ts +125 -0
  106. package/scripts/lower-api-doc.ts +21 -3
  107. package/scripts/luals-fidelity.ts +16 -11
  108. package/scripts/map-luals-types.ts +52 -21
  109. package/scripts/parse-lua-surface.ts +187 -0
  110. package/scripts/parse-luals.ts +50 -4
  111. package/scripts/parse-markdown-api.ts +247 -0
  112. package/scripts/parse-openapi-api.ts +313 -0
  113. package/scripts/sync-authored-types.ts +249 -0
  114. package/scripts/sync-library-types.ts +99 -3
  115. package/scripts/sync-luals-types.ts +14 -1
  116. package/scripts/sync-markdown-types.ts +761 -0
  117. package/scripts/sync-openapi-types.ts +308 -0
  118. package/scripts/sync-script-api-types.ts +16 -17
  119. package/api-doc/boom.boom.json +0 -26
  120. package/api-doc/bzAnim.bzLibrary.json +0 -156
  121. package/api-doc/defcon.console.json +0 -109
  122. package/api-doc/defsave.defsave.json +0 -175
  123. package/api-doc/deftest.deftest.json +0 -71
  124. package/api-doc/gooey.gooey.json +0 -963
  125. package/api-doc/starly.starly.json +0 -488
  126. package/generated/defcon.console.d.ts +0 -24
  127. package/generated/defsave.defsave.d.ts +0 -31
  128. package/generated/nakama.nakama.d.ts +0 -594
  129. package/generated/starly.starly.d.ts +0 -148
  130. /package/generated/{deftest.deftest.d.ts → deftest.d.ts} +0 -0
@@ -0,0 +1,43 @@
1
+ /** @noSelfInFile **/
2
+
3
+ /**
4
+ * @see {@link https://github.com/britzl/defcon|Github Source}
5
+ * @noResolution
6
+ */
7
+ declare module 'defcon.console' {
8
+ /** @noSelf */
9
+ export interface CommandCallback {
10
+ (args: Array<string>, stream: unknown): string;
11
+ }
12
+
13
+ /**
14
+ * The engine's own `print`, captured at load. `start()` replaces the global with a
15
+ * logging wrapper that calls this, and `stop()` restores the global from it.
16
+ */
17
+ export const print: (...args: unknown[]) => void;
18
+
19
+ /**
20
+ * The engine's own `pprint`, captured at load. `start()` replaces the global with a
21
+ * logging wrapper that calls this, and `stop()` restores the global from it.
22
+ */
23
+ export const pprint: (...args: unknown[]) => void;
24
+
25
+ /**
26
+ * The `defnet` http_server the console listens on. A router-only stand-in until
27
+ * `start()` creates the real one; opaque here, `defnet` not being vendored by this
28
+ * target.
29
+ */
30
+ export const server: unknown;
31
+
32
+ export function start(port: number): void;
33
+
34
+ export function stop(): void;
35
+
36
+ export function update(): void;
37
+
38
+ export function register_module(module: unknown, name?: string): void;
39
+
40
+ export function register_command(command: string, description: string, callback: CommandCallback): void;
41
+
42
+ export function set_environment(env: unknown): void;
43
+ }
@@ -179,11 +179,12 @@ declare module "defmath.defmath" {
179
179
  /**
180
180
  * Used to find a point in a triangle
181
181
  * x0, y0 are the points that are being checked against the rest to see if it's inside
182
+ * arr must be 6 in length: top x/y, bottom right x/y, bottom left x/y
182
183
  */
183
- export function in_triangle(x0: number, y0: number, x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): boolean;
184
+ export function in_triangle(x0: number, y0: number, arr: [number, number, number, number, number, number]): boolean;
184
185
 
185
186
  /**
186
- * arr must be 6 in length: top x/y, bottom right x/y, bottom left x/y
187
+ * box intersection of 2 square
187
188
  */
188
189
  export function box_intersect(ax: number, ay: number, awidth: number, aheight: number, bx: number, by: number, bwidth: number, bheight: number): boolean;
189
190
 
@@ -0,0 +1,144 @@
1
+ /** @noSelfInFile **/
2
+
3
+ /**
4
+ * Save and load config and user data persistently between a Defold project's sessions
5
+ * @see {@link https://github.com/subsoap/defsave|Github Source}
6
+ * @noResolution
7
+ */
8
+ declare module "defsave.defsave" {
9
+ /**
10
+ * Set to true to autosave all loaded files that are changed on a timer
11
+ */
12
+ export let autosave: boolean;
13
+
14
+ /**
15
+ * Amount of seconds between autosaves if changes have been made
16
+ */
17
+ export let autosave_timer: number;
18
+
19
+ /**
20
+ * Current timer value, only increases if autosave is enabled
21
+ */
22
+ export let timer: number;
23
+
24
+ /**
25
+ * Locally used but can be useful to have exposed
26
+ */
27
+ export let changed: boolean;
28
+
29
+ /**
30
+ * If true then more information will be printed, such as autosaves
31
+ */
32
+ export let verbose: boolean;
33
+
34
+ /**
35
+ * If true then files already loaded will never be overwritten with a reload
36
+ */
37
+ export let block_reloading: boolean;
38
+
39
+ /**
40
+ * Determines part of the path for saving files to
41
+ */
42
+ export let appname: string;
43
+
44
+ /**
45
+ * List of files currently loaded
46
+ */
47
+ export let loaded: LuaMap<string, unknown>;
48
+
49
+ /**
50
+ * System information captured at module load
51
+ */
52
+ export let sysinfo: ReturnType<typeof sys.get_sys_info>;
53
+
54
+ /**
55
+ * If true will attempt to load default data from the default_data table when loading an empty file
56
+ */
57
+ export let use_default_data: boolean;
58
+
59
+ /**
60
+ * If true then all data saved and loaded will be encrypted with AES - SLOWER
61
+ */
62
+ export let enable_encryption: boolean;
63
+
64
+ /**
65
+ * Pick an encryption key to use if you're using encryption
66
+ */
67
+ export let encryption_key: string;
68
+
69
+ /**
70
+ * If true then all data saved and loaded will be XOR obfuscated - FASTER
71
+ */
72
+ export let enable_obfuscation: boolean;
73
+
74
+ /**
75
+ * Pick an obfuscation key to use if you're using obfuscation; the longer the key the better
76
+ */
77
+ export let obfuscation_key: string;
78
+
79
+ /**
80
+ * If true then data is serialized with sys.serialize rather than encoded as JSON
81
+ */
82
+ export let use_serialize: boolean;
83
+
84
+ /**
85
+ * Default data to set files to if any cannot be loaded
86
+ */
87
+ export let default_data: LuaMap<string, unknown>;
88
+
89
+ export function set_appname(name: string): void;
90
+
91
+ /**
92
+ * XOR the input against a key, cycling the key as needed. Defaults to obfuscation_key.
93
+ */
94
+ export function obfuscate(input: string, key?: string): string;
95
+
96
+ /**
97
+ * The save path a file resolves to, or nil when no file was given
98
+ */
99
+ export function get_file_path(file: string): string | undefined;
100
+
101
+ export function load(file: string): boolean | undefined;
102
+
103
+ export function get(file: string, key: string): unknown;
104
+
105
+ export function set(file: string, key: string, value: any): boolean | undefined;
106
+
107
+ export function save(file: string, force?: boolean): boolean | undefined;
108
+
109
+ /**
110
+ * You can save all files at once. By default, it will only actually save files with changes, but you can force saving all files by setting the force flag to true.
111
+ * @param force false only saves changed files and true saves all files
112
+ */
113
+ export function save_all(force?: boolean): void;
114
+
115
+ /**
116
+ * Whether a key is set on a loaded file. Returns nil when the file is loaded but the key is absent.
117
+ */
118
+ export function key_exists(file: string, key: string): boolean | undefined;
119
+
120
+ /**
121
+ * Alias of key_exists
122
+ */
123
+ export function isset(file: string, key: string): boolean | undefined;
124
+
125
+ /**
126
+ * Reset a file to its default_data entry, or to empty when it has none
127
+ */
128
+ export function reset_to_default(file: string): boolean | undefined;
129
+
130
+ /**
131
+ * Whether a file is currently in the loaded list
132
+ */
133
+ export function is_loaded(file: string): boolean;
134
+
135
+ /**
136
+ * In your update, if you want autosave to be enabled, you will need to include
137
+ */
138
+ export function update(dt: number): void;
139
+
140
+ /**
141
+ * Save all loaded files; call from your script's final
142
+ */
143
+ export function final(): void;
144
+ }
@@ -6,6 +6,31 @@
6
6
  * @noResolution
7
7
  */
8
8
  declare module "dicebag.dicebag" {
9
+ /**
10
+ * Every marble bag `bag_create` has made, keyed by its identifier. `bag_draw` reads
11
+ * and decrements the counts here; `bag_reset` restores them from the `full_*` pair.
12
+ */
13
+ export const bags: LuaMap<
14
+ string | number | Hash,
15
+ {
16
+ success: number;
17
+ fail: number;
18
+ full_success: number;
19
+ full_fail: number;
20
+ reset_on_success: boolean;
21
+ }
22
+ >;
23
+
24
+ /**
25
+ * Every rollable table `table_create` has made, keyed by its identifier. `active` is
26
+ * what `table_roll` draws from and removes as it goes; `original` is the untouched
27
+ * copy `table_reset` restores from.
28
+ */
29
+ export const tables: LuaMap<
30
+ string | number | Hash,
31
+ { active: Array<[number, any, boolean?]>; original: Array<[number, any, boolean?]> }
32
+ >;
33
+
9
34
  /**
10
35
  * Sets up the randomseed and clears the first number of random rolls.
11
36
  * @param seed optional seed, if not specified a seed will be generated using socket.gettime().
@@ -1,5 +1,6 @@
1
1
  /** @noResolution */
2
2
  declare module 'druid.druid' {
3
+ import { event } from 'event.event';
3
4
  type druid_text_adjust_type = "downscale" | "trim" | "no_adjust" | "downscale_limited" | "scroll" | "scale_then_scroll" | "trim_left" | "scale_then_trim" | "scale_then_trim_left";
4
5
  type color = Vector4 | Vector3 | string;
5
6
  type druid_container_mode = "stretch" | "fit" | "stretch_x" | "stretch_y";
@@ -15,12 +16,12 @@ declare module 'druid.druid' {
15
16
  * - It uses a key_back and key_backspace action ids
16
17
  */
17
18
  interface druid_back_handler extends druid_component {
18
- on_back: unknown;
19
+ on_back: event;
19
20
  params?: unknown | undefined;
20
21
  /**
21
22
  * The Back Handler constructor
22
23
  */
23
- init(callback?: unknown | undefined, params?: unknown | undefined): void;
24
+ init(callback?: ((...args: any[]) => unknown) | undefined, params?: unknown | undefined): void;
24
25
  }
25
26
  /**
26
27
  * Druid component for block input. Use it to block input in special zone.
@@ -56,12 +57,12 @@ declare module 'druid.druid' {
56
57
  LONGTAP_TIME?: number | undefined;
57
58
  AUTOHOLD_TRIGGER?: number | undefined;
58
59
  DOUBLETAP_TIME?: number | undefined;
59
- on_init?: ((self: unknown) => void) | undefined;
60
- on_click?: ((self: unknown, node: unknown) => void) | undefined;
61
- on_click_disabled?: ((self: unknown, node: unknown) => void) | undefined;
62
- on_hover?: ((self: unknown, node: unknown, hover_state: unknown) => void) | undefined;
63
- on_mouse_hover?: ((self: unknown, node: unknown, hover_state: unknown) => void) | undefined;
64
- on_set_enabled?: ((self: unknown, node: unknown, enabled_state: unknown) => void) | undefined;
60
+ on_init?: ((self: druid_button) => void) | undefined;
61
+ on_click?: ((self: druid_button, node: Opaque<"node">) => void) | undefined;
62
+ on_click_disabled?: ((self: druid_button, node: Opaque<"node">) => void) | undefined;
63
+ on_hover?: ((self: druid_button, node: Opaque<"node">, hover_state: boolean) => void) | undefined;
64
+ on_mouse_hover?: ((self: druid_button, node: Opaque<"node">, hover_state: boolean) => void) | undefined;
65
+ on_set_enabled?: ((self: druid_button, node: Opaque<"node">, enabled_state: boolean | undefined) => void) | undefined;
65
66
  }
66
67
  /**
67
68
  * Basic Druid input component. Handle input on node and provide different callbacks on touch events.
@@ -82,13 +83,13 @@ declare module 'druid.druid' {
82
83
  * -
83
84
  */
84
85
  interface druid_button extends druid_component {
85
- on_click: unknown;
86
- on_pressed: unknown;
87
- on_repeated_click: unknown;
88
- on_long_click: unknown;
89
- on_double_click: unknown;
90
- on_hold_callback: unknown;
91
- on_click_outside: unknown;
86
+ on_click: event;
87
+ on_pressed: event;
88
+ on_repeated_click: event;
89
+ on_long_click: event;
90
+ on_double_click: event;
91
+ on_hold_callback: event;
92
+ on_click_outside: event;
92
93
  node: Opaque<"node">;
93
94
  node_id: Hash;
94
95
  anim_node: Opaque<"node">;
@@ -136,7 +137,7 @@ declare module 'druid.druid' {
136
137
  /**
137
138
  * Set function for additional check for button click availability.
138
139
  */
139
- set_check_function(check_function?: unknown | undefined, failure_callback?: unknown | undefined): druid_button;
140
+ set_check_function(check_function?: ((...args: any[]) => unknown) | undefined, failure_callback?: ((...args: any[]) => unknown) | undefined): druid_button;
140
141
  /**
141
142
  * Set Button mode to work inside user HTML5 interaction event.
142
143
  *
@@ -186,11 +187,11 @@ declare module 'druid.druid' {
186
187
  */
187
188
  interface druid_drag extends druid_component {
188
189
  node: Opaque<"node">;
189
- on_touch_start: unknown;
190
- on_touch_end: unknown;
191
- on_drag_start: unknown;
192
- on_drag: unknown;
193
- on_drag_end: unknown;
190
+ on_touch_start: event;
191
+ on_touch_end: event;
192
+ on_drag_start: event;
193
+ on_drag: event;
194
+ on_drag_end: event;
194
195
  style: druid_drag_style;
195
196
  click_zone?: Opaque<"node"> | undefined;
196
197
  is_touch: boolean;
@@ -208,7 +209,7 @@ declare module 'druid.druid' {
208
209
  /**
209
210
  * The constructor for Drag component
210
211
  */
211
- init(node_or_node_id: Opaque<"node"> | string, on_drag_callback: (self: unknown, touch: unknown) => void): void;
212
+ init(node_or_node_id: Opaque<"node"> | string, on_drag_callback: (self: unknown, dx: number, dy: number, x: number, y: number, touch: touch) => void): void;
212
213
  /**
213
214
  * Set Drag component enabled state.
214
215
  */
@@ -248,14 +249,14 @@ declare module 'druid.druid' {
248
249
  */
249
250
  interface druid_hover extends druid_component {
250
251
  node: Opaque<"node">;
251
- on_hover: unknown;
252
- on_mouse_hover: unknown;
252
+ on_hover: event;
253
+ on_mouse_hover: event;
253
254
  style: druid_hover_style;
254
255
  click_zone: Opaque<"node">;
255
256
  /**
256
257
  * The constructor for the hover component
257
258
  */
258
- init(node: Opaque<"node">, on_hover_callback: unknown, on_mouse_hover: unknown): void;
259
+ init(node: Opaque<"node">, on_hover_callback: (...args: any[]) => unknown, on_mouse_hover: (...args: any[]) => unknown): void;
259
260
  /**
260
261
  * Set hover state
261
262
  */
@@ -326,9 +327,9 @@ declare module 'druid.druid' {
326
327
  interface druid_scroll extends druid_component {
327
328
  node: Opaque<"node">;
328
329
  click_zone?: Opaque<"node"> | undefined;
329
- on_scroll: unknown;
330
- on_scroll_to: unknown;
331
- on_point_scroll: unknown;
330
+ on_scroll: event;
331
+ on_scroll_to: event;
332
+ on_point_scroll: event;
332
333
  view_node: Opaque<"node">;
333
334
  view_border: Vector4;
334
335
  content_node: Opaque<"node">;
@@ -453,11 +454,11 @@ declare module 'druid.druid' {
453
454
  * The component for manage the nodes position in the grid with various options
454
455
  */
455
456
  interface druid_grid extends druid_component {
456
- on_add_item: unknown;
457
- on_remove_item: unknown;
458
- on_change_items: unknown;
459
- on_clear: unknown;
460
- on_update_positions: unknown;
457
+ on_add_item: event;
458
+ on_remove_item: event;
459
+ on_change_items: event;
460
+ on_clear: event;
461
+ on_update_positions: event;
461
462
  parent: Opaque<"node">;
462
463
  nodes: Opaque<"node">[];
463
464
  first_index: number;
@@ -535,7 +536,7 @@ declare module 'druid.druid' {
535
536
  /**
536
537
  * Change set position function for grid nodes. It will call on
537
538
  */
538
- set_position_function(callback: unknown): druid_grid;
539
+ set_position_function(callback: (...args: any[]) => unknown): druid_grid;
539
540
  /**
540
541
  * Clear grid nodes array. GUI nodes will be not deleted!
541
542
  */
@@ -555,7 +556,7 @@ declare module 'druid.druid' {
555
556
  /**
556
557
  * Sort grid nodes by custom comparator function
557
558
  */
558
- sort_nodes(comparator: unknown): druid_grid;
559
+ sort_nodes(comparator: (...args: any[]) => unknown): druid_grid;
559
560
  _extend_border(border: Vector4, pos: Vector3, size: Vector3, pivot: Vector3): void;
560
561
  }
561
562
  interface druid_text_style {
@@ -586,9 +587,9 @@ declare module 'druid.druid' {
586
587
  */
587
588
  interface druid_text extends druid_component {
588
589
  node: Opaque<"node">;
589
- on_set_text: unknown;
590
- on_update_text_scale: unknown;
591
- on_set_pivot: unknown;
590
+ on_set_text: event;
591
+ on_update_text_scale: event;
592
+ on_set_pivot: event;
592
593
  style: druid_text_style;
593
594
  start_pivot: number;
594
595
  start_scale: Vector3;
@@ -607,6 +608,8 @@ declare module 'druid.druid' {
607
608
  get_text_index_by_width(width: number): number;
608
609
  /**
609
610
  * Set text to text field
611
+ *
612
+ * @deprecated
610
613
  */
611
614
  set_to(set_to: string): druid_text;
612
615
  set_text(): void;
@@ -944,7 +947,7 @@ declare module 'druid.druid' {
944
947
  min_size_y?: number | undefined;
945
948
  max_size_x?: number | undefined;
946
949
  max_size_y?: number | undefined;
947
- on_size_changed: unknown;
950
+ on_size_changed: event;
948
951
  _parent_container: druid_container;
949
952
  _containers: LuaTable;
950
953
  _draggable_corners: LuaTable;
@@ -1027,16 +1030,16 @@ declare module 'druid.druid' {
1027
1030
  interface druid_data_list extends druid_component {
1028
1031
  scroll: druid_scroll;
1029
1032
  grid: druid_grid;
1030
- on_scroll_progress_change: unknown;
1031
- on_element_add: unknown;
1032
- on_element_remove: unknown;
1033
+ on_scroll_progress_change: event;
1034
+ on_element_add: event;
1035
+ on_element_remove: event;
1033
1036
  top_index: number;
1034
1037
  last_index: number;
1035
1038
  scroll_progress: number;
1036
1039
  /**
1037
1040
  * The DataList constructor
1038
1041
  */
1039
- init(scroll: druid_scroll, grid: druid_grid, create_function: unknown): void;
1042
+ init(scroll: druid_scroll, grid: druid_grid, create_function: (...args: any[]) => unknown): void;
1040
1043
  /**
1041
1044
  * Set use cache version of DataList. Requires make setup of components in on_element_add callback and clean in on_element_remove
1042
1045
  */
@@ -1101,13 +1104,13 @@ declare module 'druid.druid' {
1101
1104
  * - Hotkey can be set to repeat on key hold
1102
1105
  */
1103
1106
  interface druid_hotkey extends druid_component {
1104
- on_hotkey_pressed: unknown;
1105
- on_hotkey_released: unknown;
1107
+ on_hotkey_pressed: event;
1108
+ on_hotkey_released: event;
1106
1109
  style: druid_hotkey_style;
1107
1110
  /**
1108
1111
  * The Hotkey constructor
1109
1112
  */
1110
- init(keys: string[] | string, callback: unknown, callback_argument?: unknown | undefined): void;
1113
+ init(keys: string[] | string, callback: (...args: any[]) => unknown, callback_argument?: unknown | undefined): void;
1111
1114
  /**
1112
1115
  * Add hotkey for component callback
1113
1116
  */
@@ -1146,13 +1149,13 @@ declare module 'druid.druid' {
1146
1149
  * - You can setup allowed characters. On add not allowed characters `on_input_wrong` will be called
1147
1150
  */
1148
1151
  interface druid_input extends druid_component {
1149
- on_input_select: unknown;
1150
- on_input_unselect: unknown;
1151
- on_input_text: unknown;
1152
- on_input_empty: unknown;
1153
- on_input_full: unknown;
1154
- on_input_wrong: unknown;
1155
- on_select_cursor_change: unknown;
1152
+ on_input_select: event;
1153
+ on_input_unselect: event;
1154
+ on_input_text: event;
1155
+ on_input_empty: event;
1156
+ on_input_full: event;
1157
+ on_input_wrong: event;
1158
+ on_select_cursor_change: event;
1156
1159
  style: druid_input_style;
1157
1160
  init(click_node: Opaque<"node">, text_node: Opaque<"node"> | druid_text, keyboard_type?: Opaque<"constant"> | undefined): void;
1158
1161
  get_text_selected(): void;
@@ -1217,7 +1220,7 @@ declare module 'druid.druid' {
1217
1220
  interface druid_lang_text extends druid_component {
1218
1221
  text: druid_text;
1219
1222
  node: Opaque<"node">;
1220
- on_change: unknown;
1223
+ on_change: event;
1221
1224
  init(node: string | Opaque<"node">, locale_id?: string | undefined, adjust_type?: string | undefined): void;
1222
1225
  /**
1223
1226
  * Setup raw text to lang_text component. This will clear any locale settings.
@@ -1236,8 +1239,7 @@ declare module 'druid.druid' {
1236
1239
  */
1237
1240
  format(...args: string[]): druid_lang_text;
1238
1241
  }
1239
- interface event_on_size_changed {
1240
- subscribe: (_: unknown, callback: (new_size: Vector3) => void, context: unknown | undefined) => void;
1242
+ interface event_on_size_changed extends event {
1241
1243
  }
1242
1244
  interface druid_layout_row_data {
1243
1245
  width: number;
@@ -1249,7 +1251,7 @@ declare module 'druid.druid' {
1249
1251
  total_height: number;
1250
1252
  nodes_width: LuaTable<Opaque<"node">, number>;
1251
1253
  nodes_height: LuaTable<Opaque<"node">, number>;
1252
- rows: unknown;
1254
+ rows: druid_layout_row_data[];
1253
1255
  }
1254
1256
  /**
1255
1257
  * Druid component to manage the layout of nodes, placing them inside the node size with respect to the size and pivot of each node.
@@ -1301,7 +1303,7 @@ declare module 'druid.druid' {
1301
1303
  */
1302
1304
  remove(node_or_node_id: Opaque<"node"> | string): druid_layout;
1303
1305
  get_size(): Vector3;
1304
- get_content_size(): unknown;
1306
+ get_content_size(): LuaMultiReturn<[number, number]>;
1305
1307
  refresh_layout(is_instant?: boolean | undefined): druid_layout;
1306
1308
  clear_layout(): druid_layout;
1307
1309
  get_node_size(node: Opaque<"node">): LuaMultiReturn<[number, number]>;
@@ -1309,7 +1311,7 @@ declare module 'druid.druid' {
1309
1311
  /**
1310
1312
  * Set custom position function for layout nodes. It will call on update poses on layout elements. Default: gui.set_position
1311
1313
  */
1312
- set_position_function(callback: unknown): druid_layout;
1314
+ set_position_function(callback: (...args: any[]) => unknown): druid_layout;
1313
1315
  }
1314
1316
  interface druid_progress_style {
1315
1317
  SPEED?: number | undefined;
@@ -1330,7 +1332,7 @@ declare module 'druid.druid' {
1330
1332
  */
1331
1333
  interface druid_progress extends druid_component {
1332
1334
  node: Opaque<"node">;
1333
- on_change: unknown;
1335
+ on_change: event;
1334
1336
  style: druid_progress_style;
1335
1337
  key: string;
1336
1338
  prop: Hash;
@@ -1355,11 +1357,11 @@ declare module 'druid.druid' {
1355
1357
  /**
1356
1358
  * Set points on progress bar to fire the callback
1357
1359
  */
1358
- set_steps(steps: number[], callback: unknown): druid_progress;
1360
+ set_steps(steps: number[], callback: (...args: any[]) => unknown): druid_progress;
1359
1361
  /**
1360
1362
  * Start animation of a progress bar
1361
1363
  */
1362
- to(to: number, callback?: unknown | undefined): druid_progress;
1364
+ to(to: number, callback?: ((...args: any[]) => unknown) | undefined): druid_progress;
1363
1365
  /**
1364
1366
  * Set progress bar max node size
1365
1367
  */
@@ -1380,12 +1382,12 @@ declare module 'druid.druid' {
1380
1382
  */
1381
1383
  interface druid_slider extends druid_component {
1382
1384
  node: Opaque<"node">;
1383
- on_change_value: unknown;
1385
+ on_change_value: event;
1384
1386
  style: LuaTable;
1385
1387
  /**
1386
1388
  * The Slider constructor
1387
1389
  */
1388
- init(node: Opaque<"node">, end_pos: Vector3, callback?: unknown | undefined): void;
1390
+ init(node: Opaque<"node">, end_pos: Vector3, callback?: ((...args: any[]) => unknown) | undefined): void;
1389
1391
  /**
1390
1392
  * Set value for slider
1391
1393
  */
@@ -1425,10 +1427,10 @@ declare module 'druid.druid' {
1425
1427
  */
1426
1428
  interface druid_swipe extends druid_component {
1427
1429
  node: Opaque<"node">;
1428
- on_swipe: unknown;
1430
+ on_swipe: event;
1429
1431
  style: druid_swipe_style;
1430
1432
  click_zone: Opaque<"node">;
1431
- init(node_or_node_id: Opaque<"node"> | string, on_swipe_callback: unknown): void;
1433
+ init(node_or_node_id: Opaque<"node"> | string, on_swipe_callback: (...args: any[]) => unknown): void;
1432
1434
  /**
1433
1435
  * Set the click zone for the swipe, useful for restricting events outside stencil node
1434
1436
  */
@@ -1458,15 +1460,15 @@ declare module 'druid.druid' {
1458
1460
  * - Timer uses update function to handle time
1459
1461
  */
1460
1462
  interface druid_timer extends druid_component {
1461
- on_tick: unknown;
1462
- on_set_enabled: unknown;
1463
- on_timer_end: unknown;
1463
+ on_tick: event;
1464
+ on_set_enabled: event;
1465
+ on_timer_end: event;
1464
1466
  node: Opaque<"node">;
1465
1467
  from: number;
1466
1468
  target: number;
1467
1469
  value: number;
1468
1470
  is_on?: boolean | undefined;
1469
- init(node: Opaque<"node">, seconds_from?: number | undefined, seconds_to?: number | undefined, callback?: unknown | undefined): void;
1471
+ init(node: Opaque<"node">, seconds_from?: number | undefined, seconds_to?: number | undefined, callback?: ((...args: any[]) => unknown) | undefined): void;
1470
1472
  /**
1471
1473
  * Set the timer to a specific value
1472
1474
  */
@@ -1617,7 +1619,7 @@ declare module 'druid.druid' {
1617
1619
  /**
1618
1620
  * Create Button component
1619
1621
  */
1620
- new_button(node: string | Opaque<"node">, callback?: unknown | unknown | undefined, params?: unknown | undefined, anim_node?: Opaque<"node"> | string | undefined): druid_button;
1622
+ new_button(node: string | Opaque<"node">, callback?: ((...args: any[]) => unknown) | event | undefined, params?: unknown | undefined, anim_node?: Opaque<"node"> | string | undefined): druid_button;
1621
1623
  /**
1622
1624
  * Create Blocker component
1623
1625
  */
@@ -1625,11 +1627,11 @@ declare module 'druid.druid' {
1625
1627
  /**
1626
1628
  * Create BackHandler component
1627
1629
  */
1628
- new_back_handler(callback?: unknown | unknown | undefined, params?: unknown | undefined): druid_back_handler;
1630
+ new_back_handler(callback?: ((...args: any[]) => unknown) | event | undefined, params?: unknown | undefined): druid_back_handler;
1629
1631
  /**
1630
1632
  * Create Hover component
1631
1633
  */
1632
- new_hover(node: string | Opaque<"node">, on_hover_callback?: unknown | undefined, on_mouse_hover_callback?: unknown | undefined): druid_hover;
1634
+ new_hover(node: string | Opaque<"node">, on_hover_callback?: ((...args: any[]) => unknown) | undefined, on_mouse_hover_callback?: ((...args: any[]) => unknown) | undefined): druid_hover;
1633
1635
  /**
1634
1636
  * Create Text component
1635
1637
  */
@@ -1645,11 +1647,11 @@ declare module 'druid.druid' {
1645
1647
  /**
1646
1648
  * Create Drag component
1647
1649
  */
1648
- new_drag(node: string | Opaque<"node">, on_drag_callback?: unknown | undefined): druid_drag;
1650
+ new_drag(node: string | Opaque<"node">, on_drag_callback?: ((...args: any[]) => unknown) | undefined): druid_drag;
1649
1651
  /**
1650
1652
  * Create Swipe component
1651
1653
  */
1652
- new_swipe(node: string | Opaque<"node">, on_swipe_callback?: unknown | undefined): druid_swipe;
1654
+ new_swipe(node: string | Opaque<"node">, on_swipe_callback?: ((...args: any[]) => unknown) | undefined): druid_swipe;
1653
1655
  /**
1654
1656
  * Create LangText component
1655
1657
  */
@@ -1657,7 +1659,7 @@ declare module 'druid.druid' {
1657
1659
  /**
1658
1660
  * Create Slider component
1659
1661
  */
1660
- new_slider(pin_node: string | Opaque<"node">, end_pos: Vector3, callback?: unknown | undefined): druid_slider;
1662
+ new_slider(pin_node: string | Opaque<"node">, end_pos: Vector3, callback?: ((...args: any[]) => unknown) | undefined): druid_slider;
1661
1663
  /**
1662
1664
  * Create Input component
1663
1665
  */
@@ -1665,11 +1667,11 @@ declare module 'druid.druid' {
1665
1667
  /**
1666
1668
  * Create DataList component
1667
1669
  */
1668
- new_data_list(druid_scroll: druid_scroll, druid_grid: druid_grid, create_function: unknown): druid_data_list;
1670
+ new_data_list(druid_scroll: druid_scroll, druid_grid: druid_grid, create_function: (...args: any[]) => unknown): druid_data_list;
1669
1671
  /**
1670
1672
  * Create Timer component
1671
1673
  */
1672
- new_timer(node: string | Opaque<"node">, seconds_from?: number | undefined, seconds_to?: number | undefined, callback?: unknown | undefined): druid_timer;
1674
+ new_timer(node: string | Opaque<"node">, seconds_from?: number | undefined, seconds_to?: number | undefined, callback?: ((...args: any[]) => unknown) | undefined): druid_timer;
1673
1675
  /**
1674
1676
  * Create Progress component
1675
1677
  */
@@ -1685,7 +1687,7 @@ declare module 'druid.druid' {
1685
1687
  /**
1686
1688
  * Create Hotkey component
1687
1689
  */
1688
- new_hotkey(keys_array: string | string[], callback?: unknown | unknown | undefined, callback_argument?: unknown | undefined): druid_hotkey;
1690
+ new_hotkey(keys_array: string | string[], callback?: ((...args: any[]) => unknown) | event | undefined, callback_argument?: unknown | undefined): druid_hotkey;
1689
1691
  /**
1690
1692
  * Create RichText component.
1691
1693
  */