@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
@@ -6,41 +6,44 @@ declare global {
6
6
  * Functions for manipulating buffers and streams
7
7
  */
8
8
  namespace buffer {
9
+ type buffer_data = Opaque<"buffer">;
10
+ type buffer_stream = Opaque<"bufferstream"> & { [index: number]: number; length: LuaLengthMethod<number> };
9
11
  type ValueType = typeof buffer.VALUE_TYPE_FLOAT32 | typeof buffer.VALUE_TYPE_INT16 | typeof buffer.VALUE_TYPE_INT32 | typeof buffer.VALUE_TYPE_INT64 | typeof buffer.VALUE_TYPE_INT8 | typeof buffer.VALUE_TYPE_UINT16 | typeof buffer.VALUE_TYPE_UINT32 | typeof buffer.VALUE_TYPE_UINT64 | typeof buffer.VALUE_TYPE_UINT8;
12
+ type VALUE_TYPE = typeof buffer.VALUE_TYPE_FLOAT32 | typeof buffer.VALUE_TYPE_INT16 | typeof buffer.VALUE_TYPE_INT32 | typeof buffer.VALUE_TYPE_INT64 | typeof buffer.VALUE_TYPE_INT8 | typeof buffer.VALUE_TYPE_UINT16 | typeof buffer.VALUE_TYPE_UINT32 | typeof buffer.VALUE_TYPE_UINT64 | typeof buffer.VALUE_TYPE_UINT8;
10
13
  /**
11
- * Float, single precision, 4 bytes
14
+ * float32 Float, single precision, 4 bytes
12
15
  */
13
16
  const VALUE_TYPE_FLOAT32: number & { readonly __brand: "buffer.VALUE_TYPE_FLOAT32" };
14
17
  /**
15
- * Signed integer, 2 bytes
18
+ * int16 Signed integer, 2 bytes
16
19
  */
17
20
  const VALUE_TYPE_INT16: number & { readonly __brand: "buffer.VALUE_TYPE_INT16" };
18
21
  /**
19
- * Signed integer, 4 bytes
22
+ * int32 Signed integer, 4 bytes
20
23
  */
21
24
  const VALUE_TYPE_INT32: number & { readonly __brand: "buffer.VALUE_TYPE_INT32" };
22
25
  /**
23
- * Signed integer, 8 bytes
26
+ * int64 Signed integer, 8 bytes
24
27
  */
25
28
  const VALUE_TYPE_INT64: number & { readonly __brand: "buffer.VALUE_TYPE_INT64" };
26
29
  /**
27
- * Signed integer, 1 byte
30
+ * int8 Signed integer, 1 byte
28
31
  */
29
32
  const VALUE_TYPE_INT8: number & { readonly __brand: "buffer.VALUE_TYPE_INT8" };
30
33
  /**
31
- * Unsigned integer, 2 bytes
34
+ * uint16 Unsigned integer, 2 bytes
32
35
  */
33
36
  const VALUE_TYPE_UINT16: number & { readonly __brand: "buffer.VALUE_TYPE_UINT16" };
34
37
  /**
35
- * Unsigned integer, 4 bytes
38
+ * uint32 Unsigned integer, 4 bytes
36
39
  */
37
40
  const VALUE_TYPE_UINT32: number & { readonly __brand: "buffer.VALUE_TYPE_UINT32" };
38
41
  /**
39
- * Unsigned integer, 8 bytes
42
+ * uint64 Unsigned integer, 8 bytes
40
43
  */
41
44
  const VALUE_TYPE_UINT64: number & { readonly __brand: "buffer.VALUE_TYPE_UINT64" };
42
45
  /**
43
- * Unsigned integer, 1 byte
46
+ * uint8 Unsigned integer, 1 byte
44
47
  */
45
48
  const VALUE_TYPE_UINT8: number & { readonly __brand: "buffer.VALUE_TYPE_UINT8" };
46
49
  /**
@@ -88,10 +91,10 @@ declare global {
88
91
  * // copy entire stream
89
92
  * const srcstream = buffer.get_stream(srcbuffer, hash("xyz"));
90
93
  * const dststream = buffer.get_stream(dstbuffer, hash("xyz"));
91
- * buffer.copy_stream(dststream, 0, srcstream, 0, srcstream.length);
94
+ * buffer.copy_stream(dststream, 0, srcstream, 0, srcstream.length());
92
95
  * ```
93
96
  */
94
- function copy_stream(dst: Opaque<"bufferstream"> & { [index: number]: number }, dstoffset: number, src: Opaque<"bufferstream"> & { [index: number]: number }, srcoffset: number, count: number): void;
97
+ function copy_stream(dst: Opaque<"bufferstream"> & { [index: number]: number; length: LuaLengthMethod<number> }, dstoffset: number, src: Opaque<"bufferstream"> & { [index: number]: number; length: LuaLengthMethod<number> }, srcoffset: number, count: number): void;
95
98
  /**
96
99
  * Create a new data buffer containing a specified set of streams. A data buffer
97
100
  * can contain one or more streams with typed data. This is useful for managing
@@ -102,33 +105,34 @@ declare global {
102
105
  * @param declaration - A table where each entry (table) describes a stream
103
106
  *
104
107
  * - hash | string `name`: The name of the stream
105
- *
106
- * - constant `type`: The data type of the stream
107
- *
108
+ * - buffer.VALUE_TYPE `type`: The data type of the stream
108
109
  * - number `count`: The number of values each element should hold
109
110
  * @returns the new buffer
110
111
  * @example
111
112
  * ```ts
112
113
  * // How to create and initialize a buffer
113
114
  * export default defineScript({
114
- * init(self) {
115
+ * init() {
115
116
  * const size = 128;
116
- * self.image = buffer.create(size * size, [{ name: hash("rgb"), type: buffer.VALUE_TYPE_UINT8, count: 3 }]);
117
- * self.imagestream = buffer.get_stream(self.image, hash("rgb"));
118
- *
119
- * for (let y = 0; y < self.height; y++) {
120
- * for (let x = 0; x < self.width; x++) {
121
- * const index = y * self.width * 3 + x * 3;
122
- * self.imagestream[index + 0] = self.r;
123
- * self.imagestream[index + 1] = self.g;
124
- * self.imagestream[index + 2] = self.b;
117
+ * const [width, height] = [size, size];
118
+ * const [r, g, b] = [0xff, 0x80, 0x10];
119
+ * const image = buffer.create(size * size, [{ name: hash("rgb"), type: buffer.VALUE_TYPE_UINT8, count: 3 }]);
120
+ * const imagestream = buffer.get_stream(image, hash("rgb"));
121
+ *
122
+ * for (let y = 0; y < height; y++) {
123
+ * for (let x = 0; x < width; x++) {
124
+ * const index = y * width * 3 + x * 3;
125
+ * imagestream[index + 0] = r;
126
+ * imagestream[index + 1] = g;
127
+ * imagestream[index + 2] = b;
125
128
  * }
126
129
  * }
130
+ * return { image, imagestream };
127
131
  * },
128
132
  * });
129
133
  * ```
130
134
  */
131
- function create(element_count: number, declaration: { name?: Hash | string; type?: Opaque<"constant">; count?: number }): Opaque<"buffer">;
135
+ function create(element_count: number, declaration: ({ name: Hash | string; type: buffer.VALUE_TYPE; count: number })[]): Opaque<"buffer">;
132
136
  /**
133
137
  * Get a copy of all the bytes from a specified stream as a Lua string.
134
138
  *
@@ -136,7 +140,7 @@ declare global {
136
140
  * @param stream_name - the name of the stream
137
141
  * @returns the buffer data as a Lua string
138
142
  */
139
- function get_bytes(buffer: Opaque<"buffer">, stream_name: Hash): string;
143
+ function get_bytes(buffer: Opaque<"buffer">, stream_name: Hash | string): string;
140
144
  /**
141
145
  * Get a named metadata entry from a buffer along with its type.
142
146
  *
@@ -152,7 +156,7 @@ declare global {
152
156
  * if (values) print(`${values.length} values in 'somefloats'`);
153
157
  * ```
154
158
  */
155
- function get_metadata(buf: Opaque<"buffer">, metadata_name: Hash | string): LuaMultiReturn<[number[] | undefined, buffer.ValueType | undefined]>;
159
+ function get_metadata(buf: Opaque<"buffer">, metadata_name: Hash | string): LuaMultiReturn<[number[] | undefined, buffer.VALUE_TYPE | undefined]>;
156
160
  /**
157
161
  * Get a specified stream from a buffer.
158
162
  *
@@ -160,7 +164,7 @@ declare global {
160
164
  * @param stream_name - the stream name
161
165
  * @returns the data stream
162
166
  */
163
- function get_stream(buffer: Opaque<"buffer">, stream_name: Hash | string): Opaque<"bufferstream"> & { [index: number]: number };
167
+ function get_stream(buffer: Opaque<"buffer">, stream_name: Hash | string): Opaque<"bufferstream"> & { [index: number]: number; length: LuaLengthMethod<number> };
164
168
  /**
165
169
  * Creates or updates a metadata array entry on a buffer.
166
170
  * The value type and count given when updating the entry should match those used when first creating it.
@@ -181,7 +185,7 @@ declare global {
181
185
  * buffer.set_metadata(buf, hash("somefloats"), [-2.5, 10.0, 32.2], buffer.VALUE_TYPE_FLOAT32);
182
186
  * ```
183
187
  */
184
- function set_metadata(buf: Opaque<"buffer">, metadata_name: Hash | string, values: number[], value_type: buffer.ValueType): void;
188
+ function set_metadata(buf: Opaque<"buffer">, metadata_name: Hash | string, values: number[], value_type: buffer.VALUE_TYPE): void;
185
189
  }
186
190
  }
187
191
 
@@ -25,7 +25,10 @@ declare global {
25
25
  model_animation_done: { animation_id: Hash; playback: number };
26
26
  play_animation: { id: Hash };
27
27
  play_sound: { delay?: number; gain?: number; play_id?: number; start_time?: number; start_frame?: number };
28
+ proxy_error: { code: number };
28
29
  proxy_loaded: Record<string, never>;
30
+ proxy_loading: { progress: number };
31
+ proxy_ready: Record<string, never>;
29
32
  proxy_unloaded: Record<string, never>;
30
33
  ray_cast_missed: { group: Hash; request_id: number };
31
34
  ray_cast_response: { fraction: number; position: Vector3; normal: Vector3; id: Hash; group: Hash; request_id: number };
@@ -35,7 +38,7 @@ declare global {
35
38
  release_input_focus: Record<string, never>;
36
39
  resize: { height: number; width: number };
37
40
  resume_rendering: Record<string, never>;
38
- set_camera: { aspect_ratio: number; fov: number; near_z: number; far_z: number; orthographic_projection: boolean; orthographic_zoom: number; orthographic_mode: number };
41
+ set_camera: { aspect_ratio: number; fov: number; near_z: number; far_z: number; orthographic_projection: number; orthographic_zoom: number; orthographic_mode: number };
39
42
  set_gain: { gain: number };
40
43
  set_parent: { parent_id?: Hash; keep_world_transform?: 0 | 1 };
41
44
  set_time_step: { factor: number; mode: number };
@@ -47,6 +50,9 @@ declare global {
47
50
  start_record: { file_name: string; frame_period: number; fps: number };
48
51
  stop_record: Record<string, never>;
49
52
  stop_sound: Record<string, never>;
53
+ text_object_clicked: { id: Hash; type: Hash; src: string };
54
+ text_object_hovered: { id: Hash; type: Hash; src: string };
55
+ text_object_unhovered: { id: Hash; type: Hash; src: string };
50
56
  toggle_physics_debug: Record<string, never>;
51
57
  toggle_profile: Record<string, never>;
52
58
  trigger_event: { enter: boolean; a: Record<string | number, unknown>; b: Record<string | number, unknown> };
@@ -0,0 +1,91 @@
1
+ /** @noSelfInFile */
2
+ import type { Hash, Opaque, Url } from "../src/core-types";
3
+
4
+ declare global {
5
+ /**
6
+ * Native-style access to the Bullet 3D world and collision objects owned by
7
+ * Defold. World creation, destruction and stepping remain controlled by Defold.
8
+ * The backend name refers to three-dimensional physics.
9
+ *
10
+ * World, collision-object and rigid-body userdata are borrowed handles to
11
+ * Defold-owned objects. Shape userdata are borrowed logical child-slot handles
12
+ * attached to a collision object. Constraint userdata identify auxiliary native
13
+ * objects owned by this Lua API; destroy them explicitly when no longer needed.
14
+ * They are also destroyed automatically when a required body or world is
15
+ * destroyed.
16
+ *
17
+ * A collision-object, rigid-body or shape handle becomes invalid when its
18
+ * collision object is deleted or reloaded. A world handle remains valid across
19
+ * collision-object reloads, but becomes invalid when its collection and physics
20
+ * world are destroyed. The corresponding `is_valid()` function is safe for
21
+ * checking a retained handle; every other operation rejects an invalid handle.
22
+ */
23
+ namespace bullet3d {
24
+ type btCollisionObject = Opaque<"btCollisionObject" | "btRigidBody">;
25
+ type btDiscreteDynamicsWorld = Opaque<"btDiscreteDynamicsWorld">;
26
+ type btRigidBody = Opaque<"btRigidBody">;
27
+ /**
28
+ * Bullet version information
29
+ */
30
+ interface version_info {
31
+ /**
32
+ * full Bullet version string
33
+ */
34
+ version: string;
35
+ /**
36
+ * compact numeric Bullet version
37
+ */
38
+ number: number;
39
+ /**
40
+ * major version number
41
+ */
42
+ major: number;
43
+ /**
44
+ * minor version number
45
+ */
46
+ minor: number;
47
+ }
48
+ /**
49
+ * This returns both rigid bodies and ghost trigger objects.
50
+ * This function raises an error unless the collection uses 3D physics.
51
+ *
52
+ * @param url - collision object component URL
53
+ * @returns the collision object, or `nil`
54
+ */
55
+ function get_collision_object(url: string | Hash | Url): Opaque<"btCollisionObject" | "btRigidBody"> | undefined;
56
+ /**
57
+ * Trigger components are ghost objects, so this function returns `nil` for them.
58
+ * This function raises an error unless the collection uses 3D physics.
59
+ *
60
+ * @param url - collision object component URL
61
+ * @returns the rigid body handle, or `nil`
62
+ * @example
63
+ * ```ts
64
+ * const world = bullet3d.get_world();
65
+ * const body = bullet3d.get_rigid_body("#collisionobject");
66
+ * if (world !== undefined && body !== undefined && bullet3d.rigid_body.is_valid(body)) {
67
+ * bullet3d.rigid_body.apply_central_impulse(body, vmath.vector3(0, 10, 0));
68
+ * }
69
+ *
70
+ * // A trigger is a collision object, not a rigid body.
71
+ * const trigger = bullet3d.get_collision_object("#trigger");
72
+ * assert(trigger !== undefined && bullet3d.get_rigid_body("#trigger") === undefined);
73
+ * ```
74
+ */
75
+ function get_rigid_body(url: string | Hash | Url): Opaque<"btRigidBody"> | undefined;
76
+ /**
77
+ * Get the Bullet version
78
+ *
79
+ * @returns version information
80
+ */
81
+ function get_version(): bullet3d.version_info;
82
+ /**
83
+ * This function raises an error unless the collection uses 3D physics.
84
+ *
85
+ * @returns the world, or `nil` if the collection has no physics world
86
+ */
87
+ function get_world(): bullet3d.btDiscreteDynamicsWorld | undefined;
88
+ }
89
+ }
90
+
91
+ export {};