cluaupp 1.5.0 → 1.5.1

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 (323) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +10 -5
  3. package/api/CHANGELOG.md +3 -0
  4. package/api/chat.js +74 -0
  5. package/api/fixtures/roblox/README.md +6 -0
  6. package/api/fixtures/roblox/aux/sample.d.luau +6 -0
  7. package/api/fixtures/roblox/mini/Mini-API-Dump.json +72 -0
  8. package/api/generated/bench-latest.json +39 -0
  9. package/api/generated/capability-profile.json +76 -0
  10. package/api/generated/lsp-index.json +1 -0
  11. package/api/generated/luau/classes.d.luau +11221 -0
  12. package/api/generated/luau/datatypes.d.luau +327 -0
  13. package/api/generated/luau/enums.d.luau +4918 -0
  14. package/api/generated/luau/globals.d.luau +12 -0
  15. package/api/manifests/roblox-target.manifest.json +22 -0
  16. package/api/normalized/roblox-target.profile.json +237461 -0
  17. package/api/overrides/classes.json +8 -0
  18. package/api/overrides/compatibility.json +9 -0
  19. package/api/overrides/datatypes.json +1579 -0
  20. package/api/overrides/enums.json +8 -0
  21. package/api/overrides/globals.json +8 -0
  22. package/api/overrides/type-mappings.json +9 -0
  23. package/api/roblox-api.lock.json +9 -0
  24. package/data/Mini-API-Dump.json +1 -0
  25. package/editors/vscode/README.md +12 -10
  26. package/editors/vscode/extension.js +82 -0
  27. package/editors/vscode/icons/axiom.svg +4 -0
  28. package/editors/vscode/icons/bloom.svg +5 -0
  29. package/editors/vscode/icons/helm.svg +4 -0
  30. package/editors/vscode/icons/hive.svg +5 -0
  31. package/editors/vscode/icons/mint.svg +4 -0
  32. package/editors/vscode/icons/shift.svg +6 -0
  33. package/editors/vscode/language-configuration-schema.json +24 -0
  34. package/editors/vscode/package.json +172 -12
  35. package/editors/vscode/snippets/axiom.json +12 -0
  36. package/editors/vscode/snippets/bloom.json +12 -0
  37. package/editors/vscode/snippets/helm.json +12 -0
  38. package/editors/vscode/snippets/hive.json +12 -0
  39. package/editors/vscode/snippets/mint.json +12 -0
  40. package/editors/vscode/snippets/shift.json +17 -0
  41. package/editors/vscode/syntaxes/axiom.tmLanguage.json +5 -0
  42. package/editors/vscode/syntaxes/bloom.tmLanguage.json +5 -0
  43. package/editors/vscode/syntaxes/helm.tmLanguage.json +5 -0
  44. package/editors/vscode/syntaxes/hive.tmLanguage.json +5 -0
  45. package/editors/vscode/syntaxes/mint.tmLanguage.json +5 -0
  46. package/editors/vscode/syntaxes/schema.tmLanguage.json +89 -0
  47. package/editors/vscode/syntaxes/shift.tmLanguage.json +5 -0
  48. package/examples/game/.cluaupp/compile-cache/ReplicatedStorage__Shared__Constants__Datas__TemplateData.clh.json +1 -0
  49. package/examples/game/.cluaupp/compile-cache/ServerScriptService__Boot__DataBoot.server.clpp.json +1 -0
  50. package/examples/game/.cluaupp/compile-cache/ServerScriptService__Configuration__ServerConfig.clp.json +1 -0
  51. package/examples/game/.cluaupp/compile-cache/ServerScriptService__Handlers__Guard.server.clpp.json +1 -0
  52. package/examples/game/.cluaupp/compile-cache/ServerScriptService__Handlers__PlayerHandler.server.clpp.json +1 -0
  53. package/examples/game/.cluaupp/compile-cache/StarterPlayer__StarterCharacterScripts__Character__CharacterReady.client.clpp.json +1 -0
  54. package/examples/game/.cluaupp/compile-cache/StarterPlayer__StarterPlayerScripts__Controllers__DataController.client.clpp.json +1 -0
  55. package/examples/game/.cluaupp/compile-cache/index.json +12 -0
  56. package/examples/game/.cluaupp/datamodel-profile.json +94 -0
  57. package/examples/game/.vscode/settings.json +12 -1
  58. package/examples/game/include/clpp/datatypes.clh +337 -373
  59. package/examples/game/include/clpp/generated/datamodel.clh +25 -0
  60. package/examples/game/include/clpp/generated/enums.clh +1 -1
  61. package/examples/game/include/clpp/generated/instances.clh +41135 -41064
  62. package/examples/game/include/clpp/libs/axiom.clh +1 -1
  63. package/examples/game/include/clpp/libs/math.clh +14 -0
  64. package/examples/game/include/clpp/libs/spring.clh +17 -0
  65. package/examples/game/include/clpp/libs/ward.clh +1 -0
  66. package/examples/game/include/clpp/roblox.clh +3 -4
  67. package/examples/game/libs/ArrayIndexer/init.luau +209 -0
  68. package/examples/game/libs/Axiom/init.luau +608 -0
  69. package/examples/game/libs/Bloom/init.luau +433 -0
  70. package/examples/game/libs/Coil/init.luau +215 -0
  71. package/examples/game/libs/Crest/init.luau +426 -0
  72. package/examples/game/libs/Echo/init.luau +417 -0
  73. package/examples/game/libs/Ember/init.luau +365 -0
  74. package/examples/game/libs/Flare/init.luau +717 -0
  75. package/examples/game/libs/Gleam/init.luau +729 -0
  76. package/examples/game/libs/Guide/init.luau +215 -0
  77. package/examples/game/libs/Helm/init.luau +377 -0
  78. package/examples/game/libs/Hive/init.luau +241 -0
  79. package/examples/game/libs/Keep/Client.luau +114 -0
  80. package/examples/game/libs/Keep/Data.luau +883 -0
  81. package/examples/game/libs/Keep/Engine.luau +211 -0
  82. package/examples/game/libs/Keep/Enum.luau +6 -0
  83. package/examples/game/libs/Keep/Enums.luau +10 -0
  84. package/examples/game/libs/Keep/Path.luau +236 -0
  85. package/examples/game/libs/Keep/Replicator.luau +298 -0
  86. package/examples/game/libs/Keep/Server.luau +251 -0
  87. package/examples/game/libs/Keep/Store.luau +652 -0
  88. package/examples/game/libs/Keep/Trade.luau +455 -0
  89. package/examples/game/libs/Keep/init.luau +205 -0
  90. package/examples/game/libs/Lens/init.luau +609 -0
  91. package/examples/game/libs/Mint/init.luau +279 -0
  92. package/examples/game/libs/Net/init.luau +156 -0
  93. package/examples/game/libs/Net/src/codec.luau +224 -0
  94. package/examples/game/libs/Occlude/init.luau +117 -0
  95. package/examples/game/libs/Pin/init.luau +309 -0
  96. package/examples/game/libs/Promise/LICENSE +21 -0
  97. package/examples/game/libs/Promise/_impl/LICENSE +21 -0
  98. package/examples/game/libs/Promise/_impl/init.lua +1991 -0
  99. package/examples/game/libs/Promise/init.lua +1990 -0
  100. package/examples/game/libs/Promise/init.luau +13 -0
  101. package/examples/game/libs/Promise/types.luau +46 -0
  102. package/examples/game/libs/Roster/init.luau +686 -0
  103. package/examples/game/libs/SOURCES.md +31 -0
  104. package/examples/game/libs/Shift/init.luau +238 -0
  105. package/examples/game/libs/Spark/init.luau +487 -0
  106. package/examples/game/libs/Stage/init.luau +178 -0
  107. package/examples/game/libs/Sweep/init.luau +259 -0
  108. package/examples/game/libs/Trace/init.luau +213 -0
  109. package/examples/game/libs/Ward/init.luau +211 -0
  110. package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau +29 -0
  111. package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau.map.json +13 -0
  112. package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau +83 -0
  113. package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau.map.json +13 -0
  114. package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau +18 -0
  115. package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau.map.json +13 -0
  116. package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau +14 -0
  117. package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau.map.json +13 -0
  118. package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau +15 -0
  119. package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau.map.json +13 -0
  120. package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau +50 -0
  121. package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau.map.json +13 -0
  122. package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau +12 -0
  123. package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau.map.json +13 -0
  124. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau +16 -0
  125. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau.map.json +13 -0
  126. package/examples/game/src/ReplicatedStorage/Shared/Net/Net.clh +26 -0
  127. package/examples/game/src/ServerScriptService/Boot/DataBoot.server.clpp +1 -1
  128. package/examples/game/src/ServerScriptService/Handlers/PlayerHandler.server.clpp +1 -1
  129. package/examples/game/stylua.toml +9 -0
  130. package/generated/api/build-profile.js +115 -0
  131. package/generated/api/cache.js +44 -0
  132. package/generated/api/coverage.js +32 -0
  133. package/generated/api/diff.js +125 -0
  134. package/generated/api/generators/clpp-headers.js +353 -0
  135. package/generated/api/generators/docs-reference.js +7 -0
  136. package/generated/api/generators/lsp-index.js +81 -0
  137. package/generated/api/generators/luau-defs.js +94 -0
  138. package/generated/api/ide.js +76 -0
  139. package/generated/api/identifier.js +47 -0
  140. package/generated/api/index.js +324 -0
  141. package/generated/api/loader.js +57 -0
  142. package/generated/api/merge.js +88 -0
  143. package/generated/api/model.js +5 -0
  144. package/generated/api/normalize.js +231 -0
  145. package/generated/api/overrides-validate.js +58 -0
  146. package/generated/api/perf.js +12 -0
  147. package/generated/api/registry.js +136 -0
  148. package/generated/api/release.js +44 -0
  149. package/generated/api/resolver.js +250 -0
  150. package/generated/api/sources/aux-types-diff.js +75 -0
  151. package/generated/api/sources/client-tracker.js +11 -0
  152. package/generated/api/sources/creator-docs.js +42 -0
  153. package/generated/api/sources/luau-types.js +34 -0
  154. package/generated/api/sources/mini-dump.js +17 -0
  155. package/generated/api/sources/studio-api.js +8 -0
  156. package/generated/api/sources/studio-apiv2.js +11 -0
  157. package/generated/api/sources/studio-full-api.js +8 -0
  158. package/generated/api/studio-smoke.js +80 -0
  159. package/generated/api/type-parse.js +49 -0
  160. package/generated/api/understander.js +51 -0
  161. package/generated/api/validate.js +135 -0
  162. package/generated/api-cli.js +421 -0
  163. package/generated/cli.js +16 -5
  164. package/generated/clpp/contract.js +3 -3
  165. package/generated/clpp/format-luau.js +236 -0
  166. package/generated/clpp/index.js +13 -1
  167. package/generated/clpp/modules.js +227 -0
  168. package/generated/clpp/postprocess.js +86 -5
  169. package/generated/clpp/rewrite-janitor.js +145 -0
  170. package/generated/clpp/runner.js +14 -2
  171. package/generated/compile.js +82 -0
  172. package/generated/flare/parse.js +12 -1
  173. package/generated/intellisense.js +57 -1
  174. package/generated/native/index.js +217 -16
  175. package/generated/target/authority-check.js +136 -0
  176. package/generated/target/authority-graph.js +74 -0
  177. package/generated/target/build-cache.js +112 -0
  178. package/generated/target/capabilities.js +89 -0
  179. package/generated/target/capability-profile.js +30 -0
  180. package/generated/target/component-contracts.js +60 -0
  181. package/generated/target/context-check.js +160 -0
  182. package/generated/target/datamodel-check.js +170 -0
  183. package/generated/target/datamodel-generate.js +74 -0
  184. package/generated/target/datamodel.js +233 -0
  185. package/generated/target/diagnostics.js +63 -0
  186. package/generated/target/doctor.js +152 -0
  187. package/generated/target/flare-version.js +58 -0
  188. package/generated/target/get-service.js +69 -0
  189. package/generated/target/lifetime-check.js +47 -0
  190. package/generated/target/luau-stamp.js +39 -0
  191. package/generated/target/optimizer-advise.js +88 -0
  192. package/generated/target/optimizer-apply.js +44 -0
  193. package/generated/target/optimizer-soa.js +254 -0
  194. package/generated/target/parallel-check.js +136 -0
  195. package/generated/target/pgo.js +148 -0
  196. package/generated/target/project-docs.js +69 -0
  197. package/generated/target/project-graph.js +71 -0
  198. package/generated/target/roblox.js +63 -0
  199. package/generated/target/security-check.js +41 -0
  200. package/generated/target/source-map.js +25 -0
  201. package/generated/target/studio-bridge.js +112 -0
  202. package/generated/utils/project.js +178 -8
  203. package/generated/utils/rojo-mapper.js +11 -3
  204. package/include/clpp/datatypes.clh +337 -373
  205. package/include/clpp/generated/enums.clh +1 -1
  206. package/include/clpp/generated/instances.clh +41135 -41064
  207. package/include/clpp/libs/axiom.clh +1 -1
  208. package/include/clpp/libs/hive.clh +1 -0
  209. package/include/clpp/libs/keep.clh +2 -0
  210. package/include/clpp/libs/math.clh +14 -0
  211. package/include/clpp/libs/spring.clh +17 -0
  212. package/include/clpp/libs/ward.clh +1 -0
  213. package/include/clpp/roblox.clh +3 -4
  214. package/package.json +10 -3
  215. package/plugins/CluauppNav/Plugin.luau +207 -0
  216. package/plugins/CluauppNav/ProfileLogger.luau +27 -0
  217. package/plugins/CluauppNav/README.md +24 -0
  218. package/runtime/Axiom/init.luau +10 -7
  219. package/runtime/Coil/init.luau +8 -2
  220. package/runtime/Crest/init.luau +1 -0
  221. package/runtime/Flare/init.luau +2 -1
  222. package/runtime/Gleam/init.luau +15 -4
  223. package/runtime/Hive/init.luau +36 -14
  224. package/runtime/Pin/init.luau +5 -2
  225. package/runtime/Roster/init.luau +2 -0
  226. package/runtime/Spark/init.luau +3 -0
  227. package/runtime/Sweep/init.luau +2 -0
  228. package/runtime/Trace/init.luau +3 -0
  229. package/runtime/Ward/init.luau +38 -5
  230. package/scripts/postinstall-editor.js +17 -0
  231. package/skills/README.md +13 -0
  232. package/skills/clpp-hive-flare/SKILL.md +79 -0
  233. package/skills/clpp-language/SKILL.md +123 -0
  234. package/skills/clpp-language/compiler.md +89 -0
  235. package/skills/clpp-style/SKILL.md +95 -0
  236. package/src/api/build-profile.ts +138 -0
  237. package/src/api/cache.ts +45 -0
  238. package/src/api/coverage.ts +46 -0
  239. package/src/api/diff.ts +143 -0
  240. package/src/api/generators/clpp-headers.ts +377 -0
  241. package/src/api/generators/docs-reference.ts +11 -0
  242. package/src/api/generators/lsp-index.ts +106 -0
  243. package/src/api/generators/luau-defs.ts +98 -0
  244. package/src/api/ide.ts +87 -0
  245. package/src/api/identifier.ts +47 -0
  246. package/src/api/index.ts +269 -0
  247. package/src/api/loader.ts +60 -0
  248. package/src/api/merge.ts +126 -0
  249. package/src/api/model.ts +283 -0
  250. package/src/api/normalize.ts +257 -0
  251. package/src/api/overrides-validate.ts +58 -0
  252. package/src/api/perf.ts +15 -0
  253. package/src/api/registry.ts +162 -0
  254. package/src/api/release.ts +47 -0
  255. package/src/api/resolver.ts +255 -0
  256. package/src/api/sources/aux-types-diff.ts +81 -0
  257. package/src/api/sources/client-tracker.ts +10 -0
  258. package/src/api/sources/creator-docs.ts +37 -0
  259. package/src/api/sources/luau-types.ts +30 -0
  260. package/src/api/sources/mini-dump.ts +50 -0
  261. package/src/api/sources/studio-api.ts +7 -0
  262. package/src/api/sources/studio-apiv2.ts +10 -0
  263. package/src/api/sources/studio-full-api.ts +7 -0
  264. package/src/api/studio-smoke.ts +82 -0
  265. package/src/api/type-parse.ts +48 -0
  266. package/src/api/understander.ts +72 -0
  267. package/src/api/validate.ts +160 -0
  268. package/src/api-cli.ts +493 -0
  269. package/src/api.generated.js +37 -22
  270. package/src/cli.ts +21 -6
  271. package/src/clpp/contract.ts +34 -3
  272. package/src/clpp/format-luau.ts +262 -0
  273. package/src/clpp/index.ts +13 -2
  274. package/src/clpp/modules.ts +252 -0
  275. package/src/clpp/postprocess.ts +100 -5
  276. package/src/clpp/rewrite-janitor.ts +156 -0
  277. package/src/clpp/runner.ts +14 -2
  278. package/src/compile.ts +87 -0
  279. package/src/flare/parse.ts +14 -1
  280. package/src/flare/types.ts +2 -0
  281. package/src/intellisense.ts +58 -1
  282. package/src/native/index.ts +225 -16
  283. package/src/target/authority-check.ts +162 -0
  284. package/src/target/authority-graph.ts +80 -0
  285. package/src/target/build-cache.ts +129 -0
  286. package/src/target/capabilities.ts +115 -0
  287. package/src/target/capability-profile.ts +25 -0
  288. package/src/target/component-contracts.ts +64 -0
  289. package/src/target/context-check.ts +177 -0
  290. package/src/target/datamodel-check.ts +188 -0
  291. package/src/target/datamodel-generate.ts +78 -0
  292. package/src/target/datamodel.ts +261 -0
  293. package/src/target/diagnostics.ts +67 -0
  294. package/src/target/doctor.ts +171 -0
  295. package/src/target/flare-version.ts +61 -0
  296. package/src/target/get-service.ts +85 -0
  297. package/src/target/lifetime-check.ts +45 -0
  298. package/src/target/luau-stamp.ts +33 -0
  299. package/src/target/optimizer-advise.ts +93 -0
  300. package/src/target/optimizer-apply.ts +63 -0
  301. package/src/target/optimizer-soa.ts +270 -0
  302. package/src/target/parallel-check.ts +135 -0
  303. package/src/target/pgo.ts +157 -0
  304. package/src/target/project-docs.ts +68 -0
  305. package/src/target/project-graph.ts +75 -0
  306. package/src/target/roblox.ts +78 -0
  307. package/src/target/security-check.ts +40 -0
  308. package/src/target/source-map.ts +36 -0
  309. package/src/target/studio-bridge.ts +140 -0
  310. package/src/types.ts +14 -0
  311. package/src/utils/project.ts +183 -9
  312. package/src/utils/rojo-mapper.ts +12 -3
  313. package/stylua.toml +9 -0
  314. package/templates/game/.vscode/settings.json +7 -1
  315. package/templates/game/include/clpp/datatypes.clh +337 -373
  316. package/templates/game/include/clpp/generated/enums.clh +1 -1
  317. package/templates/game/include/clpp/generated/instances.clh +41135 -41064
  318. package/templates/game/include/clpp/libs/axiom.clh +1 -1
  319. package/templates/game/include/clpp/libs/ward.clh +1 -0
  320. package/templates/game/include/clpp/roblox.clh +3 -4
  321. package/templates/game/src/ServerScriptService/Boot/DataBoot.server.clpp +1 -1
  322. package/templates/game/src/ServerScriptService/Handlers/PlayerHandler.server.clpp +1 -1
  323. package/templates/game/stylua.toml +9 -0
@@ -27,7 +27,10 @@ struct Player;
27
27
  // Stand-in for values the C++ IntelliSense stubs cannot name precisely.
28
28
  struct LuauValue {
29
29
  LuauValue();
30
- LuauValue(auto value);
30
+ template <typename T>
31
+ LuauValue(const T&);
32
+ template <typename T>
33
+ operator T() const;
31
34
  };
32
35
 
33
36
  template <typename T>
@@ -40,75 +43,47 @@ struct LuaArray {
40
43
  T operator[](int index) const;
41
44
  };
42
45
 
43
- // 3D point or direction. Luau: Vector3.new(x, y, z).
44
- struct Vector3 {
45
- double X;
46
- double Y;
47
- double Z;
48
- double Magnitude;
49
- Vector3();
50
- Vector3(double x, double y, double z);
51
- static Vector3 zero;
52
- static Vector3 one;
53
- static Vector3 xAxis;
54
- static Vector3 yAxis;
55
- static Vector3 zAxis;
56
- static Vector3 FromNormalId(NormalId normal);
57
- static Vector3 FromAxis(Axis axis);
58
- Vector3 Unit();
59
- Vector3 Abs();
60
- Vector3 Ceil();
61
- Vector3 Floor();
62
- Vector3 Sign();
63
- Vector3 Cross(Vector3 other);
64
- double Dot(Vector3 other);
65
- Vector3 Lerp(Vector3 goal, double alpha);
66
- Vector3 Max(Vector3 other);
67
- Vector3 Min(Vector3 other);
68
- bool FuzzyEq(Vector3 other, double epsilon);
69
- double Angle(Vector3 other);
70
- };
71
-
72
- // 2D point or direction. Luau: Vector2.new(x, y).
73
- struct Vector2 {
74
- double X;
75
- double Y;
76
- double Magnitude;
77
- Vector2();
78
- Vector2(double x, double y);
79
- static Vector2 zero;
80
- static Vector2 one;
81
- static Vector2 xAxis;
82
- static Vector2 yAxis;
83
- Vector2 Unit();
84
- Vector2 Abs();
85
- Vector2 Ceil();
86
- Vector2 Floor();
87
- Vector2 Sign();
88
- double Cross(Vector2 other);
89
- double Dot(Vector2 other);
90
- Vector2 Lerp(Vector2 goal, double alpha);
91
- Vector2 Max(Vector2 other);
92
- Vector2 Min(Vector2 other);
93
- bool FuzzyEq(Vector2 other, double epsilon);
94
- double Angle(Vector2 other);
46
+ // Axes
47
+ struct Axes {
48
+ bool X;
49
+ bool Y;
50
+ bool Z;
51
+ bool Top;
52
+ bool Bottom;
53
+ bool Left;
54
+ bool Right;
55
+ bool Front;
56
+ bool Back;
57
+ Axes();
95
58
  };
96
59
 
97
- // Vector3 with 16-bit integers.
98
- struct Vector3int16 {
99
- int X;
100
- int Y;
101
- int Z;
102
- Vector3int16();
103
- Vector3int16(int x, int y, int z);
60
+ // BinaryString
61
+ struct BinaryString {
62
+ BinaryString();
104
63
  };
105
64
 
106
- // Vector2 with 16-bit integers.
107
- struct Vector2int16 {
108
- int X;
109
- int Y;
110
- Vector2int16();
111
- Vector2int16(int x, int y);
65
+ // Named Roblox color. BrickColor.new(name) or BrickColor.new(r,g,b).
66
+ struct BrickColor {
67
+ int Number;
68
+ string Name;
69
+ Color3 Color;
70
+ double r;
71
+ double g;
72
+ double b;
73
+ BrickColor(string name);
74
+ BrickColor(int palette);
75
+ BrickColor(double r, double g, double b);
76
+ BrickColor(Color3 color);
77
+ static BrickColor White;
78
+ static BrickColor Gray;
79
+ static BrickColor DarkGray;
80
+ static BrickColor Black;
81
+ static BrickColor Red;
82
+ static BrickColor Yellow;
83
+ static BrickColor Green;
84
+ static BrickColor Blue;
85
+ static BrickColor palette(int index);
86
+ static BrickColor random();
112
87
  };
113
88
 
114
89
  // 3D position + rotation. Luau: CFrame.new(...) / CFrame.lookAt(...).
@@ -154,26 +129,17 @@ struct CFrame {
154
129
  bool FuzzyEq(CFrame other, double epsilon);
155
130
  };
156
131
 
157
- // 1D scale + offset (GUI). Luau: UDim.new(scale, offset).
158
- struct UDim {
159
- double Scale;
160
- double Offset;
161
- UDim();
162
- UDim(double scale, double offset);
163
- };
164
-
165
- // 2D scale + offset (GUI). Luau: UDim2.new / UDim2.fromScale / UDim2.fromOffset.
166
- struct UDim2 {
167
- UDim X;
168
- UDim Y;
169
- UDim Width;
170
- UDim Height;
171
- UDim2();
172
- UDim2(double xScale, double xOffset, double yScale, double yOffset);
173
- UDim2(UDim x, UDim y);
174
- static UDim2 fromScale(double x, double y);
175
- static UDim2 fromOffset(double x, double y);
176
- UDim2 Lerp(UDim2 goal, double alpha);
132
+ // CatalogSearchParams
133
+ struct CatalogSearchParams {
134
+ string SearchKeyword;
135
+ int MinPrice;
136
+ int MaxPrice;
137
+ CatalogSortType SortType;
138
+ CatalogSortAggregation SortAggregation;
139
+ CatalogCategoryFilter CategoryFilter;
140
+ SalesTypeFilter SalesTypeFilter;
141
+ int Limit;
142
+ CatalogSearchParams();
177
143
  };
178
144
 
179
145
  // RGB color 0–1. Luau: Color3.new / Color3.fromRGB / Color3.fromHSV / Color3.fromHex.
@@ -191,146 +157,142 @@ struct Color3 {
191
157
  string ToHex();
192
158
  };
193
159
 
194
- // Named Roblox color. BrickColor.new(name) or BrickColor.new(r,g,b).
195
- struct BrickColor {
196
- int Number;
197
- string Name;
198
- Color3 Color;
199
- double r;
200
- double g;
201
- double b;
202
- BrickColor(string name);
203
- BrickColor(int palette);
204
- BrickColor(double r, double g, double b);
205
- BrickColor(Color3 color);
206
- static BrickColor White;
207
- static BrickColor Gray;
208
- static BrickColor DarkGray;
209
- static BrickColor Black;
210
- static BrickColor Red;
211
- static BrickColor Yellow;
212
- static BrickColor Green;
213
- static BrickColor Blue;
214
- static BrickColor palette(int index);
215
- static BrickColor random();
160
+ // Color3 curve over time.
161
+ struct ColorSequence {
162
+ ColorSequenceKeypoint Keypoints;
163
+ ColorSequence(Color3 color);
164
+ ColorSequence(Color3 c0, Color3 c1);
216
165
  };
217
166
 
218
- // 2D rectangle. Rect.new(min, max) or Rect.new(x0,y0,x1,y1).
219
- struct Rect {
220
- Vector2 Min;
221
- Vector2 Max;
222
- double Width;
223
- double Height;
224
- Rect(Vector2 min, Vector2 max);
225
- Rect(double x0, double y0, double x1, double y1);
167
+ // ColorSequenceKeypoint
168
+ struct ColorSequenceKeypoint {
169
+ double Time;
170
+ Color3 Value;
171
+ double Envelope;
172
+ ColorSequenceKeypoint(double time, Color3 color);
226
173
  };
227
174
 
228
- // 3D ray. Ray.new(origin, direction).
229
- struct Ray {
230
- Vector3 Origin;
231
- Vector3 Direction;
232
- Ray(Vector3 origin, Vector3 direction);
233
- Ray Unit();
234
- Vector3 ClosestPoint(Vector3 point);
235
- double Distance(Vector3 point);
175
+ // Asset reference (replaces several ContentId uses).
176
+ struct Content {
177
+ Content();
178
+ static Content fromUri(string uri);
179
+ static Content fromAssetId(long long assetId);
236
180
  };
237
181
 
238
- // Filters for WorldRoot:Raycast.
239
- struct RaycastParams {
240
- LuaArray<Instance> FilterDescendantsInstances;
241
- RaycastFilterType FilterType;
242
- bool IgnoreWater;
243
- string CollisionGroup;
244
- bool RespectCanCollide;
245
- bool BruteForceAllSlow;
246
- RaycastParams();
182
+ // ContentId
183
+ struct ContentId {
184
+ ContentId(string uri);
247
185
  };
248
186
 
249
- // Result of a raycast.
250
- struct RaycastResult {
251
- Instance Instance;
252
- Vector3 Position;
253
- Vector3 Normal;
254
- double Distance;
255
- string Material;
187
+ // UTC instant. DateTime.now() / DateTime.fromUnixTimestamp().
188
+ struct DateTime {
189
+ double UnixTimestamp;
190
+ double UnixTimestampMillis;
191
+ static DateTime now();
192
+ static DateTime fromUnixTimestamp(double unixTimestamp);
193
+ static DateTime fromUnixTimestampMillis(double unixTimestampMillis);
194
+ static DateTime fromUniversalTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
195
+ static DateTime fromLocalTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
196
+ static DateTime fromIsoDate(string isoDate);
197
+ void ToUniversalTime();
198
+ void ToLocalTime();
199
+ string ToIsoDate();
200
+ string FormatUniversalTime(string format, string locale);
201
+ string FormatLocalTime(string format, string locale);
256
202
  };
257
203
 
258
- // Filters for GetPartBoundsInBox / GetPartsInPart.
259
- struct OverlapParams {
260
- LuaArray<Instance> FilterDescendantsInstances;
261
- RaycastFilterType FilterType;
262
- int MaxParts;
263
- string CollisionGroup;
264
- bool RespectCanCollide;
265
- bool BruteForceAllSlow;
266
- OverlapParams();
204
+ // DockWidgetPluginGuiInfo
205
+ struct DockWidgetPluginGuiInfo {
206
+ DockWidgetPluginGuiInfo();
267
207
  };
268
208
 
269
- // Numeric interval. NumberRange.new(min, max).
270
- struct NumberRange {
271
- double Min;
272
- double Max;
273
- NumberRange(double value);
274
- NumberRange(double min, double max);
209
+ // Faces
210
+ struct Faces {
211
+ bool Top;
212
+ bool Bottom;
213
+ bool Left;
214
+ bool Right;
215
+ bool Front;
216
+ bool Back;
217
+ Faces();
275
218
  };
276
219
 
277
- // NumberSequenceKeypoint
278
- struct NumberSequenceKeypoint {
220
+ // FloatCurveKey
221
+ struct FloatCurveKey {
279
222
  double Time;
280
223
  double Value;
281
- double Envelope;
282
- NumberSequenceKeypoint(double time, double value);
283
- NumberSequenceKeypoint(double time, double value, double envelope);
224
+ KeyInterpolationMode Interpolation;
225
+ FloatCurveKey(double time, double value);
284
226
  };
285
227
 
286
- // Number curve over time (0–1).
287
- struct NumberSequence {
288
- NumberSequenceKeypoint* Keypoints;
228
+ // UI font. Font.new(family, weight, style).
229
+ struct Font {
230
+ string Family;
231
+ FontWeight Weight;
232
+ FontStyle Style;
233
+ bool Bold;
234
+ Font(string family);
235
+ Font(string family, FontWeight weight, FontStyle style);
236
+ static Font fromEnum(Font enumFont);
237
+ static Font fromName(string name);
238
+ static Font fromId(long long id);
239
+ };
240
+
241
+ // Numeric interval. NumberRange.new(min, max).
242
+ struct NumberRange {
243
+ double Min;
244
+ double Max;
245
+ NumberRange(double value);
246
+ NumberRange(double min, double max);
247
+ };
248
+
249
+ // Number curve over time (0–1).
250
+ struct NumberSequence {
251
+ NumberSequenceKeypoint Keypoints;
289
252
  NumberSequence(double value);
290
253
  NumberSequence(double n0, double n1);
291
254
  };
292
255
 
293
- // ColorSequenceKeypoint
294
- struct ColorSequenceKeypoint {
256
+ // NumberSequenceKeypoint
257
+ struct NumberSequenceKeypoint {
295
258
  double Time;
296
- Color3 Value;
259
+ double Value;
297
260
  double Envelope;
298
- ColorSequenceKeypoint(double time, Color3 color);
261
+ NumberSequenceKeypoint(double time, double value);
262
+ NumberSequenceKeypoint(double time, double value, double envelope);
299
263
  };
300
264
 
301
- // Color3 curve over time.
302
- struct ColorSequence {
303
- ColorSequenceKeypoint* Keypoints;
304
- ColorSequence(Color3 color);
305
- ColorSequence(Color3 c0, Color3 c1);
265
+ // OptionalCoordinateFrame
266
+ struct OptionalCoordinateFrame {
267
+ OptionalCoordinateFrame();
306
268
  };
307
269
 
308
- // Parameters for TweenService:Create.
309
- struct TweenInfo {
310
- double Time;
311
- Enum::EasingStyle EasingStyle;
312
- Enum::EasingDirection EasingDirection;
313
- int RepeatCount;
314
- bool Reverses;
315
- double DelayTime;
316
- TweenInfo();
317
- TweenInfo(double time);
318
- TweenInfo(double time, Enum::EasingStyle style);
319
- TweenInfo(double time, Enum::EasingStyle style, Enum::EasingDirection direction);
320
- TweenInfo(double time, Enum::EasingStyle style, Enum::EasingDirection direction, int repeatCount, bool reverses, double delayTime);
270
+ // Filters for GetPartBoundsInBox / GetPartsInPart.
271
+ struct OverlapParams {
272
+ array<Instance> FilterDescendantsInstances;
273
+ RaycastFilterType FilterType;
274
+ int MaxParts;
275
+ string CollisionGroup;
276
+ bool RespectCanCollide;
277
+ bool BruteForceAllSlow;
278
+ OverlapParams();
321
279
  };
322
280
 
323
- // UI font. Font.new(family, weight, style).
324
- struct Font {
325
- string Family;
326
- FontWeight Weight;
327
- FontStyle Style;
328
- bool Bold;
329
- Font(string family);
330
- Font(string family, FontWeight weight, FontStyle style);
331
- static Font fromEnum(Font enumFont);
332
- static Font fromName(string name);
333
- static Font fromId(long long id);
281
+ // Path2DControlPoint
282
+ struct Path2DControlPoint {
283
+ UDim2 Position;
284
+ UDim2 LeftTangent;
285
+ UDim2 RightTangent;
286
+ Path2DControlPoint();
287
+ };
288
+
289
+ // PathWaypoint
290
+ struct PathWaypoint {
291
+ Vector3 Position;
292
+ PathWaypointAction Action;
293
+ string Label;
294
+ PathWaypoint(Vector3 position, PathWaypointAction action);
295
+ PathWaypoint(Vector3 position, PathWaypointAction action, string label);
334
296
  };
335
297
 
336
298
  // Density, friction, and elasticity of a BasePart.
@@ -346,36 +308,26 @@ struct PhysicalProperties {
346
308
  PhysicalProperties(double density, double friction, double elasticity, double frictionWeight, double elasticityWeight);
347
309
  };
348
310
 
349
- // Axis-aligned box. Region3.new(min, max).
350
- struct Region3 {
351
- CFrame CFrame;
352
- Vector3 Size;
353
- Region3(Vector3 min, Vector3 max);
354
- Region3 ExpandToGrid(double resolution);
311
+ // ProtectedString
312
+ struct ProtectedString {
313
+ ProtectedString();
355
314
  };
356
315
 
357
- // Region3int16
358
- struct Region3int16 {
359
- Vector3int16 Min;
360
- Vector3int16 Max;
361
- Region3int16(Vector3int16 min, Vector3int16 max);
316
+ // RBXScriptConnection
317
+ struct RBXScriptConnection {
318
+ bool Connected;
319
+ void Disconnect();
362
320
  };
363
321
 
364
- // UTC instant. DateTime.now() / DateTime.fromUnixTimestamp().
365
- struct DateTime {
366
- double UnixTimestamp;
367
- double UnixTimestampMillis;
368
- static DateTime now();
369
- static DateTime fromUnixTimestamp(double unixTimestamp);
370
- static DateTime fromUnixTimestampMillis(double unixTimestampMillis);
371
- static DateTime fromUniversalTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
372
- static DateTime fromLocalTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
373
- static DateTime fromIsoDate(string isoDate);
374
- void ToUniversalTime();
375
- void ToLocalTime();
376
- string ToIsoDate();
377
- string FormatUniversalTime(string format, string locale);
378
- string FormatLocalTime(string format, string locale);
322
+ // Event. PlayerAdded.Connect(callback) — F matches any listener arity.
323
+ struct RBXScriptSignal {
324
+ template <typename F>
325
+ RBXScriptConnection Connect(F callback);
326
+ template <typename F>
327
+ RBXScriptConnection Once(F callback);
328
+ template <typename F>
329
+ RBXScriptConnection ConnectParallel(F callback);
330
+ LuauValue Wait();
379
331
  };
380
332
 
381
333
  // RNG. Random.new(seed).
@@ -389,78 +341,59 @@ struct Random {
389
341
  void Shuffle();
390
342
  };
391
343
 
392
- // PathWaypoint
393
- struct PathWaypoint {
394
- Vector3 Position;
395
- PathWaypointAction Action;
396
- string Label;
397
- PathWaypoint(Vector3 position, PathWaypointAction action);
398
- PathWaypoint(Vector3 position, PathWaypointAction action, string label);
399
- };
400
-
401
- // Faces
402
- struct Faces {
403
- bool Top;
404
- bool Bottom;
405
- bool Left;
406
- bool Right;
407
- bool Front;
408
- bool Back;
409
- Faces();
410
- };
411
-
412
- // Axes
413
- struct Axes {
414
- bool X;
415
- bool Y;
416
- bool Z;
417
- bool Top;
418
- bool Bottom;
419
- bool Left;
420
- bool Right;
421
- bool Front;
422
- bool Back;
423
- Axes();
344
+ // 3D ray. Ray.new(origin, direction).
345
+ struct Ray {
346
+ Vector3 Origin;
347
+ Vector3 Direction;
348
+ Ray(Vector3 origin, Vector3 direction);
349
+ Ray Unit();
350
+ Vector3 ClosestPoint(Vector3 point);
351
+ double Distance(Vector3 point);
424
352
  };
425
353
 
426
- // RBXScriptConnection
427
- struct RBXScriptConnection {
428
- bool Connected;
429
- void Disconnect();
354
+ // Filters for WorldRoot:Raycast.
355
+ struct RaycastParams {
356
+ array<Instance> FilterDescendantsInstances;
357
+ RaycastFilterType FilterType;
358
+ bool IgnoreWater;
359
+ string CollisionGroup;
360
+ bool RespectCanCollide;
361
+ bool BruteForceAllSlow;
362
+ RaycastParams();
430
363
  };
431
364
 
432
- // Event. PlayerAdded.Connect(callback) — F matches any listener arity.
433
- struct RBXScriptSignal {
434
- RBXScriptConnection Connect(func callback);
435
- RBXScriptConnection Once(func callback);
436
- RBXScriptConnection ConnectParallel(func callback);
437
- LuauValue Wait();
365
+ // Result of a raycast.
366
+ struct RaycastResult {
367
+ Instance Instance;
368
+ Vector3 Position;
369
+ Vector3 Normal;
370
+ double Distance;
371
+ string Material;
438
372
  };
439
373
 
440
- // CatalogSearchParams
441
- struct CatalogSearchParams {
442
- string SearchKeyword;
443
- int MinPrice;
444
- int MaxPrice;
445
- CatalogSortType SortType;
446
- CatalogSortAggregation SortAggregation;
447
- CatalogCategoryFilter CategoryFilter;
448
- SalesTypeFilter SalesTypeFilter;
449
- int Limit;
450
- CatalogSearchParams();
374
+ // 2D rectangle. Rect.new(min, max) or Rect.new(x0,y0,x1,y1).
375
+ struct Rect {
376
+ Vector2 Min;
377
+ Vector2 Max;
378
+ double Width;
379
+ double Height;
380
+ Rect(Vector2 min, Vector2 max);
381
+ Rect(double x0, double y0, double x1, double y1);
451
382
  };
452
383
 
453
- // DockWidgetPluginGuiInfo
454
- struct DockWidgetPluginGuiInfo {
455
- DockWidgetPluginGuiInfo();
384
+ // Axis-aligned box. Region3.new(min, max).
385
+ struct Region3 {
386
+ CFrame CFrame;
387
+ Vector3 Size;
388
+ Region3(Vector3 min, Vector3 max);
389
+ Region3 ExpandToGrid(double resolution);
456
390
  };
457
391
 
458
- // FloatCurveKey
459
- struct FloatCurveKey {
460
- double Time;
461
- double Value;
462
- KeyInterpolationMode Interpolation;
463
- FloatCurveKey(double time, double value);
392
+ // Region3int16
393
+ struct Region3int16 {
394
+ Vector3int16 Min;
395
+ Vector3int16 Max;
396
+ Region3int16(Vector3int16 min, Vector3int16 max);
464
397
  };
465
398
 
466
399
  // RotationCurveKey
@@ -471,24 +404,19 @@ struct RotationCurveKey {
471
404
  RotationCurveKey(double time, CFrame value);
472
405
  };
473
406
 
474
- // Path2DControlPoint
475
- struct Path2DControlPoint {
476
- UDim2 Position;
477
- UDim2 LeftTangent;
478
- UDim2 RightTangent;
479
- Path2DControlPoint();
407
+ // Secret
408
+ struct Secret {
409
+ Secret();
480
410
  };
481
411
 
482
- // Asset reference (replaces several ContentId uses).
483
- struct Content {
484
- Content();
485
- static Content fromUri(string uri);
486
- static Content fromAssetId(long long assetId);
412
+ // SecurityCapabilities
413
+ struct SecurityCapabilities {
414
+ SecurityCapabilities();
487
415
  };
488
416
 
489
- // ContentId
490
- struct ContentId {
491
- ContentId(string uri);
417
+ // SharedString
418
+ struct SharedString {
419
+ SharedString();
492
420
  };
493
421
 
494
422
  // SharedTable
@@ -496,9 +424,117 @@ struct SharedTable {
496
424
  SharedTable();
497
425
  };
498
426
 
499
- // Secret
500
- struct Secret {
501
- Secret();
427
+ // Parameters for TweenService:Create.
428
+ struct TweenInfo {
429
+ double Time;
430
+ Enum::EasingStyle EasingStyle;
431
+ Enum::EasingDirection EasingDirection;
432
+ int RepeatCount;
433
+ bool Reverses;
434
+ double DelayTime;
435
+ TweenInfo();
436
+ TweenInfo(double time);
437
+ TweenInfo(double time, Enum::EasingStyle style);
438
+ TweenInfo(double time, Enum::EasingStyle style, Enum::EasingDirection direction);
439
+ TweenInfo(double time, Enum::EasingStyle style, Enum::EasingDirection direction, int repeatCount, bool reverses, double delayTime);
440
+ };
441
+
442
+ // 1D scale + offset (GUI). Luau: UDim.new(scale, offset).
443
+ struct UDim {
444
+ double Scale;
445
+ double Offset;
446
+ UDim();
447
+ UDim(double scale, double offset);
448
+ };
449
+
450
+ // 2D scale + offset (GUI). Luau: UDim2.new / UDim2.fromScale / UDim2.fromOffset.
451
+ struct UDim2 {
452
+ UDim X;
453
+ UDim Y;
454
+ UDim Width;
455
+ UDim Height;
456
+ UDim2();
457
+ UDim2(double xScale, double xOffset, double yScale, double yOffset);
458
+ UDim2(UDim x, UDim y);
459
+ static UDim2 fromScale(double x, double y);
460
+ static UDim2 fromOffset(double x, double y);
461
+ UDim2 Lerp(UDim2 goal, double alpha);
462
+ };
463
+
464
+ // UniqueId
465
+ struct UniqueId {
466
+ UniqueId();
467
+ };
468
+
469
+ // 2D point or direction. Luau: Vector2.new(x, y).
470
+ struct Vector2 {
471
+ double X;
472
+ double Y;
473
+ double Magnitude;
474
+ Vector2();
475
+ Vector2(double x, double y);
476
+ static Vector2 zero;
477
+ static Vector2 one;
478
+ static Vector2 xAxis;
479
+ static Vector2 yAxis;
480
+ Vector2 Unit();
481
+ Vector2 Abs();
482
+ Vector2 Ceil();
483
+ Vector2 Floor();
484
+ Vector2 Sign();
485
+ double Cross(Vector2 other);
486
+ double Dot(Vector2 other);
487
+ Vector2 Lerp(Vector2 goal, double alpha);
488
+ Vector2 Max(Vector2 other);
489
+ Vector2 Min(Vector2 other);
490
+ bool FuzzyEq(Vector2 other, double epsilon);
491
+ double Angle(Vector2 other);
492
+ };
493
+
494
+ // Vector2 with 16-bit integers.
495
+ struct Vector2int16 {
496
+ int X;
497
+ int Y;
498
+ Vector2int16();
499
+ Vector2int16(int x, int y);
500
+ };
501
+
502
+ // 3D point or direction. Luau: Vector3.new(x, y, z).
503
+ struct Vector3 {
504
+ double X;
505
+ double Y;
506
+ double Z;
507
+ double Magnitude;
508
+ Vector3();
509
+ Vector3(double x, double y, double z);
510
+ static Vector3 zero;
511
+ static Vector3 one;
512
+ static Vector3 xAxis;
513
+ static Vector3 yAxis;
514
+ static Vector3 zAxis;
515
+ static Vector3 FromNormalId(NormalId normal);
516
+ static Vector3 FromAxis(Axis axis);
517
+ Vector3 Unit();
518
+ Vector3 Abs();
519
+ Vector3 Ceil();
520
+ Vector3 Floor();
521
+ Vector3 Sign();
522
+ Vector3 Cross(Vector3 other);
523
+ double Dot(Vector3 other);
524
+ Vector3 Lerp(Vector3 goal, double alpha);
525
+ Vector3 Max(Vector3 other);
526
+ Vector3 Min(Vector3 other);
527
+ bool FuzzyEq(Vector3 other, double epsilon);
528
+ double Angle(Vector3 other);
529
+ };
530
+
531
+ // Vector3 with 16-bit integers.
532
+ struct Vector3int16 {
533
+ int X;
534
+ int Y;
535
+ int Z;
536
+ Vector3int16();
537
+ Vector3int16(int x, int y, int z);
502
538
  };
503
539
 
504
540
  // Luau binary buffer. Library + type: buffer::create, buffer::writeu32, buffer::readf64.
@@ -537,75 +573,3 @@ struct buffer {
537
573
  static void writestring(buffer b, int offset, string value, int count);
538
574
  static void writebits(buffer b, int bitOffset, int bitCount, int value);
539
575
  };
540
-
541
- // BinaryString
542
- struct BinaryString {
543
- BinaryString();
544
- };
545
-
546
- // SharedString
547
- struct SharedString {
548
- SharedString();
549
- };
550
-
551
- // UniqueId
552
- struct UniqueId {
553
- UniqueId();
554
- };
555
-
556
- // ProtectedString
557
- struct ProtectedString {
558
- ProtectedString();
559
- };
560
-
561
- // OptionalCoordinateFrame
562
- struct OptionalCoordinateFrame {
563
- OptionalCoordinateFrame();
564
- };
565
-
566
- // SecurityCapabilities
567
- struct SecurityCapabilities {
568
- SecurityCapabilities();
569
- };
570
-
571
- struct AdReward {};
572
-
573
- struct AnimTrackMetadata {};
574
-
575
- struct AnimTrackPlayState {};
576
-
577
- struct AnimTrackWeight {};
578
-
579
- struct AssetContentMap {};
580
-
581
- struct CSGPropertyData {};
582
-
583
- struct ClipEvaluator {};
584
-
585
- struct CollectionHandle {};
586
-
587
- struct Color3uint8 {};
588
-
589
- struct CoordinateFrame {};
590
-
591
- struct FacsReplicationData {};
592
-
593
- struct InstanceRef {};
594
-
595
- struct NetAssetRef {};
596
-
597
- struct OpenCloudModel {};
598
-
599
- struct QDir {};
600
-
601
- struct QFont {};
602
-
603
- struct ReplicationPV {};
604
-
605
- struct ScopedInstanceIdentity {};
606
-
607
- struct SystemAddress {};
608
-
609
- struct ValueCurveKey {};
610
-
611
- struct WebViewParams {};