cluaupp 1.5.2-cf → 2.0.0-beta.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 (190) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README.md +26 -39
  3. package/api/generated/bench-latest.json +43 -21
  4. package/api/generated/lsp-index.json +1 -1
  5. package/api/manifests/roblox-target.manifest.json +5 -5
  6. package/api/normalized/roblox-target.profile.json +8729 -267
  7. package/api/roblox/luau-builtins.d.luau +185 -0
  8. package/api/roblox/surface.json +1 -0
  9. package/api/roblox-api.lock.json +11 -2
  10. package/bin/cluaupp.js +3 -1
  11. package/editors/vscode/syntaxes/clpp.tmLanguage.json +142 -21
  12. package/examples/README.md +9 -9
  13. package/examples/game/cluaupp.config.json +2 -2
  14. package/examples/game/default.project.json +4 -15
  15. package/examples/game/out/ReplicatedStorage/Shared/GameInfo.luau +8 -0
  16. package/examples/game/out/ReplicatedStorage/Shared/GameInfo.luau.map.json +13 -0
  17. package/examples/game/out/ServerScriptService/Leaderstats.server.luau +26 -0
  18. package/examples/game/out/ServerScriptService/Leaderstats.server.luau.map.json +13 -0
  19. package/examples/game/out/ServerScriptService/Main.server.luau +15 -0
  20. package/examples/game/out/ServerScriptService/Main.server.luau.map.json +13 -0
  21. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Main.client.luau +10 -0
  22. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Main.client.luau.map.json +13 -0
  23. package/examples/game/src/ReplicatedStorage/Shared/GameInfo.clp +1 -0
  24. package/examples/game/src/ServerScriptService/Leaderstats.server.clp +18 -0
  25. package/examples/game/src/ServerScriptService/Main.server.clp +9 -0
  26. package/examples/game/src/StarterPlayer/StarterPlayerScripts/Main.client.clp +4 -0
  27. package/generated/api/build-profile.js +1 -1
  28. package/generated/api/loader.js +2 -2
  29. package/generated/api/surface/build.js +328 -0
  30. package/generated/api/surface/luau-defs.js +595 -0
  31. package/generated/api/surface/model.js +8 -0
  32. package/generated/clpp/contract.js +6 -3
  33. package/generated/clpp/handshake.js +36 -0
  34. package/generated/clpp/modules.js +20 -9
  35. package/generated/clpp/runner.js +62 -31
  36. package/generated/compile.js +18 -1
  37. package/generated/compiler/ast.js +3 -0
  38. package/generated/compiler/checker/calls.js +999 -0
  39. package/generated/compiler/checker/checker.js +1215 -0
  40. package/generated/compiler/checker/exprs.js +791 -0
  41. package/generated/compiler/checker/flow.js +168 -0
  42. package/generated/compiler/checker/members.js +763 -0
  43. package/generated/compiler/checker/statements.js +792 -0
  44. package/generated/compiler/checker/symbols.js +90 -0
  45. package/generated/compiler/checker/typeops.js +348 -0
  46. package/generated/compiler/checker/yields.js +115 -0
  47. package/generated/compiler/diagnostics.js +138 -0
  48. package/generated/compiler/emit/emitter.js +2356 -0
  49. package/generated/compiler/emit/luau-types.js +137 -0
  50. package/generated/compiler/emit/names.js +130 -0
  51. package/generated/compiler/emit/runtime.js +432 -0
  52. package/generated/compiler/lexer.js +403 -0
  53. package/generated/compiler/parser.js +1881 -0
  54. package/generated/compiler/project.js +332 -0
  55. package/generated/compiler/roblox/api.js +388 -0
  56. package/generated/compiler/roblox/context.js +100 -0
  57. package/generated/compiler/source.js +59 -0
  58. package/generated/compiler/stdlib.js +232 -0
  59. package/generated/compiler/types.js +250 -0
  60. package/generated/target/build-cache.js +4 -4
  61. package/generated/target/gen-rojo-tree.js +15 -0
  62. package/generated/target/source-map.js +61 -8
  63. package/generated/target/studio-bridge.js +1 -0
  64. package/generated/utils/project.js +83 -25
  65. package/package.json +12 -5
  66. package/plugins/CluauppNav/Plugin.luau +28 -4
  67. package/scripts/postinstall-native.js +4 -0
  68. package/skills/README.md +3 -3
  69. package/skills/clpp-hive-flare/SKILL.md +30 -26
  70. package/skills/clpp-language/SKILL.md +67 -74
  71. package/skills/clpp-language/compiler.md +24 -36
  72. package/skills/clpp-style/SKILL.md +31 -44
  73. package/src/api/build-profile.ts +1 -1
  74. package/src/api/loader.ts +2 -2
  75. package/src/api/surface/build.ts +374 -0
  76. package/src/api/surface/luau-defs.ts +635 -0
  77. package/src/api/surface/model.ts +96 -0
  78. package/src/clpp/contract.ts +20 -3
  79. package/src/clpp/handshake.ts +25 -0
  80. package/src/clpp/modules.ts +17 -10
  81. package/src/clpp/runner.ts +52 -34
  82. package/src/compile.ts +20 -2
  83. package/src/compiler/ast.ts +336 -0
  84. package/src/compiler/checker/calls.ts +1025 -0
  85. package/src/compiler/checker/checker.ts +1352 -0
  86. package/src/compiler/checker/exprs.ts +805 -0
  87. package/src/compiler/checker/flow.ts +174 -0
  88. package/src/compiler/checker/members.ts +793 -0
  89. package/src/compiler/checker/statements.ts +802 -0
  90. package/src/compiler/checker/symbols.ts +219 -0
  91. package/src/compiler/checker/typeops.ts +355 -0
  92. package/src/compiler/checker/yields.ts +120 -0
  93. package/src/compiler/diagnostics.ts +163 -0
  94. package/src/compiler/emit/emitter.ts +2486 -0
  95. package/src/compiler/emit/luau-types.ts +143 -0
  96. package/src/compiler/emit/names.ts +130 -0
  97. package/src/compiler/emit/runtime.ts +438 -0
  98. package/src/compiler/lexer.ts +444 -0
  99. package/src/compiler/parser.ts +1943 -0
  100. package/src/compiler/project.ts +354 -0
  101. package/src/compiler/roblox/api.ts +408 -0
  102. package/src/compiler/roblox/context.ts +108 -0
  103. package/src/compiler/source.ts +67 -0
  104. package/src/compiler/stdlib.ts +256 -0
  105. package/src/compiler/types.ts +313 -0
  106. package/src/target/build-cache.ts +5 -8
  107. package/src/target/gen-rojo-tree.ts +15 -0
  108. package/src/target/source-map.ts +65 -27
  109. package/src/target/studio-bridge.ts +3 -0
  110. package/src/types.ts +3 -0
  111. package/src/utils/project.ts +79 -31
  112. package/templates/README.md +7 -0
  113. package/templates/{game → game-modern}/cluaupp.config.json +2 -2
  114. package/templates/{game → game-modern}/package.json +1 -2
  115. package/templates/game-modern/rokit.toml +2 -0
  116. package/templates/game-modern/src/ReplicatedStorage/Shared/GameInfo.clp +1 -0
  117. package/templates/{game/src/Modules/Core/Guard.server.clpp → game-modern/src/ServerScriptService/Handlers/Guard.server.clp} +1 -4
  118. package/templates/game-modern/src/ServerScriptService/Main.server.clp +8 -0
  119. package/templates/game-modern/src/StarterPlayer/StarterPlayerScripts/Main.client.clp +4 -0
  120. package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau +0 -29
  121. package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau.map.json +0 -13
  122. package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau +0 -83
  123. package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau.map.json +0 -13
  124. package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau +0 -18
  125. package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau.map.json +0 -13
  126. package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau +0 -14
  127. package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau.map.json +0 -13
  128. package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau +0 -15
  129. package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau.map.json +0 -13
  130. package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau +0 -50
  131. package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau.map.json +0 -13
  132. package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau +0 -12
  133. package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau.map.json +0 -13
  134. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau +0 -16
  135. package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau.map.json +0 -13
  136. package/examples/game/src/Client/Controllers/DataController.client.clpp +0 -7
  137. package/examples/game/src/Client/Main.client.clpp +0 -4
  138. package/examples/game/src/Declarations/Net.flare +0 -5
  139. package/examples/game/src/Include/GameTypes.clh +0 -40
  140. package/examples/game/src/Modules/Core/Guard.server.clpp +0 -7
  141. package/examples/game/src/Modules/Core/PlayerHandler.server.clpp +0 -23
  142. package/examples/game/src/Server/Boot/DataBoot.server.clpp +0 -13
  143. package/examples/game/src/Server/Main.server.clpp +0 -4
  144. package/templates/game/.clangd +0 -25
  145. package/templates/game/.vscode/extensions.json +0 -8
  146. package/templates/game/.vscode/settings.json +0 -17
  147. package/templates/game/Packages/.gitkeep +0 -0
  148. package/templates/game/compile_flags.txt +0 -6
  149. package/templates/game/default.project.json +0 -41
  150. package/templates/game/include/clpp/datatypes.clh +0 -575
  151. package/templates/game/include/clpp/generated/enums.clh +0 -4920
  152. package/templates/game/include/clpp/generated/instances.clh +0 -87182
  153. package/templates/game/include/clpp/libs/arrayindexer.clh +0 -12
  154. package/templates/game/include/clpp/libs/axiom.clh +0 -154
  155. package/templates/game/include/clpp/libs/bloom.clh +0 -58
  156. package/templates/game/include/clpp/libs/coil.clh +0 -37
  157. package/templates/game/include/clpp/libs/crest.clh +0 -22
  158. package/templates/game/include/clpp/libs/echo.clh +0 -52
  159. package/templates/game/include/clpp/libs/ember.clh +0 -17
  160. package/templates/game/include/clpp/libs/flare.clh +0 -65
  161. package/templates/game/include/clpp/libs/gleam.clh +0 -111
  162. package/templates/game/include/clpp/libs/guide.clh +0 -42
  163. package/templates/game/include/clpp/libs/helm.clh +0 -31
  164. package/templates/game/include/clpp/libs/hive.clh +0 -20
  165. package/templates/game/include/clpp/libs/keep.clh +0 -158
  166. package/templates/game/include/clpp/libs/lens.clh +0 -24
  167. package/templates/game/include/clpp/libs/mint.clh +0 -28
  168. package/templates/game/include/clpp/libs/net.clh +0 -31
  169. package/templates/game/include/clpp/libs/occlude.clh +0 -15
  170. package/templates/game/include/clpp/libs/pin.clh +0 -28
  171. package/templates/game/include/clpp/libs/promise.clh +0 -24
  172. package/templates/game/include/clpp/libs/roster.clh +0 -123
  173. package/templates/game/include/clpp/libs/shift.clh +0 -22
  174. package/templates/game/include/clpp/libs/spark.clh +0 -28
  175. package/templates/game/include/clpp/libs/stage.clh +0 -23
  176. package/templates/game/include/clpp/libs/sweep.clh +0 -23
  177. package/templates/game/include/clpp/libs/trace.clh +0 -18
  178. package/templates/game/include/clpp/libs/ward.clh +0 -19
  179. package/templates/game/include/clpp/libs.clh +0 -31
  180. package/templates/game/include/clpp/roblox.clh +0 -41
  181. package/templates/game/rokit.toml +0 -5
  182. package/templates/game/src/Client/Controllers/DataController.client.clpp +0 -7
  183. package/templates/game/src/Client/Main.client.clpp +0 -4
  184. package/templates/game/src/Declarations/Net.flare +0 -5
  185. package/templates/game/src/Include/GameTypes.clh +0 -40
  186. package/templates/game/src/Modules/Core/PlayerHandler.server.clpp +0 -24
  187. package/templates/game/src/Server/Boot/DataBoot.server.clpp +0 -13
  188. package/templates/game/src/Server/Main.server.clpp +0 -4
  189. package/templates/game/stylua.toml +0 -9
  190. package/templates/game/wally.toml +0 -12
package/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ - **Init template only `game-modern`** — removed `templates/game` from the package; legacy `.clpp` scaffold lives under `test/fixtures/legacy-clpp-game` for tests. `game-modern` adds `Handlers/Guard.server.clp` (Ward boot).
6
+ - **Docs site — CL++ 0.10 Roblox target** — Start, Language, Architecture/CLI, Examples, and all CluauppLibs handbook pages rewritten for `.clp`, `link`, top-level scripts, `@server`/`@client`, and `<<` comments. Site grammar aliases `clp` only; migration page documents legacy `.clpp`/`.clh` as deprecated.
7
+ - **CL++ agent skills** — `skills/clpp-language`, `clpp-style`, `clpp-hive-flare` teach link-only modules and no `void init()` on Roblox; `cluaupp init` still copies them to `.cursor/skills/`.
5
8
  - **GetService ownership** — `GetService<T>()` is Cluaupp Roblox Target (registry + `CLUAU_SVC001` + Context Safety + header stubs + postprocess normalize). CL++ only forwards a generic call. New `src/target/get-service.ts`; wired into compile + doctor.
6
9
  - **Named `import` host support** — Parse/resolve `import { } from` alongside `#include`; Rojo mapper strips `.clh`/`.clpp`; authority + project graph; game-rooted require rewrite for all services; incremental cache fingerprints imported deps; CompileArtifact `nativeHints`/`layoutHints`/`requires`/`optimize` wired through `clpp api compile`.
7
10
  - **CL++ 0.8 floor** — `MIN_CLPP_VERSION` raised to **0.8.0** (refuse older `clpp`). Templates/examples use `import { PlayerTemplate } from` for app modules; angle `#include <clpp/…>` stays for prelude. Named `import` host support, `nativeHints`/`layoutHints`/`requires`, docs pages Option/Result + Cluaupp host.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <img src="docs/public/assets/logo.png" alt="Cluaupp" width="160">
5
5
  </p>
6
6
 
7
- **CL++ games on Roblox.** You write [CL++](https://kartzrbx.github.io/CLPP/). Cluaupp runs `clpp`, wires Rojo, and copies CluauppLibs.
7
+ **CL++ games on Roblox.** You write [CL++](https://kartzrbx.github.io/CLPP/) in `.clp` files. Cluaupp checks Roblox APIs, emits Luau, wires Rojo, and copies CluauppLibs.
8
8
 
9
9
  [CL++ language](https://kartzrbx.github.io/CLPP/) · [Docs](https://kartzrbx.github.io/Cluaupp/) · [Why Cluaupp](https://kartzrbx.github.io/Cluaupp/why-cluaupp/) · [Benchmarks](https://kartzrbx.github.io/Cluaupp/benchmarks/) · [Roadmap](https://kartzrbx.github.io/Cluaupp/roadmap/)
10
10
 
@@ -12,45 +12,28 @@
12
12
  [![Node.js](https://img.shields.io/node/v/cluaupp.svg)](https://nodejs.org)
13
13
  [![License: MIT](https://img.shields.io/badge/license-MIT-white.svg)](LICENSE)
14
14
 
15
- Cluaupp is the **Roblox project host** for [CL++](https://kartzrbx.github.io/CLPP/) — not the language compiler and not “roblox-ts with different syntax.” It turns **CL++ + project semantics** into a **validated Roblox project**, then emits Luau. [KartzRbx/CLPP](https://github.com/KartzRbx/CLPP) owns language, checker, Language Server (`clpp setup`), and codegen. Cluaupp owns Rojo/DataModel wiring, Context Safety, Flare remotes, API Registry (`cluaupp api generate`), and CluauppLibs. Optional Luau IntelliSense: **luau-lsp** + Rojo. Never `CL++ → roblox-ts → Luau`. Architecture: [`docs/.../product-pillars.md`](docs/src/content/docs/architecture/product-pillars.md).
15
+ CL++ 0.10 is an independent language with a bytecode VM. Its `clpp` executable does not emit Luau or expose the old `clpp api compile` command. The current experimental Roblox compiler in `src/compiler/` parses `.clp`, checks Roblox APIs and project links, and emits Luau. It is a transitional implementation: the shared-frontend design requires CL++ to provide a versioned Roblox Luau backend. See the [specification review](docs/src/content/docs/architecture/clpp-target-contract.md) for verified semantics and migration gates. [KartzRbx/CLPP](https://github.com/KartzRbx/CLPP) remains the language and desktop VM; Cluaupp owns the Roblox target, Rojo/DataModel wiring, Flare remotes, API Registry, and CluauppLibs. The older `.clpp`/`.clh` pipeline remains available only with a compatible legacy Luau compiler.
16
16
 
17
17
  Native PascalCase CluauppLibs: **Flare** net, **Sweep** zelador, **Spark** signal, **Keep** data, **Mint** numbers, **Axiom** math, **Roster** tables, **Gleam** UI, **Bloom** effects, **Lens** debug UI, **Crest** topbar, **Pin** billboard, **Stage** viewport 3D, **Coil** spring, **Helm** commands, **Shift** states, **Hive** ECS, **Ward** anti-cheat, **Ember** VFX, **Echo** replication, **Guide** tutorials, **Trace** pretty-print. Schemas pack u8 ids / ColorSequence / tables — never JSON on the hot path. Name map: [`runtime/SOURCES.md`](runtime/SOURCES.md).
18
18
 
19
- ```clpp
19
+ ```clp
20
20
  link @clpp.roblox;
21
21
 
22
- struct HelloServer {
23
- void Greet(Player player);
24
- };
25
-
26
- void HelloServer::Greet(Player player) {
22
+ Players players = GetService<Players>();
23
+ players.PlayerAdded ~> func (Player player) {
27
24
  post("Player name: " .: player.Name);
28
- }
29
-
30
- void init() {
31
- HelloServer hello;
32
- Players players = GetService<Players>();
33
-
34
- for (Player player in players.GetPlayers()) {
35
- hello.Greet(player);
36
- }
37
-
38
- players.PlayerAdded~>Connect(func (Player playerEntered) {
39
- hello.Greet(playerEntered);
40
- });
41
- }
25
+ };
42
26
  ```
43
27
 
44
28
  ## Install
45
29
 
46
- 1. [Node.js](https://nodejs.org/) 18+
47
- 2. [Rojo](https://rojo.space/) **7.7.0**
48
- 3. **`clpp` 0.8.0+** on PATH from [CL++](https://github.com/KartzRbx/CLPP/releases) (`clpp-setup.exe` or `clpp setup`; host **refuses** older compilers). Do not leave a cargo `clpp 0.1.0` first on PATH.
30
+ 1. [Node.js](https://nodejs.org/) 22.12+
31
+ 2. [Rojo](https://rojo.space/) **>=7.7.0 <8.0.0**. Templates pin a reproducible version in rokit.toml.
32
+ 3. CL++ 0.10 and its VS Code extension are optional for standalone CL++ work. Cluaupp compiles Roblox `.clp` projects itself.
49
33
 
50
34
  ```bash
51
- npm install -g cluaupp@latest
52
- clpp setup
53
- npx cluaupp init my-game
35
+ npm install -g cluaupp@next
36
+ cluaupp init my-game
54
37
  cd my-game
55
38
  rokit install
56
39
  cluaupp build
@@ -59,10 +42,11 @@ rojo serve
59
42
 
60
43
  | Source | Output | Rojo |
61
44
  | --- | --- | --- |
62
- | `*.server.clpp` | `*.server.luau` | Script |
63
- | `*.client.clpp` | `*.client.luau` | LocalScript |
64
- | `*.clp` / untagged `.clpp` | `*.luau` | ModuleScript |
65
- | `*.clh` | `*.luau` | ModuleScript |
45
+ | `*.server.clp` | `*.server.luau` | Script |
46
+ | `*.client.clp` | `*.client.luau` | LocalScript |
47
+ | untagged `*.clp` | `*.luau` | ModuleScript |
48
+
49
+ The legacy `.clpp`/`.clh` adapter requires `>=0.8.0 <0.9.0` and `contractVersion: 1` in `api manifest`. A version string alone is insufficient; the installed 0.10 VM is incompatible. This adapter policy requires a matching compiler and does not claim that every 0.8 release implements it.
66
50
 
67
51
  ## CLI
68
52
 
@@ -70,22 +54,25 @@ rojo serve
70
54
  cluaupp init [folder]
71
55
  cluaupp build [folder]
72
56
  cluaupp watch [folder]
73
- cluaupp language # clpp api manifest
74
- cluaupp intellisense # schema highlighting (.flare .hive …) + clpp setup (CL++ LSP)
57
+ cluaupp intellisense # schema highlighting (.flare .hive …)
75
58
  cluaupp api generate # Registry → headers + lsp-index.json + lock
76
59
  cluaupp target info # schemaVersion, class/enum counts
77
60
  cluaupp api aux-diff <p> # optional coverage vs @rbxts/types / LuauTypes
78
61
  ```
79
62
 
80
- **IntelliSense:** CL++ → `clpp` Language Server + Cluaupp `lsp-index.json`. Schemas (`.flare`/…) → Cluaupp editor extension. Emitted Luau → luau-lsp (optional). Cluaupp does not ship a Roblox class IntelliSense engine.
81
-
82
- `clpp` missing? Set `CLPP` / `CLPP_PATH` or install [CL++ 0.8.0+](https://github.com/KartzRbx/CLPP/releases).
63
+ **IntelliSense:** The CL++ 0.10 editor extension covers the independent language. Cluaupp's Roblox checker runs during build; schema files use the Cluaupp editor extension. Emitted Luau can use luau-lsp.
83
64
 
84
65
  ## Language
85
66
 
86
- Course and reference: **[kartzrbx.github.io/CLPP](https://kartzrbx.github.io/CLPP/)**. Write `Player player` (never `Player*`). Default listen is `~>Connect`. Fire with `.Fire`. `@this` only inside `Class::Method`.
67
+ Course and reference: **[kartzrbx.github.io/CLPP](https://kartzrbx.github.io/CLPP/)**. Roblox code adds `link @clpp.roblox;` and service API checks in Cluaupp. Use `.server.clp` and `.client.clp` file tags for script context.
68
+
69
+ The new project scaffold is in [`templates/game-modern`](templates/game-modern). Existing `.clpp` projects can still use the legacy compiler path during migration. Toolchain docs (Starlight): `npm run site:dev`.
70
+
71
+ ## Preparing a beta release
72
+
73
+ The maintainer gate runs `npm run setup:runtime`, regenerates the API projections and verifies their lock before tests. It downloads the official Luau 0.741 interpreter, analyzer and compiler into the ignored `.cluaupp/toolchains` directory and verifies pinned SHA-256 checksums. Rokit installs the interpreter but does not expose the complete analyzer/compiler bundle required by these tests. Runtime test tools are not consumer dependencies.
87
74
 
88
- Exclusive CL++ (`guard`, `match`, `signal`, `observable`, `.:`, `::`, Fusion) is compiled by `clpp`. Samples: [`examples/game`](examples/game). Old C++ games: [migration](docs/src/content/docs/migration.md). Toolchain docs (Starlight): `npm run site:dev`.
75
+ Run `npm run prepublishOnly` to check a release without publishing. Publish an unused prerelease version with `npm publish --tag next`. The experimental compiler and remaining validation limits are described in the specification review above.
89
76
 
90
77
  ## License
91
78
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "measuredAt": "2026-09-22T13:24:47.067Z",
2
+ "measuredAt": "2026-10-02T11:17:54.881Z",
3
3
  "node": "v24.20.0",
4
4
  "platform": "win32",
5
5
  "registry": {
@@ -11,29 +11,51 @@
11
11
  "methods": 3282,
12
12
  "events": 1092,
13
13
  "threadSafety": 8462,
14
- "buildMs": 352,
15
- "regMs": 39,
16
- "lspMs": 306,
17
- "totalMs": 697
14
+ "buildMs": 152,
15
+ "regMs": 19,
16
+ "lspMs": 121,
17
+ "totalMs": 291
18
18
  },
19
19
  "gameBuild": {
20
- "cold": {
21
- "ms": 3719,
20
+ "sources": 3,
21
+ "first": {
22
+ "ms": 816,
22
23
  "status": 0,
23
- "cacheHit": null,
24
- "parallel": "8"
24
+ "generated": 3,
25
+ "error": null
25
26
  },
26
- "fill": {
27
- "ms": 3477,
28
- "status": 0,
29
- "cacheHit": null,
30
- "parallel": "8"
31
- },
32
- "warm": {
33
- "ms": 1506,
34
- "status": 0,
35
- "cacheHit": "7/7",
36
- "parallel": null
37
- }
27
+ "repeats": [
28
+ {
29
+ "ms": 721,
30
+ "status": 0,
31
+ "generated": 0,
32
+ "error": null
33
+ },
34
+ {
35
+ "ms": 683,
36
+ "status": 0,
37
+ "generated": 0,
38
+ "error": null
39
+ },
40
+ {
41
+ "ms": 698,
42
+ "status": 0,
43
+ "generated": 0,
44
+ "error": null
45
+ },
46
+ {
47
+ "ms": 664,
48
+ "status": 0,
49
+ "generated": 0,
50
+ "error": null
51
+ },
52
+ {
53
+ "ms": 733,
54
+ "status": 0,
55
+ "generated": 0,
56
+ "error": null
57
+ }
58
+ ],
59
+ "medianMs": 698
38
60
  }
39
61
  }