redscript-mc 2.4.1 → 2.6.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 (1680) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +4 -0
  3. package/ROADMAP.md +145 -0
  4. package/dist/cli.js +0 -0
  5. package/dist/src/__tests__/compile-all.test.js +1 -0
  6. package/dist/src/__tests__/diagnostics.test.js +8 -11
  7. package/dist/src/__tests__/double.test.d.ts +7 -0
  8. package/dist/src/__tests__/double.test.js +464 -0
  9. package/dist/src/__tests__/e2e/for-in-array.test.d.ts +4 -0
  10. package/dist/src/__tests__/e2e/for-in-array.test.js +59 -0
  11. package/dist/src/__tests__/e2e/macros.test.js +7 -7
  12. package/dist/src/__tests__/e2e/stdlib-e2e.test.js +1411 -0
  13. package/dist/src/__tests__/fixed.test.d.ts +7 -0
  14. package/dist/src/__tests__/fixed.test.js +148 -0
  15. package/dist/src/__tests__/float-lint.test.d.ts +7 -0
  16. package/dist/src/__tests__/float-lint.test.js +96 -0
  17. package/dist/src/__tests__/float.test.d.ts +7 -0
  18. package/dist/src/__tests__/float.test.js +148 -0
  19. package/dist/src/__tests__/for-range.test.js +136 -0
  20. package/dist/src/__tests__/generics.test.js +4 -4
  21. package/dist/src/__tests__/impl.test.js +199 -0
  22. package/dist/src/__tests__/mc-integration.test.js +664 -0
  23. package/dist/src/__tests__/optimizer/constant_fold.test.js +105 -0
  24. package/dist/src/__tests__/optimizer/coroutine.test.js +3 -2
  25. package/dist/src/__tests__/optimizer/lir/peephole.test.js +92 -0
  26. package/dist/src/__tests__/parser.test.js +2 -2
  27. package/dist/src/__tests__/stdlib/calculus.test.d.ts +5 -0
  28. package/dist/src/__tests__/stdlib/calculus.test.js +123 -0
  29. package/dist/src/__tests__/stdlib/easing.test.d.ts +5 -0
  30. package/dist/src/__tests__/stdlib/easing.test.js +117 -0
  31. package/dist/src/__tests__/stdlib/geometry.test.d.ts +5 -0
  32. package/dist/src/__tests__/stdlib/geometry.test.js +163 -0
  33. package/dist/src/__tests__/stdlib/heap.test.d.ts +4 -0
  34. package/dist/src/__tests__/stdlib/heap.test.js +141 -0
  35. package/dist/src/__tests__/stdlib/list.test.d.ts +5 -0
  36. package/dist/src/__tests__/stdlib/list.test.js +134 -0
  37. package/dist/src/__tests__/stdlib/matrix.test.d.ts +5 -0
  38. package/dist/src/__tests__/stdlib/matrix.test.js +148 -0
  39. package/dist/src/__tests__/stdlib/pathfind.test.d.ts +4 -0
  40. package/dist/src/__tests__/stdlib/pathfind.test.js +167 -0
  41. package/dist/src/__tests__/stdlib/sort.test.d.ts +4 -0
  42. package/dist/src/__tests__/stdlib/sort.test.js +128 -0
  43. package/dist/src/__tests__/typechecker-strict.test.js +21 -21
  44. package/dist/src/ast/types.d.ts +14 -1
  45. package/dist/src/emit/compile.js +18 -1
  46. package/dist/src/emit/index.js +1 -1
  47. package/dist/src/events/types.js +1 -1
  48. package/dist/src/hir/lower.js +54 -1
  49. package/dist/src/hir/monomorphize.js +1 -1
  50. package/dist/src/hir/types.d.ts +5 -0
  51. package/dist/src/lexer/index.d.ts +1 -1
  52. package/dist/src/lexer/index.js +10 -1
  53. package/dist/src/lsp/main.js +0 -0
  54. package/dist/src/lsp/server.js +671 -28
  55. package/dist/src/mc-test/client.d.ts +13 -1
  56. package/dist/src/mc-test/client.js +29 -1
  57. package/dist/src/mir/lower.js +400 -17
  58. package/dist/src/optimizer/constant_fold.js +10 -6
  59. package/dist/src/optimizer/coroutine.js +90 -33
  60. package/dist/src/optimizer/lir/peephole.d.ts +13 -4
  61. package/dist/src/optimizer/lir/peephole.js +44 -5
  62. package/dist/src/parser/index.d.ts +4 -0
  63. package/dist/src/parser/index.js +125 -28
  64. package/dist/src/typechecker/index.d.ts +8 -1
  65. package/dist/src/typechecker/index.js +61 -9
  66. package/docs/LANGUAGE_REFERENCE.md +302 -67
  67. package/docs/stdlib/README.md +54 -0
  68. package/docs/stdlib/advanced.md +276 -0
  69. package/docs/stdlib/bigint.md +285 -0
  70. package/docs/stdlib/bits.md +159 -0
  71. package/docs/stdlib/bossbar.md +101 -0
  72. package/docs/stdlib/calculus.md +141 -0
  73. package/docs/stdlib/color.md +125 -0
  74. package/docs/stdlib/combat.md +41 -0
  75. package/docs/stdlib/cooldown.md +48 -0
  76. package/docs/stdlib/easing.md +157 -0
  77. package/docs/stdlib/effects.md +101 -0
  78. package/docs/stdlib/expr.md +38 -0
  79. package/docs/stdlib/geometry.md +130 -0
  80. package/docs/stdlib/interactions.md +111 -0
  81. package/docs/stdlib/inventory.md +53 -0
  82. package/docs/stdlib/list.md +189 -0
  83. package/docs/stdlib/math.md +334 -0
  84. package/docs/stdlib/math_hp.md +185 -0
  85. package/docs/stdlib/matrix.md +123 -0
  86. package/docs/stdlib/mobs.md +131 -0
  87. package/docs/stdlib/noise.md +103 -0
  88. package/docs/stdlib/parabola.md +119 -0
  89. package/docs/stdlib/particles.md +123 -0
  90. package/docs/stdlib/physics.md +148 -0
  91. package/docs/stdlib/player.md +43 -0
  92. package/docs/stdlib/quaternion.md +159 -0
  93. package/docs/stdlib/random.md +86 -0
  94. package/docs/stdlib/sets.md +68 -0
  95. package/docs/stdlib/signal.md +141 -0
  96. package/docs/stdlib/spawn.md +65 -0
  97. package/docs/stdlib/strings.md +17 -0
  98. package/docs/stdlib/tags.md +117 -0
  99. package/docs/stdlib/teams.md +87 -0
  100. package/docs/stdlib/timer.md +126 -0
  101. package/docs/stdlib/vec.md +193 -0
  102. package/docs/stdlib/world.md +151 -0
  103. package/editors/vscode/build.mjs +31 -12
  104. package/editors/vscode/out/extension.js +3060 -143
  105. package/editors/vscode/package-lock.json +3 -3
  106. package/editors/vscode/package.json +1 -1
  107. package/editors/vscode/src/extension.ts +11 -6
  108. package/examples/math-demo.mcrs +127 -0
  109. package/examples/readme-demo.mcrs +4 -4
  110. package/examples/showcase.mcrs +64 -109
  111. package/package.json +1 -1
  112. package/scripts/postbuild.js +20 -0
  113. package/src/__tests__/compile-all.test.ts +3 -2
  114. package/src/__tests__/diagnostics.test.ts +8 -10
  115. package/src/__tests__/double.test.ts +478 -0
  116. package/src/__tests__/e2e/for-in-array.test.ts +62 -0
  117. package/src/__tests__/e2e/macros.test.ts +7 -7
  118. package/src/__tests__/e2e/stdlib-e2e.test.ts +1686 -0
  119. package/src/__tests__/fixed.test.ts +159 -0
  120. package/src/__tests__/fixtures/coroutine-mc-test.mcrs +58 -0
  121. package/src/__tests__/fixtures/for-range.mcrs +15 -0
  122. package/src/__tests__/fixtures/heap-sort-mc-test.mcrs +87 -0
  123. package/src/__tests__/fixtures/impl-test.mcrs +13 -44
  124. package/src/__tests__/fixtures/stdlib-extra-test.mcrs +226 -0
  125. package/src/__tests__/fixtures/stdlib-math-integration.mcrs +28 -0
  126. package/src/__tests__/fixtures/stdlib-math-test.mcrs +53 -0
  127. package/src/__tests__/float-lint.test.ts +102 -0
  128. package/src/__tests__/float.test.ts +158 -0
  129. package/src/__tests__/for-range.test.ts +149 -0
  130. package/src/__tests__/generics.test.ts +4 -4
  131. package/src/__tests__/impl.test.ts +207 -0
  132. package/src/__tests__/mc-integration.test.ts +706 -0
  133. package/src/__tests__/optimizer/constant_fold.test.ts +115 -0
  134. package/src/__tests__/optimizer/coroutine.test.ts +3 -2
  135. package/src/__tests__/optimizer/lir/peephole.test.ts +100 -0
  136. package/src/__tests__/parser.test.ts +2 -2
  137. package/src/__tests__/stdlib/calculus.test.ts +99 -0
  138. package/src/__tests__/stdlib/easing.test.ts +97 -0
  139. package/src/__tests__/stdlib/geometry.test.ts +171 -0
  140. package/src/__tests__/stdlib/heap.test.ts +121 -0
  141. package/src/__tests__/stdlib/list.test.ts +117 -0
  142. package/src/__tests__/stdlib/matrix.test.ts +140 -0
  143. package/src/__tests__/stdlib/pathfind.test.ts +151 -0
  144. package/src/__tests__/stdlib/sort.test.ts +106 -0
  145. package/src/__tests__/typechecker-strict.test.ts +21 -21
  146. package/src/ast/types.ts +4 -2
  147. package/src/emit/compile.ts +21 -1
  148. package/src/emit/index.ts +1 -1
  149. package/src/events/types.ts +1 -1
  150. package/src/examples/tutorial_01_hello.mcrs +63 -0
  151. package/src/examples/tutorial_02_variables.mcrs +157 -0
  152. package/src/examples/tutorial_03_functions_structs.mcrs +162 -0
  153. package/src/examples/tutorial_04_selectors.mcrs +139 -0
  154. package/src/examples/tutorial_05_decorators.mcrs +131 -0
  155. package/src/examples/tutorial_06_math_particles.mcrs +123 -0
  156. package/src/examples/tutorial_07_random.mcrs +142 -0
  157. package/src/examples/tutorial_08_coroutine.mcrs +163 -0
  158. package/src/examples/tutorial_09_precision.mcrs +154 -0
  159. package/src/examples/tutorial_10_kill_race.mcrs +289 -0
  160. package/src/hir/lower.ts +56 -1
  161. package/src/hir/monomorphize.ts +1 -1
  162. package/src/hir/types.ts +2 -0
  163. package/src/lexer/index.ts +11 -2
  164. package/src/lsp/server.ts +667 -28
  165. package/src/mc-test/client.ts +32 -1
  166. package/src/mir/lower.ts +405 -19
  167. package/src/optimizer/constant_fold.ts +11 -6
  168. package/src/optimizer/coroutine.ts +89 -29
  169. package/src/optimizer/lir/peephole.ts +50 -5
  170. package/src/parser/index.ts +126 -28
  171. package/src/stdlib/advanced.mcrs +47 -0
  172. package/src/stdlib/bigint.mcrs +252 -100
  173. package/src/stdlib/calculus.mcrs +150 -0
  174. package/src/stdlib/color.mcrs +102 -82
  175. package/src/stdlib/easing.mcrs +182 -0
  176. package/src/stdlib/expr.mcrs +117 -0
  177. package/src/stdlib/geometry.mcrs +89 -0
  178. package/src/stdlib/heap.mcrs +175 -0
  179. package/src/stdlib/list.mcrs +99 -0
  180. package/src/stdlib/math.mcrs +121 -5
  181. package/src/stdlib/math_hp.mcrs +452 -0
  182. package/src/stdlib/matrix.mcrs +108 -0
  183. package/src/stdlib/noise.mcrs +153 -0
  184. package/src/stdlib/parabola.mcrs +160 -0
  185. package/src/stdlib/particles.mcrs +69 -0
  186. package/src/stdlib/pathfind.mcrs +321 -0
  187. package/src/stdlib/physics.mcrs +134 -0
  188. package/src/stdlib/quaternion.mcrs +192 -0
  189. package/src/stdlib/random.mcrs +46 -1
  190. package/src/stdlib/signal.mcrs +223 -0
  191. package/src/stdlib/sort.mcrs +109 -0
  192. package/src/stdlib/world.mcrs +24 -0
  193. package/src/typechecker/index.ts +73 -10
  194. package/dist/__tests__/cli.test.js +0 -278
  195. package/dist/__tests__/codegen.test.js +0 -152
  196. package/dist/__tests__/compile-all.test.d.ts +0 -10
  197. package/dist/__tests__/compile-all.test.js +0 -108
  198. package/dist/__tests__/dce.test.d.ts +0 -1
  199. package/dist/__tests__/dce.test.js +0 -138
  200. package/dist/__tests__/diagnostics.test.d.ts +0 -4
  201. package/dist/__tests__/diagnostics.test.js +0 -149
  202. package/dist/__tests__/e2e.test.d.ts +0 -6
  203. package/dist/__tests__/e2e.test.js +0 -1847
  204. package/dist/__tests__/entity-types.test.d.ts +0 -1
  205. package/dist/__tests__/entity-types.test.js +0 -203
  206. package/dist/__tests__/formatter.test.d.ts +0 -1
  207. package/dist/__tests__/formatter.test.js +0 -40
  208. package/dist/__tests__/lexer.test.d.ts +0 -1
  209. package/dist/__tests__/lexer.test.js +0 -343
  210. package/dist/__tests__/lowering.test.d.ts +0 -1
  211. package/dist/__tests__/lowering.test.js +0 -1015
  212. package/dist/__tests__/macro.test.d.ts +0 -8
  213. package/dist/__tests__/macro.test.js +0 -305
  214. package/dist/__tests__/mc-integration.test.d.ts +0 -12
  215. package/dist/__tests__/mc-integration.test.js +0 -819
  216. package/dist/__tests__/mc-syntax.test.d.ts +0 -1
  217. package/dist/__tests__/mc-syntax.test.js +0 -124
  218. package/dist/__tests__/nbt.test.d.ts +0 -1
  219. package/dist/__tests__/nbt.test.js +0 -82
  220. package/dist/__tests__/optimizer-advanced.test.d.ts +0 -1
  221. package/dist/__tests__/optimizer-advanced.test.js +0 -124
  222. package/dist/__tests__/optimizer.test.d.ts +0 -1
  223. package/dist/__tests__/optimizer.test.js +0 -149
  224. package/dist/__tests__/parser.test.d.ts +0 -1
  225. package/dist/__tests__/parser.test.js +0 -807
  226. package/dist/__tests__/repl.test.d.ts +0 -1
  227. package/dist/__tests__/repl.test.js +0 -27
  228. package/dist/__tests__/runtime.test.d.ts +0 -1
  229. package/dist/__tests__/runtime.test.js +0 -289
  230. package/dist/__tests__/stdlib-advanced.test.d.ts +0 -4
  231. package/dist/__tests__/stdlib-advanced.test.js +0 -378
  232. package/dist/__tests__/stdlib-bigint.test.d.ts +0 -7
  233. package/dist/__tests__/stdlib-bigint.test.js +0 -428
  234. package/dist/__tests__/stdlib-math.test.d.ts +0 -7
  235. package/dist/__tests__/stdlib-math.test.js +0 -352
  236. package/dist/__tests__/stdlib-vec.test.d.ts +0 -4
  237. package/dist/__tests__/stdlib-vec.test.js +0 -264
  238. package/dist/__tests__/structure-optimizer.test.d.ts +0 -1
  239. package/dist/__tests__/structure-optimizer.test.js +0 -33
  240. package/dist/__tests__/typechecker.test.d.ts +0 -1
  241. package/dist/__tests__/typechecker.test.js +0 -552
  242. package/dist/__tests__/var-allocator.test.d.ts +0 -1
  243. package/dist/__tests__/var-allocator.test.js +0 -69
  244. package/dist/ast/types.d.ts +0 -514
  245. package/dist/ast/types.js +0 -9
  246. package/dist/builtins/metadata.d.ts +0 -36
  247. package/dist/builtins/metadata.js +0 -1014
  248. package/dist/cli.d.ts +0 -11
  249. package/dist/codegen/cmdblock/index.d.ts +0 -26
  250. package/dist/codegen/cmdblock/index.js +0 -45
  251. package/dist/codegen/mcfunction/index.d.ts +0 -40
  252. package/dist/codegen/mcfunction/index.js +0 -606
  253. package/dist/codegen/structure/index.d.ts +0 -24
  254. package/dist/codegen/structure/index.js +0 -279
  255. package/dist/codegen/var-allocator.d.ts +0 -45
  256. package/dist/codegen/var-allocator.js +0 -104
  257. package/dist/compile.d.ts +0 -68
  258. package/dist/data/arena/function/__load.mcfunction +0 -6
  259. package/dist/data/arena/function/__tick.mcfunction +0 -2
  260. package/dist/data/arena/function/announce_leaders/else_1.mcfunction +0 -3
  261. package/dist/data/arena/function/announce_leaders/foreach_0/merge_2.mcfunction +0 -1
  262. package/dist/data/arena/function/announce_leaders/foreach_0/then_0.mcfunction +0 -3
  263. package/dist/data/arena/function/announce_leaders/foreach_0.mcfunction +0 -7
  264. package/dist/data/arena/function/announce_leaders/foreach_1/merge_2.mcfunction +0 -1
  265. package/dist/data/arena/function/announce_leaders/foreach_1/then_0.mcfunction +0 -4
  266. package/dist/data/arena/function/announce_leaders/foreach_1.mcfunction +0 -6
  267. package/dist/data/arena/function/announce_leaders/merge_2.mcfunction +0 -1
  268. package/dist/data/arena/function/announce_leaders/then_0.mcfunction +0 -4
  269. package/dist/data/arena/function/announce_leaders.mcfunction +0 -6
  270. package/dist/data/arena/function/arena_tick/merge_2.mcfunction +0 -1
  271. package/dist/data/arena/function/arena_tick/then_0.mcfunction +0 -4
  272. package/dist/data/arena/function/arena_tick.mcfunction +0 -11
  273. package/dist/data/capture_the_flag/function/add_to_team.mcfunction +0 -5
  274. package/dist/data/capture_the_flag/function/angry_at.mcfunction +0 -1
  275. package/dist/data/capture_the_flag/function/assign_teams.mcfunction +0 -1
  276. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1.mcfunction +0 -8
  277. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__else_2.mcfunction +0 -8
  278. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__merge_1.mcfunction +0 -3
  279. package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__then_0.mcfunction +0 -8
  280. package/dist/data/capture_the_flag/function/barrier_wall.mcfunction +0 -1
  281. package/dist/data/capture_the_flag/function/buff_all.mcfunction +0 -22
  282. package/dist/data/capture_the_flag/function/check_flag_capture.mcfunction +0 -2
  283. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0.mcfunction +0 -8
  284. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0__merge_1.mcfunction +0 -1
  285. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0__then_0.mcfunction +0 -7
  286. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1.mcfunction +0 -8
  287. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1__merge_1.mcfunction +0 -1
  288. package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1__then_0.mcfunction +0 -7
  289. package/dist/data/capture_the_flag/function/check_flag_pickup.mcfunction +0 -2
  290. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0.mcfunction +0 -8
  291. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0__merge_1.mcfunction +0 -1
  292. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0__then_0.mcfunction +0 -7
  293. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1.mcfunction +0 -8
  294. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1__merge_1.mcfunction +0 -1
  295. package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1__then_0.mcfunction +0 -7
  296. package/dist/data/capture_the_flag/function/check_win.mcfunction +0 -4
  297. package/dist/data/capture_the_flag/function/cleanup_teams.mcfunction +0 -8
  298. package/dist/data/capture_the_flag/function/clear_area.mcfunction +0 -1
  299. package/dist/data/capture_the_flag/function/clear_effect.mcfunction +0 -1
  300. package/dist/data/capture_the_flag/function/clear_effects.mcfunction +0 -1
  301. package/dist/data/capture_the_flag/function/clear_inventory.mcfunction +0 -1
  302. package/dist/data/capture_the_flag/function/create_blue_team.mcfunction +0 -10
  303. package/dist/data/capture_the_flag/function/create_green_team.mcfunction +0 -10
  304. package/dist/data/capture_the_flag/function/create_red_team.mcfunction +0 -10
  305. package/dist/data/capture_the_flag/function/create_team.mcfunction +0 -8
  306. package/dist/data/capture_the_flag/function/create_yellow_team.mcfunction +0 -10
  307. package/dist/data/capture_the_flag/function/disable_fire_spread.mcfunction +0 -1
  308. package/dist/data/capture_the_flag/function/disable_keep_inventory.mcfunction +0 -1
  309. package/dist/data/capture_the_flag/function/disable_mob_griefing.mcfunction +0 -1
  310. package/dist/data/capture_the_flag/function/distance_to.mcfunction +0 -6
  311. package/dist/data/capture_the_flag/function/distance_to__const_0_0_0_0.mcfunction +0 -5
  312. package/dist/data/capture_the_flag/function/enable_keep_inventory.mcfunction +0 -1
  313. package/dist/data/capture_the_flag/function/end_game.mcfunction +0 -6
  314. package/dist/data/capture_the_flag/function/end_game__else_2.mcfunction +0 -3
  315. package/dist/data/capture_the_flag/function/end_game__foreach_t7.mcfunction +0 -2
  316. package/dist/data/capture_the_flag/function/end_game__merge_1.mcfunction +0 -1
  317. package/dist/data/capture_the_flag/function/end_game__then_0.mcfunction +0 -3
  318. package/dist/data/capture_the_flag/function/end_sparkles_at.mcfunction +0 -1
  319. package/dist/data/capture_the_flag/function/explosion_effect.mcfunction +0 -1
  320. package/dist/data/capture_the_flag/function/flames.mcfunction +0 -1
  321. package/dist/data/capture_the_flag/function/game_tick.mcfunction +0 -1
  322. package/dist/data/capture_the_flag/function/give_kit_archer.mcfunction +0 -6
  323. package/dist/data/capture_the_flag/function/give_kit_mage.mcfunction +0 -5
  324. package/dist/data/capture_the_flag/function/give_kit_warrior.mcfunction +0 -6
  325. package/dist/data/capture_the_flag/function/glass_box.mcfunction +0 -2
  326. package/dist/data/capture_the_flag/function/glow.mcfunction +0 -1
  327. package/dist/data/capture_the_flag/function/happy_at.mcfunction +0 -1
  328. package/dist/data/capture_the_flag/function/hearts_at.mcfunction +0 -1
  329. package/dist/data/capture_the_flag/function/init.mcfunction +0 -11
  330. package/dist/data/capture_the_flag/function/invisible.mcfunction +0 -1
  331. package/dist/data/capture_the_flag/function/jump.mcfunction +0 -1
  332. package/dist/data/capture_the_flag/function/load.mcfunction +0 -1
  333. package/dist/data/capture_the_flag/function/night_vision.mcfunction +0 -1
  334. package/dist/data/capture_the_flag/function/place_flags.mcfunction +0 -2
  335. package/dist/data/capture_the_flag/function/portal_effect.mcfunction +0 -1
  336. package/dist/data/capture_the_flag/function/regen.mcfunction +0 -1
  337. package/dist/data/capture_the_flag/function/remove_from_teams.mcfunction +0 -3
  338. package/dist/data/capture_the_flag/function/remove_item.mcfunction +0 -1
  339. package/dist/data/capture_the_flag/function/resistance.mcfunction +0 -1
  340. package/dist/data/capture_the_flag/function/set_day.mcfunction +0 -1
  341. package/dist/data/capture_the_flag/function/set_easy.mcfunction +0 -1
  342. package/dist/data/capture_the_flag/function/set_hard.mcfunction +0 -1
  343. package/dist/data/capture_the_flag/function/set_midnight.mcfunction +0 -1
  344. package/dist/data/capture_the_flag/function/set_night.mcfunction +0 -1
  345. package/dist/data/capture_the_flag/function/set_noon.mcfunction +0 -1
  346. package/dist/data/capture_the_flag/function/set_normal.mcfunction +0 -1
  347. package/dist/data/capture_the_flag/function/set_peaceful.mcfunction +0 -1
  348. package/dist/data/capture_the_flag/function/setup_four_teams.mcfunction +0 -4
  349. package/dist/data/capture_the_flag/function/setup_two_teams.mcfunction +0 -2
  350. package/dist/data/capture_the_flag/function/slow_fall.mcfunction +0 -1
  351. package/dist/data/capture_the_flag/function/smoke.mcfunction +0 -1
  352. package/dist/data/capture_the_flag/function/sparkles_at.mcfunction +0 -1
  353. package/dist/data/capture_the_flag/function/speed.mcfunction +0 -1
  354. package/dist/data/capture_the_flag/function/start_game.mcfunction +0 -15
  355. package/dist/data/capture_the_flag/function/start_game__foreach_t10.mcfunction +0 -4
  356. package/dist/data/capture_the_flag/function/strength.mcfunction +0 -1
  357. package/dist/data/capture_the_flag/function/totem_at.mcfunction +0 -1
  358. package/dist/data/capture_the_flag/function/weather_clear.mcfunction +0 -1
  359. package/dist/data/capture_the_flag/function/weather_rain.mcfunction +0 -1
  360. package/dist/data/capture_the_flag/function/weather_thunder.mcfunction +0 -1
  361. package/dist/data/counter/function/__load.mcfunction +0 -5
  362. package/dist/data/counter/function/__tick.mcfunction +0 -2
  363. package/dist/data/counter/function/counter_tick/merge_2.mcfunction +0 -1
  364. package/dist/data/counter/function/counter_tick/then_0.mcfunction +0 -3
  365. package/dist/data/counter/function/counter_tick.mcfunction +0 -11
  366. package/dist/data/gcd2/function/__load.mcfunction +0 -3
  367. package/dist/data/gcd2/function/abs/merge_2.mcfunction +0 -3
  368. package/dist/data/gcd2/function/abs/then_0.mcfunction +0 -5
  369. package/dist/data/gcd2/function/abs.mcfunction +0 -7
  370. package/dist/data/gcd2/function/gcd/loop_body_1.mcfunction +0 -7
  371. package/dist/data/gcd2/function/gcd/loop_check_0.mcfunction +0 -5
  372. package/dist/data/gcd2/function/gcd/loop_exit_2.mcfunction +0 -3
  373. package/dist/data/gcd2/function/gcd.mcfunction +0 -14
  374. package/dist/data/gcd3/function/__load.mcfunction +0 -3
  375. package/dist/data/gcd3/function/abs/merge_2.mcfunction +0 -3
  376. package/dist/data/gcd3/function/abs/then_0.mcfunction +0 -5
  377. package/dist/data/gcd3/function/abs.mcfunction +0 -7
  378. package/dist/data/gcd3/function/gcd/loop_body_1.mcfunction +0 -7
  379. package/dist/data/gcd3/function/gcd/loop_check_0.mcfunction +0 -5
  380. package/dist/data/gcd3/function/gcd/loop_exit_2.mcfunction +0 -3
  381. package/dist/data/gcd3/function/gcd.mcfunction +0 -14
  382. package/dist/data/gcd3/function/test.mcfunction +0 -7
  383. package/dist/data/gcd3nm/function/__load.mcfunction +0 -3
  384. package/dist/data/gcd3nm/function/abs/merge_2.mcfunction +0 -3
  385. package/dist/data/gcd3nm/function/abs/then_0.mcfunction +0 -5
  386. package/dist/data/gcd3nm/function/abs.mcfunction +0 -7
  387. package/dist/data/gcd3nm/function/gcd/loop_body_1.mcfunction +0 -7
  388. package/dist/data/gcd3nm/function/gcd/loop_check_0.mcfunction +0 -5
  389. package/dist/data/gcd3nm/function/gcd/loop_exit_2.mcfunction +0 -3
  390. package/dist/data/gcd3nm/function/gcd.mcfunction +0 -14
  391. package/dist/data/gcd3nm/function/test.mcfunction +0 -7
  392. package/dist/data/gcd_test/function/__load.mcfunction +0 -3
  393. package/dist/data/gcd_test/function/abs/merge_2.mcfunction +0 -3
  394. package/dist/data/gcd_test/function/abs/then_0.mcfunction +0 -5
  395. package/dist/data/gcd_test/function/abs.mcfunction +0 -7
  396. package/dist/data/gcd_test/function/gcd/loop_body_1.mcfunction +0 -7
  397. package/dist/data/gcd_test/function/gcd/loop_check_0.mcfunction +0 -5
  398. package/dist/data/gcd_test/function/gcd/loop_exit_2.mcfunction +0 -3
  399. package/dist/data/gcd_test/function/gcd.mcfunction +0 -14
  400. package/dist/data/hunger_games/function/angry_at.mcfunction +0 -1
  401. package/dist/data/hunger_games/function/barrier_wall.mcfunction +0 -1
  402. package/dist/data/hunger_games/function/buff_all.mcfunction +0 -22
  403. package/dist/data/hunger_games/function/check_alive.mcfunction +0 -3
  404. package/dist/data/hunger_games/function/check_alive__foreach_t3.mcfunction +0 -10
  405. package/dist/data/hunger_games/function/check_alive__foreach_t3__merge_1.mcfunction +0 -1
  406. package/dist/data/hunger_games/function/check_alive__foreach_t3__then_0.mcfunction +0 -5
  407. package/dist/data/hunger_games/function/check_border_damage.mcfunction +0 -1
  408. package/dist/data/hunger_games/function/check_border_damage__foreach_t0.mcfunction +0 -1
  409. package/dist/data/hunger_games/function/clear_area.mcfunction +0 -1
  410. package/dist/data/hunger_games/function/clear_effect.mcfunction +0 -1
  411. package/dist/data/hunger_games/function/clear_effects.mcfunction +0 -1
  412. package/dist/data/hunger_games/function/countdown_tick.mcfunction +0 -1
  413. package/dist/data/hunger_games/function/create_health_bar.mcfunction +0 -24
  414. package/dist/data/hunger_games/function/create_progress_bar.mcfunction +0 -24
  415. package/dist/data/hunger_games/function/create_progress_bar__const_0_0_0.mcfunction +0 -21
  416. package/dist/data/hunger_games/function/create_timer_bar.mcfunction +0 -30
  417. package/dist/data/hunger_games/function/declare_winner.mcfunction +0 -13
  418. package/dist/data/hunger_games/function/disable_fire_spread.mcfunction +0 -1
  419. package/dist/data/hunger_games/function/disable_keep_inventory.mcfunction +0 -1
  420. package/dist/data/hunger_games/function/disable_mob_griefing.mcfunction +0 -1
  421. package/dist/data/hunger_games/function/enable_keep_inventory.mcfunction +0 -1
  422. package/dist/data/hunger_games/function/end_game_no_winner.mcfunction +0 -3
  423. package/dist/data/hunger_games/function/end_sparkles_at.mcfunction +0 -1
  424. package/dist/data/hunger_games/function/explosion_effect.mcfunction +0 -1
  425. package/dist/data/hunger_games/function/flames.mcfunction +0 -1
  426. package/dist/data/hunger_games/function/game_tick.mcfunction +0 -1
  427. package/dist/data/hunger_games/function/glass_box.mcfunction +0 -2
  428. package/dist/data/hunger_games/function/glow.mcfunction +0 -1
  429. package/dist/data/hunger_games/function/happy_at.mcfunction +0 -1
  430. package/dist/data/hunger_games/function/hearts_at.mcfunction +0 -1
  431. package/dist/data/hunger_games/function/hide_bar.mcfunction +0 -4
  432. package/dist/data/hunger_games/function/init.mcfunction +0 -7
  433. package/dist/data/hunger_games/function/invisible.mcfunction +0 -1
  434. package/dist/data/hunger_games/function/jump.mcfunction +0 -1
  435. package/dist/data/hunger_games/function/load.mcfunction +0 -1
  436. package/dist/data/hunger_games/function/main_game_tick.mcfunction +0 -4
  437. package/dist/data/hunger_games/function/night_vision.mcfunction +0 -1
  438. package/dist/data/hunger_games/function/on_player_death.mcfunction +0 -14
  439. package/dist/data/hunger_games/function/portal_effect.mcfunction +0 -1
  440. package/dist/data/hunger_games/function/regen.mcfunction +0 -1
  441. package/dist/data/hunger_games/function/remove_bar.mcfunction +0 -3
  442. package/dist/data/hunger_games/function/remove_bar__const_0.mcfunction +0 -2
  443. package/dist/data/hunger_games/function/reset_game.mcfunction +0 -3
  444. package/dist/data/hunger_games/function/reset_game__foreach_t0.mcfunction +0 -9
  445. package/dist/data/hunger_games/function/resistance.mcfunction +0 -1
  446. package/dist/data/hunger_games/function/set_day.mcfunction +0 -1
  447. package/dist/data/hunger_games/function/set_easy.mcfunction +0 -1
  448. package/dist/data/hunger_games/function/set_hard.mcfunction +0 -1
  449. package/dist/data/hunger_games/function/set_midnight.mcfunction +0 -1
  450. package/dist/data/hunger_games/function/set_night.mcfunction +0 -1
  451. package/dist/data/hunger_games/function/set_noon.mcfunction +0 -1
  452. package/dist/data/hunger_games/function/set_normal.mcfunction +0 -1
  453. package/dist/data/hunger_games/function/set_peaceful.mcfunction +0 -1
  454. package/dist/data/hunger_games/function/show_bar.mcfunction +0 -4
  455. package/dist/data/hunger_games/function/shrink_border.mcfunction +0 -1
  456. package/dist/data/hunger_games/function/slow_fall.mcfunction +0 -1
  457. package/dist/data/hunger_games/function/smoke.mcfunction +0 -1
  458. package/dist/data/hunger_games/function/sparkles_at.mcfunction +0 -1
  459. package/dist/data/hunger_games/function/speed.mcfunction +0 -1
  460. package/dist/data/hunger_games/function/start_countdown.mcfunction +0 -3
  461. package/dist/data/hunger_games/function/start_countdown__foreach_t0.mcfunction +0 -16
  462. package/dist/data/hunger_games/function/start_game.mcfunction +0 -4
  463. package/dist/data/hunger_games/function/start_game__foreach_t3.mcfunction +0 -4
  464. package/dist/data/hunger_games/function/strength.mcfunction +0 -1
  465. package/dist/data/hunger_games/function/totem_at.mcfunction +0 -1
  466. package/dist/data/hunger_games/function/update_bar.mcfunction +0 -5
  467. package/dist/data/hunger_games/function/update_bar__const_0_0.mcfunction +0 -3
  468. package/dist/data/hunger_games/function/update_bar_color.mcfunction +0 -7
  469. package/dist/data/hunger_games/function/update_bar_color__else_2.mcfunction +0 -5
  470. package/dist/data/hunger_games/function/update_bar_color__else_5.mcfunction +0 -4
  471. package/dist/data/hunger_games/function/update_bar_color__merge_1.mcfunction +0 -1
  472. package/dist/data/hunger_games/function/update_bar_color__merge_4.mcfunction +0 -1
  473. package/dist/data/hunger_games/function/update_bar_color__then_0.mcfunction +0 -4
  474. package/dist/data/hunger_games/function/update_bar_color__then_3.mcfunction +0 -4
  475. package/dist/data/hunger_games/function/weather_clear.mcfunction +0 -1
  476. package/dist/data/hunger_games/function/weather_rain.mcfunction +0 -1
  477. package/dist/data/hunger_games/function/weather_thunder.mcfunction +0 -1
  478. package/dist/data/isqrttest/function/__load.mcfunction +0 -6
  479. package/dist/data/isqrttest/function/isqrt/loop_body_4.mcfunction +0 -12
  480. package/dist/data/isqrttest/function/isqrt/loop_check_3.mcfunction +0 -5
  481. package/dist/data/isqrttest/function/isqrt/loop_exit_5.mcfunction +0 -3
  482. package/dist/data/isqrttest/function/isqrt/merge_2.mcfunction +0 -4
  483. package/dist/data/isqrttest/function/isqrt/merge_8.mcfunction +0 -6
  484. package/dist/data/isqrttest/function/isqrt/then_0.mcfunction +0 -3
  485. package/dist/data/isqrttest/function/isqrt/then_6.mcfunction +0 -3
  486. package/dist/data/isqrttest/function/isqrt.mcfunction +0 -7
  487. package/dist/data/isqrttest/function/test.mcfunction +0 -6
  488. package/dist/data/macrotest/function/get_element.mcfunction +0 -2
  489. package/dist/data/macrotest/function/load.mcfunction +0 -1
  490. package/dist/data/macrotest/function/test_dynamic_index.mcfunction +0 -2
  491. package/dist/data/mathtest/function/__load.mcfunction +0 -3
  492. package/dist/data/mathtest/function/abs/merge_2.mcfunction +0 -3
  493. package/dist/data/mathtest/function/abs/then_0.mcfunction +0 -5
  494. package/dist/data/mathtest/function/abs.mcfunction +0 -6
  495. package/dist/data/mathtest/function/test.mcfunction +0 -5
  496. package/dist/data/minecraft/tags/function/load.json +0 -5
  497. package/dist/data/minecraft/tags/function/tick.json +0 -5
  498. package/dist/data/mypack/function/__load.mcfunction +0 -13
  499. package/dist/data/mypack/function/_atan_init.mcfunction +0 -2
  500. package/dist/data/mypack/function/abs/merge_2.mcfunction +0 -3
  501. package/dist/data/mypack/function/abs/then_0.mcfunction +0 -5
  502. package/dist/data/mypack/function/abs.mcfunction +0 -6
  503. package/dist/data/mypack/function/atan2_fixed/__sgi_1.mcfunction +0 -2
  504. package/dist/data/mypack/function/atan2_fixed/else_34.mcfunction +0 -3
  505. package/dist/data/mypack/function/atan2_fixed/loop_body_31.mcfunction +0 -19
  506. package/dist/data/mypack/function/atan2_fixed/loop_check_30.mcfunction +0 -5
  507. package/dist/data/mypack/function/atan2_fixed/loop_exit_32.mcfunction +0 -6
  508. package/dist/data/mypack/function/atan2_fixed/merge_11.mcfunction +0 -6
  509. package/dist/data/mypack/function/atan2_fixed/merge_14.mcfunction +0 -3
  510. package/dist/data/mypack/function/atan2_fixed/merge_17.mcfunction +0 -6
  511. package/dist/data/mypack/function/atan2_fixed/merge_2.mcfunction +0 -5
  512. package/dist/data/mypack/function/atan2_fixed/merge_20.mcfunction +0 -5
  513. package/dist/data/mypack/function/atan2_fixed/merge_23.mcfunction +0 -5
  514. package/dist/data/mypack/function/atan2_fixed/merge_26.mcfunction +0 -6
  515. package/dist/data/mypack/function/atan2_fixed/merge_29.mcfunction +0 -4
  516. package/dist/data/mypack/function/atan2_fixed/merge_38.mcfunction +0 -5
  517. package/dist/data/mypack/function/atan2_fixed/merge_41.mcfunction +0 -5
  518. package/dist/data/mypack/function/atan2_fixed/merge_44.mcfunction +0 -5
  519. package/dist/data/mypack/function/atan2_fixed/merge_47.mcfunction +0 -5
  520. package/dist/data/mypack/function/atan2_fixed/merge_5.mcfunction +0 -5
  521. package/dist/data/mypack/function/atan2_fixed/merge_8.mcfunction +0 -3
  522. package/dist/data/mypack/function/atan2_fixed/then_0.mcfunction +0 -5
  523. package/dist/data/mypack/function/atan2_fixed/then_12.mcfunction +0 -3
  524. package/dist/data/mypack/function/atan2_fixed/then_15.mcfunction +0 -5
  525. package/dist/data/mypack/function/atan2_fixed/then_18.mcfunction +0 -5
  526. package/dist/data/mypack/function/atan2_fixed/then_21.mcfunction +0 -3
  527. package/dist/data/mypack/function/atan2_fixed/then_24.mcfunction +0 -3
  528. package/dist/data/mypack/function/atan2_fixed/then_27.mcfunction +0 -6
  529. package/dist/data/mypack/function/atan2_fixed/then_3.mcfunction +0 -3
  530. package/dist/data/mypack/function/atan2_fixed/then_33.mcfunction +0 -5
  531. package/dist/data/mypack/function/atan2_fixed/then_36.mcfunction +0 -5
  532. package/dist/data/mypack/function/atan2_fixed/then_39.mcfunction +0 -5
  533. package/dist/data/mypack/function/atan2_fixed/then_42.mcfunction +0 -3
  534. package/dist/data/mypack/function/atan2_fixed/then_45.mcfunction +0 -5
  535. package/dist/data/mypack/function/atan2_fixed/then_6.mcfunction +0 -3
  536. package/dist/data/mypack/function/atan2_fixed/then_9.mcfunction +0 -5
  537. package/dist/data/mypack/function/atan2_fixed.mcfunction +0 -7
  538. package/dist/data/mypack/function/my_game.mcfunction +0 -10
  539. package/dist/data/parkour_race/function/angry_at.mcfunction +0 -1
  540. package/dist/data/parkour_race/function/barrier_wall.mcfunction +0 -1
  541. package/dist/data/parkour_race/function/buff_all.mcfunction +0 -22
  542. package/dist/data/parkour_race/function/check_checkpoints.mcfunction +0 -11
  543. package/dist/data/parkour_race/function/check_checkpoints__exec_t11.mcfunction +0 -4
  544. package/dist/data/parkour_race/function/check_checkpoints__exec_t13.mcfunction +0 -3
  545. package/dist/data/parkour_race/function/check_checkpoints__exec_t5.mcfunction +0 -4
  546. package/dist/data/parkour_race/function/check_checkpoints__exec_t7.mcfunction +0 -4
  547. package/dist/data/parkour_race/function/check_checkpoints__exec_t9.mcfunction +0 -4
  548. package/dist/data/parkour_race/function/check_checkpoints__merge_1.mcfunction +0 -5
  549. package/dist/data/parkour_race/function/check_checkpoints__merge_3.mcfunction +0 -5
  550. package/dist/data/parkour_race/function/check_checkpoints__merge_5.mcfunction +0 -5
  551. package/dist/data/parkour_race/function/check_checkpoints__merge_7.mcfunction +0 -5
  552. package/dist/data/parkour_race/function/check_checkpoints__merge_9.mcfunction +0 -1
  553. package/dist/data/parkour_race/function/check_checkpoints__then_0.mcfunction +0 -2
  554. package/dist/data/parkour_race/function/check_checkpoints__then_2.mcfunction +0 -2
  555. package/dist/data/parkour_race/function/check_checkpoints__then_4.mcfunction +0 -2
  556. package/dist/data/parkour_race/function/check_checkpoints__then_6.mcfunction +0 -2
  557. package/dist/data/parkour_race/function/check_checkpoints__then_8.mcfunction +0 -2
  558. package/dist/data/parkour_race/function/check_fall.mcfunction +0 -1
  559. package/dist/data/parkour_race/function/check_fall__exec_t1.mcfunction +0 -10
  560. package/dist/data/parkour_race/function/clear_area.mcfunction +0 -1
  561. package/dist/data/parkour_race/function/clear_effect.mcfunction +0 -1
  562. package/dist/data/parkour_race/function/clear_effects.mcfunction +0 -1
  563. package/dist/data/parkour_race/function/create_health_bar.mcfunction +0 -24
  564. package/dist/data/parkour_race/function/create_progress_bar.mcfunction +0 -24
  565. package/dist/data/parkour_race/function/create_timer_bar.mcfunction +0 -30
  566. package/dist/data/parkour_race/function/disable_fire_spread.mcfunction +0 -1
  567. package/dist/data/parkour_race/function/disable_keep_inventory.mcfunction +0 -1
  568. package/dist/data/parkour_race/function/disable_mob_griefing.mcfunction +0 -1
  569. package/dist/data/parkour_race/function/enable_keep_inventory.mcfunction +0 -1
  570. package/dist/data/parkour_race/function/end_sparkles_at.mcfunction +0 -1
  571. package/dist/data/parkour_race/function/explosion_effect.mcfunction +0 -1
  572. package/dist/data/parkour_race/function/finish_race.mcfunction +0 -20
  573. package/dist/data/parkour_race/function/finish_race__else_2.mcfunction +0 -4
  574. package/dist/data/parkour_race/function/finish_race__else_5.mcfunction +0 -3
  575. package/dist/data/parkour_race/function/finish_race__merge_1.mcfunction +0 -3
  576. package/dist/data/parkour_race/function/finish_race__merge_4.mcfunction +0 -1
  577. package/dist/data/parkour_race/function/finish_race__then_0.mcfunction +0 -8
  578. package/dist/data/parkour_race/function/finish_race__then_3.mcfunction +0 -10
  579. package/dist/data/parkour_race/function/flames.mcfunction +0 -1
  580. package/dist/data/parkour_race/function/glass_box.mcfunction +0 -2
  581. package/dist/data/parkour_race/function/glow.mcfunction +0 -1
  582. package/dist/data/parkour_race/function/happy_at.mcfunction +0 -1
  583. package/dist/data/parkour_race/function/hearts_at.mcfunction +0 -1
  584. package/dist/data/parkour_race/function/hide_bar.mcfunction +0 -4
  585. package/dist/data/parkour_race/function/init.mcfunction +0 -18
  586. package/dist/data/parkour_race/function/invisible.mcfunction +0 -1
  587. package/dist/data/parkour_race/function/jump.mcfunction +0 -1
  588. package/dist/data/parkour_race/function/load.mcfunction +0 -1
  589. package/dist/data/parkour_race/function/night_vision.mcfunction +0 -1
  590. package/dist/data/parkour_race/function/portal_effect.mcfunction +0 -1
  591. package/dist/data/parkour_race/function/quit_race.mcfunction +0 -10
  592. package/dist/data/parkour_race/function/quit_race__merge_1.mcfunction +0 -1
  593. package/dist/data/parkour_race/function/quit_race__then_0.mcfunction +0 -11
  594. package/dist/data/parkour_race/function/race_tick.mcfunction +0 -1
  595. package/dist/data/parkour_race/function/race_tick__foreach_t0.mcfunction +0 -10
  596. package/dist/data/parkour_race/function/race_tick__foreach_t0__merge_1.mcfunction +0 -1
  597. package/dist/data/parkour_race/function/race_tick__foreach_t0__then_0.mcfunction +0 -13
  598. package/dist/data/parkour_race/function/reach_checkpoint.mcfunction +0 -11
  599. package/dist/data/parkour_race/function/regen.mcfunction +0 -1
  600. package/dist/data/parkour_race/function/remove_bar.mcfunction +0 -3
  601. package/dist/data/parkour_race/function/resistance.mcfunction +0 -1
  602. package/dist/data/parkour_race/function/respawn_at_checkpoint.mcfunction +0 -7
  603. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_1.mcfunction +0 -5
  604. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_3.mcfunction +0 -5
  605. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_5.mcfunction +0 -5
  606. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_7.mcfunction +0 -5
  607. package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_9.mcfunction +0 -1
  608. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_0.mcfunction +0 -6
  609. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_2.mcfunction +0 -6
  610. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_4.mcfunction +0 -6
  611. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_6.mcfunction +0 -6
  612. package/dist/data/parkour_race/function/respawn_at_checkpoint__then_8.mcfunction +0 -6
  613. package/dist/data/parkour_race/function/set_day.mcfunction +0 -1
  614. package/dist/data/parkour_race/function/set_easy.mcfunction +0 -1
  615. package/dist/data/parkour_race/function/set_hard.mcfunction +0 -1
  616. package/dist/data/parkour_race/function/set_midnight.mcfunction +0 -1
  617. package/dist/data/parkour_race/function/set_night.mcfunction +0 -1
  618. package/dist/data/parkour_race/function/set_noon.mcfunction +0 -1
  619. package/dist/data/parkour_race/function/set_normal.mcfunction +0 -1
  620. package/dist/data/parkour_race/function/set_peaceful.mcfunction +0 -1
  621. package/dist/data/parkour_race/function/show_bar.mcfunction +0 -4
  622. package/dist/data/parkour_race/function/show_leaderboard.mcfunction +0 -4
  623. package/dist/data/parkour_race/function/slow_fall.mcfunction +0 -1
  624. package/dist/data/parkour_race/function/smoke.mcfunction +0 -1
  625. package/dist/data/parkour_race/function/sparkles_at.mcfunction +0 -1
  626. package/dist/data/parkour_race/function/speed.mcfunction +0 -1
  627. package/dist/data/parkour_race/function/start_race.mcfunction +0 -10
  628. package/dist/data/parkour_race/function/start_race__merge_1.mcfunction +0 -23
  629. package/dist/data/parkour_race/function/start_race__then_0.mcfunction +0 -1
  630. package/dist/data/parkour_race/function/strength.mcfunction +0 -1
  631. package/dist/data/parkour_race/function/totem_at.mcfunction +0 -1
  632. package/dist/data/parkour_race/function/update_bar.mcfunction +0 -5
  633. package/dist/data/parkour_race/function/update_bar_color.mcfunction +0 -7
  634. package/dist/data/parkour_race/function/update_bar_color__else_2.mcfunction +0 -5
  635. package/dist/data/parkour_race/function/update_bar_color__else_5.mcfunction +0 -4
  636. package/dist/data/parkour_race/function/update_bar_color__merge_1.mcfunction +0 -1
  637. package/dist/data/parkour_race/function/update_bar_color__merge_4.mcfunction +0 -1
  638. package/dist/data/parkour_race/function/update_bar_color__then_0.mcfunction +0 -4
  639. package/dist/data/parkour_race/function/update_bar_color__then_3.mcfunction +0 -4
  640. package/dist/data/parkour_race/function/weather_clear.mcfunction +0 -1
  641. package/dist/data/parkour_race/function/weather_rain.mcfunction +0 -1
  642. package/dist/data/parkour_race/function/weather_thunder.mcfunction +0 -1
  643. package/dist/data/quiz/function/__load.mcfunction +0 -16
  644. package/dist/data/quiz/function/__tick.mcfunction +0 -6
  645. package/dist/data/quiz/function/__trigger_quiz_a_dispatch.mcfunction +0 -4
  646. package/dist/data/quiz/function/__trigger_quiz_b_dispatch.mcfunction +0 -4
  647. package/dist/data/quiz/function/__trigger_quiz_c_dispatch.mcfunction +0 -4
  648. package/dist/data/quiz/function/__trigger_quiz_start_dispatch.mcfunction +0 -4
  649. package/dist/data/quiz/function/answer_a.mcfunction +0 -4
  650. package/dist/data/quiz/function/answer_b.mcfunction +0 -4
  651. package/dist/data/quiz/function/answer_c.mcfunction +0 -4
  652. package/dist/data/quiz/function/ask_question/else_1.mcfunction +0 -5
  653. package/dist/data/quiz/function/ask_question/else_4.mcfunction +0 -5
  654. package/dist/data/quiz/function/ask_question/else_7.mcfunction +0 -4
  655. package/dist/data/quiz/function/ask_question/merge_2.mcfunction +0 -1
  656. package/dist/data/quiz/function/ask_question/merge_5.mcfunction +0 -2
  657. package/dist/data/quiz/function/ask_question/merge_8.mcfunction +0 -2
  658. package/dist/data/quiz/function/ask_question/then_0.mcfunction +0 -4
  659. package/dist/data/quiz/function/ask_question/then_3.mcfunction +0 -4
  660. package/dist/data/quiz/function/ask_question/then_6.mcfunction +0 -4
  661. package/dist/data/quiz/function/ask_question.mcfunction +0 -7
  662. package/dist/data/quiz/function/finish_quiz.mcfunction +0 -6
  663. package/dist/data/quiz/function/handle_answer/else_1.mcfunction +0 -5
  664. package/dist/data/quiz/function/handle_answer/else_10.mcfunction +0 -3
  665. package/dist/data/quiz/function/handle_answer/else_16.mcfunction +0 -3
  666. package/dist/data/quiz/function/handle_answer/else_4.mcfunction +0 -3
  667. package/dist/data/quiz/function/handle_answer/else_7.mcfunction +0 -5
  668. package/dist/data/quiz/function/handle_answer/merge_11.mcfunction +0 -2
  669. package/dist/data/quiz/function/handle_answer/merge_14.mcfunction +0 -2
  670. package/dist/data/quiz/function/handle_answer/merge_17.mcfunction +0 -2
  671. package/dist/data/quiz/function/handle_answer/merge_2.mcfunction +0 -8
  672. package/dist/data/quiz/function/handle_answer/merge_5.mcfunction +0 -2
  673. package/dist/data/quiz/function/handle_answer/merge_8.mcfunction +0 -2
  674. package/dist/data/quiz/function/handle_answer/then_0.mcfunction +0 -5
  675. package/dist/data/quiz/function/handle_answer/then_12.mcfunction +0 -5
  676. package/dist/data/quiz/function/handle_answer/then_15.mcfunction +0 -6
  677. package/dist/data/quiz/function/handle_answer/then_3.mcfunction +0 -6
  678. package/dist/data/quiz/function/handle_answer/then_6.mcfunction +0 -5
  679. package/dist/data/quiz/function/handle_answer/then_9.mcfunction +0 -6
  680. package/dist/data/quiz/function/handle_answer.mcfunction +0 -11
  681. package/dist/data/quiz/function/start_quiz.mcfunction +0 -5
  682. package/dist/data/rawtest/function/load.mcfunction +0 -1
  683. package/dist/data/rawtest/function/test.mcfunction +0 -2
  684. package/dist/data/reqtest/function/__load.mcfunction +0 -4
  685. package/dist/data/reqtest/function/_table_init.mcfunction +0 -2
  686. package/dist/data/reqtest/function/no_trig.mcfunction +0 -3
  687. package/dist/data/reqtest/function/use_table.mcfunction +0 -4
  688. package/dist/data/reqtest2/function/__load.mcfunction +0 -3
  689. package/dist/data/reqtest2/function/no_trig.mcfunction +0 -3
  690. package/dist/data/runtime/function/__load.mcfunction +0 -5
  691. package/dist/data/runtime/function/__tick.mcfunction +0 -2
  692. package/dist/data/runtime/function/counter_tick/then_0.mcfunction +0 -3
  693. package/dist/data/runtime/function/counter_tick.mcfunction +0 -13
  694. package/dist/data/shop/function/__load.mcfunction +0 -7
  695. package/dist/data/shop/function/__tick.mcfunction +0 -3
  696. package/dist/data/shop/function/__trigger_shop_buy_dispatch.mcfunction +0 -4
  697. package/dist/data/shop/function/complete_purchase/else_1.mcfunction +0 -5
  698. package/dist/data/shop/function/complete_purchase/else_4.mcfunction +0 -5
  699. package/dist/data/shop/function/complete_purchase/else_7.mcfunction +0 -3
  700. package/dist/data/shop/function/complete_purchase/merge_2.mcfunction +0 -2
  701. package/dist/data/shop/function/complete_purchase/merge_5.mcfunction +0 -2
  702. package/dist/data/shop/function/complete_purchase/merge_8.mcfunction +0 -2
  703. package/dist/data/shop/function/complete_purchase/then_0.mcfunction +0 -4
  704. package/dist/data/shop/function/complete_purchase/then_3.mcfunction +0 -4
  705. package/dist/data/shop/function/complete_purchase/then_6.mcfunction +0 -4
  706. package/dist/data/shop/function/complete_purchase.mcfunction +0 -7
  707. package/dist/data/shop/function/handle_shop_trigger.mcfunction +0 -3
  708. package/dist/data/swap_test/function/__load.mcfunction +0 -3
  709. package/dist/data/swap_test/function/gcd_old/loop_body_1.mcfunction +0 -7
  710. package/dist/data/swap_test/function/gcd_old/loop_check_0.mcfunction +0 -5
  711. package/dist/data/swap_test/function/gcd_old/loop_exit_2.mcfunction +0 -3
  712. package/dist/data/swap_test/function/gcd_old.mcfunction +0 -8
  713. package/dist/data/test/function/_atan_init.mcfunction +0 -4
  714. package/dist/data/test/function/_hsl_chroma_x.mcfunction +0 -11
  715. package/dist/data/test/function/_hsl_chroma_x__merge_1.mcfunction +0 -6
  716. package/dist/data/test/function/_hsl_chroma_x__then_0.mcfunction +0 -4
  717. package/dist/data/test/function/_math_init.mcfunction +0 -4
  718. package/dist/data/test/function/aabb_contains.mcfunction +0 -13
  719. package/dist/data/test/function/aabb_contains__merge_1.mcfunction +0 -4
  720. package/dist/data/test/function/aabb_contains__merge_10.mcfunction +0 -4
  721. package/dist/data/test/function/aabb_contains__merge_13.mcfunction +0 -4
  722. package/dist/data/test/function/aabb_contains__merge_16.mcfunction +0 -2
  723. package/dist/data/test/function/aabb_contains__merge_4.mcfunction +0 -4
  724. package/dist/data/test/function/aabb_contains__merge_7.mcfunction +0 -4
  725. package/dist/data/test/function/aabb_contains__then_0.mcfunction +0 -2
  726. package/dist/data/test/function/aabb_contains__then_12.mcfunction +0 -2
  727. package/dist/data/test/function/aabb_contains__then_15.mcfunction +0 -2
  728. package/dist/data/test/function/aabb_contains__then_3.mcfunction +0 -2
  729. package/dist/data/test/function/aabb_contains__then_6.mcfunction +0 -2
  730. package/dist/data/test/function/aabb_contains__then_9.mcfunction +0 -2
  731. package/dist/data/test/function/add2d_x.mcfunction +0 -5
  732. package/dist/data/test/function/add2d_y.mcfunction +0 -5
  733. package/dist/data/test/function/add3d_x.mcfunction +0 -5
  734. package/dist/data/test/function/add3d_y.mcfunction +0 -5
  735. package/dist/data/test/function/add3d_z.mcfunction +0 -5
  736. package/dist/data/test/function/angle_diff.mcfunction +0 -13
  737. package/dist/data/test/function/angle_diff__merge_1.mcfunction +0 -1
  738. package/dist/data/test/function/angle_diff__then_0.mcfunction +0 -4
  739. package/dist/data/test/function/angle_normalize.mcfunction +0 -3
  740. package/dist/data/test/function/angle_normalize__loop_body_1.mcfunction +0 -4
  741. package/dist/data/test/function/angle_normalize__loop_body_4.mcfunction +0 -4
  742. package/dist/data/test/function/angle_normalize__loop_exit_2.mcfunction +0 -1
  743. package/dist/data/test/function/angle_normalize__loop_exit_5.mcfunction +0 -1
  744. package/dist/data/test/function/angle_normalize__loop_header_0.mcfunction +0 -5
  745. package/dist/data/test/function/angle_normalize__loop_header_3.mcfunction +0 -5
  746. package/dist/data/test/function/approx_eq.mcfunction +0 -11
  747. package/dist/data/test/function/approx_eq__merge_1.mcfunction +0 -4
  748. package/dist/data/test/function/approx_eq__merge_3.mcfunction +0 -2
  749. package/dist/data/test/function/approx_eq__then_0.mcfunction +0 -4
  750. package/dist/data/test/function/approx_eq__then_2.mcfunction +0 -2
  751. package/dist/data/test/function/atan2_fixed.mcfunction +0 -7
  752. package/dist/data/test/function/atan2_fixed__else_30.mcfunction +0 -2
  753. package/dist/data/test/function/atan2_fixed__loop_body_26.mcfunction +0 -22
  754. package/dist/data/test/function/atan2_fixed__loop_exit_27.mcfunction +0 -6
  755. package/dist/data/test/function/atan2_fixed__loop_header_25.mcfunction +0 -4
  756. package/dist/data/test/function/atan2_fixed__merge_1.mcfunction +0 -5
  757. package/dist/data/test/function/atan2_fixed__merge_10.mcfunction +0 -6
  758. package/dist/data/test/function/atan2_fixed__merge_12.mcfunction +0 -2
  759. package/dist/data/test/function/atan2_fixed__merge_16.mcfunction +0 -6
  760. package/dist/data/test/function/atan2_fixed__merge_18.mcfunction +0 -5
  761. package/dist/data/test/function/atan2_fixed__merge_20.mcfunction +0 -5
  762. package/dist/data/test/function/atan2_fixed__merge_22.mcfunction +0 -5
  763. package/dist/data/test/function/atan2_fixed__merge_24.mcfunction +0 -3
  764. package/dist/data/test/function/atan2_fixed__merge_29.mcfunction +0 -1
  765. package/dist/data/test/function/atan2_fixed__merge_3.mcfunction +0 -5
  766. package/dist/data/test/function/atan2_fixed__merge_32.mcfunction +0 -5
  767. package/dist/data/test/function/atan2_fixed__merge_34.mcfunction +0 -5
  768. package/dist/data/test/function/atan2_fixed__merge_36.mcfunction +0 -3
  769. package/dist/data/test/function/atan2_fixed__merge_40.mcfunction +0 -3
  770. package/dist/data/test/function/atan2_fixed__merge_6.mcfunction +0 -2
  771. package/dist/data/test/function/atan2_fixed__then_0.mcfunction +0 -5
  772. package/dist/data/test/function/atan2_fixed__then_11.mcfunction +0 -2
  773. package/dist/data/test/function/atan2_fixed__then_15.mcfunction +0 -4
  774. package/dist/data/test/function/atan2_fixed__then_17.mcfunction +0 -4
  775. package/dist/data/test/function/atan2_fixed__then_19.mcfunction +0 -2
  776. package/dist/data/test/function/atan2_fixed__then_2.mcfunction +0 -2
  777. package/dist/data/test/function/atan2_fixed__then_21.mcfunction +0 -2
  778. package/dist/data/test/function/atan2_fixed__then_23.mcfunction +0 -5
  779. package/dist/data/test/function/atan2_fixed__then_28.mcfunction +0 -4
  780. package/dist/data/test/function/atan2_fixed__then_31.mcfunction +0 -4
  781. package/dist/data/test/function/atan2_fixed__then_33.mcfunction +0 -5
  782. package/dist/data/test/function/atan2_fixed__then_35.mcfunction +0 -1
  783. package/dist/data/test/function/atan2_fixed__then_39.mcfunction +0 -3
  784. package/dist/data/test/function/atan2_fixed__then_5.mcfunction +0 -2
  785. package/dist/data/test/function/atan2_fixed__then_9.mcfunction +0 -5
  786. package/dist/data/test/function/avg3.mcfunction +0 -11
  787. package/dist/data/test/function/avg5.mcfunction +0 -17
  788. package/dist/data/test/function/bernoulli.mcfunction +0 -13
  789. package/dist/data/test/function/bernoulli__merge_1.mcfunction +0 -7
  790. package/dist/data/test/function/bernoulli__merge_3.mcfunction +0 -2
  791. package/dist/data/test/function/bernoulli__then_0.mcfunction +0 -4
  792. package/dist/data/test/function/bernoulli__then_2.mcfunction +0 -2
  793. package/dist/data/test/function/bigint3_add_hi.mcfunction +0 -11
  794. package/dist/data/test/function/bigint3_add_lo.mcfunction +0 -8
  795. package/dist/data/test/function/bigint3_add_mid.mcfunction +0 -11
  796. package/dist/data/test/function/bigint3_borrow_lo.mcfunction +0 -6
  797. package/dist/data/test/function/bigint3_borrow_lo__merge_1.mcfunction +0 -2
  798. package/dist/data/test/function/bigint3_borrow_lo__then_0.mcfunction +0 -2
  799. package/dist/data/test/function/bigint3_borrow_mid.mcfunction +0 -9
  800. package/dist/data/test/function/bigint3_borrow_mid__merge_1.mcfunction +0 -2
  801. package/dist/data/test/function/bigint3_borrow_mid__then_0.mcfunction +0 -2
  802. package/dist/data/test/function/bigint3_carry_lo.mcfunction +0 -8
  803. package/dist/data/test/function/bigint3_carry_mid.mcfunction +0 -11
  804. package/dist/data/test/function/bigint3_cmp.mcfunction +0 -10
  805. package/dist/data/test/function/bigint3_cmp__merge_1.mcfunction +0 -4
  806. package/dist/data/test/function/bigint3_cmp__merge_10.mcfunction +0 -4
  807. package/dist/data/test/function/bigint3_cmp__merge_13.mcfunction +0 -4
  808. package/dist/data/test/function/bigint3_cmp__merge_16.mcfunction +0 -2
  809. package/dist/data/test/function/bigint3_cmp__merge_4.mcfunction +0 -4
  810. package/dist/data/test/function/bigint3_cmp__merge_7.mcfunction +0 -4
  811. package/dist/data/test/function/bigint3_cmp__then_0.mcfunction +0 -2
  812. package/dist/data/test/function/bigint3_cmp__then_12.mcfunction +0 -2
  813. package/dist/data/test/function/bigint3_cmp__then_15.mcfunction +0 -2
  814. package/dist/data/test/function/bigint3_cmp__then_3.mcfunction +0 -2
  815. package/dist/data/test/function/bigint3_cmp__then_6.mcfunction +0 -2
  816. package/dist/data/test/function/bigint3_cmp__then_9.mcfunction +0 -2
  817. package/dist/data/test/function/bigint3_div_chunk.mcfunction +0 -11
  818. package/dist/data/test/function/bigint3_mul1_hi.mcfunction +0 -8
  819. package/dist/data/test/function/bigint3_mul1_lo.mcfunction +0 -8
  820. package/dist/data/test/function/bigint3_mul1_mid.mcfunction +0 -2
  821. package/dist/data/test/function/bigint3_rem_chunk.mcfunction +0 -11
  822. package/dist/data/test/function/bigint3_sub_hi.mcfunction +0 -8
  823. package/dist/data/test/function/bigint3_sub_lo.mcfunction +0 -6
  824. package/dist/data/test/function/bigint3_sub_lo__merge_1.mcfunction +0 -5
  825. package/dist/data/test/function/bigint3_sub_lo__then_0.mcfunction +0 -3
  826. package/dist/data/test/function/bigint3_sub_mid.mcfunction +0 -13
  827. package/dist/data/test/function/bigint3_sub_mid__merge_1.mcfunction +0 -1
  828. package/dist/data/test/function/bigint3_sub_mid__then_0.mcfunction +0 -4
  829. package/dist/data/test/function/bigint3_to_int32.mcfunction +0 -14
  830. package/dist/data/test/function/bigint_base.mcfunction +0 -2
  831. package/dist/data/test/function/bit_and.mcfunction +0 -6
  832. package/dist/data/test/function/bit_and__loop_body_1.mcfunction +0 -10
  833. package/dist/data/test/function/bit_and__loop_exit_2.mcfunction +0 -1
  834. package/dist/data/test/function/bit_and__loop_header_0.mcfunction +0 -5
  835. package/dist/data/test/function/bit_and__merge_4.mcfunction +0 -8
  836. package/dist/data/test/function/bit_and__merge_6.mcfunction +0 -1
  837. package/dist/data/test/function/bit_and__then_3.mcfunction +0 -10
  838. package/dist/data/test/function/bit_and__then_5.mcfunction +0 -4
  839. package/dist/data/test/function/bit_clear.mcfunction +0 -5
  840. package/dist/data/test/function/bit_clear__loop_body_1.mcfunction +0 -8
  841. package/dist/data/test/function/bit_clear__loop_exit_2.mcfunction +0 -10
  842. package/dist/data/test/function/bit_clear__loop_header_0.mcfunction +0 -4
  843. package/dist/data/test/function/bit_clear__merge_4.mcfunction +0 -1
  844. package/dist/data/test/function/bit_clear__then_3.mcfunction +0 -3
  845. package/dist/data/test/function/bit_get.mcfunction +0 -5
  846. package/dist/data/test/function/bit_get__loop_body_1.mcfunction +0 -8
  847. package/dist/data/test/function/bit_get__loop_exit_2.mcfunction +0 -6
  848. package/dist/data/test/function/bit_get__loop_header_0.mcfunction +0 -4
  849. package/dist/data/test/function/bit_not.mcfunction +0 -5
  850. package/dist/data/test/function/bit_not__loop_body_1.mcfunction +0 -10
  851. package/dist/data/test/function/bit_not__loop_exit_2.mcfunction +0 -1
  852. package/dist/data/test/function/bit_not__loop_header_0.mcfunction +0 -5
  853. package/dist/data/test/function/bit_not__merge_4.mcfunction +0 -8
  854. package/dist/data/test/function/bit_not__then_3.mcfunction +0 -4
  855. package/dist/data/test/function/bit_or.mcfunction +0 -6
  856. package/dist/data/test/function/bit_or__loop_body_1.mcfunction +0 -10
  857. package/dist/data/test/function/bit_or__loop_exit_2.mcfunction +0 -1
  858. package/dist/data/test/function/bit_or__loop_header_0.mcfunction +0 -5
  859. package/dist/data/test/function/bit_or__merge_4.mcfunction +0 -10
  860. package/dist/data/test/function/bit_or__merge_6.mcfunction +0 -8
  861. package/dist/data/test/function/bit_or__merge_8.mcfunction +0 -1
  862. package/dist/data/test/function/bit_or__then_3.mcfunction +0 -4
  863. package/dist/data/test/function/bit_or__then_5.mcfunction +0 -10
  864. package/dist/data/test/function/bit_or__then_7.mcfunction +0 -4
  865. package/dist/data/test/function/bit_set.mcfunction +0 -5
  866. package/dist/data/test/function/bit_set__loop_body_1.mcfunction +0 -8
  867. package/dist/data/test/function/bit_set__loop_exit_2.mcfunction +0 -10
  868. package/dist/data/test/function/bit_set__loop_header_0.mcfunction +0 -4
  869. package/dist/data/test/function/bit_set__merge_4.mcfunction +0 -1
  870. package/dist/data/test/function/bit_set__then_3.mcfunction +0 -3
  871. package/dist/data/test/function/bit_shl.mcfunction +0 -5
  872. package/dist/data/test/function/bit_shl__loop_body_1.mcfunction +0 -8
  873. package/dist/data/test/function/bit_shl__loop_exit_2.mcfunction +0 -1
  874. package/dist/data/test/function/bit_shl__loop_header_0.mcfunction +0 -4
  875. package/dist/data/test/function/bit_shr.mcfunction +0 -5
  876. package/dist/data/test/function/bit_shr__loop_body_1.mcfunction +0 -8
  877. package/dist/data/test/function/bit_shr__loop_exit_2.mcfunction +0 -1
  878. package/dist/data/test/function/bit_shr__loop_header_0.mcfunction +0 -4
  879. package/dist/data/test/function/bit_toggle.mcfunction +0 -5
  880. package/dist/data/test/function/bit_toggle__loop_body_1.mcfunction +0 -8
  881. package/dist/data/test/function/bit_toggle__loop_exit_2.mcfunction +0 -10
  882. package/dist/data/test/function/bit_toggle__loop_header_0.mcfunction +0 -4
  883. package/dist/data/test/function/bit_toggle__merge_4.mcfunction +0 -3
  884. package/dist/data/test/function/bit_toggle__then_3.mcfunction +0 -3
  885. package/dist/data/test/function/bit_xor.mcfunction +0 -6
  886. package/dist/data/test/function/bit_xor__loop_body_1.mcfunction +0 -14
  887. package/dist/data/test/function/bit_xor__loop_exit_2.mcfunction +0 -1
  888. package/dist/data/test/function/bit_xor__loop_header_0.mcfunction +0 -5
  889. package/dist/data/test/function/bit_xor__merge_4.mcfunction +0 -8
  890. package/dist/data/test/function/bit_xor__then_3.mcfunction +0 -4
  891. package/dist/data/test/function/cbrt_fx.mcfunction +0 -6
  892. package/dist/data/test/function/cbrt_fx__loop_body_6.mcfunction +0 -8
  893. package/dist/data/test/function/cbrt_fx__loop_exit_7.mcfunction +0 -1
  894. package/dist/data/test/function/cbrt_fx__loop_header_5.mcfunction +0 -5
  895. package/dist/data/test/function/cbrt_fx__merge_1.mcfunction +0 -9
  896. package/dist/data/test/function/cbrt_fx__merge_11.mcfunction +0 -6
  897. package/dist/data/test/function/cbrt_fx__merge_13.mcfunction +0 -4
  898. package/dist/data/test/function/cbrt_fx__merge_4.mcfunction +0 -2
  899. package/dist/data/test/function/cbrt_fx__merge_9.mcfunction +0 -14
  900. package/dist/data/test/function/cbrt_fx__then_0.mcfunction +0 -2
  901. package/dist/data/test/function/cbrt_fx__then_10.mcfunction +0 -2
  902. package/dist/data/test/function/cbrt_fx__then_12.mcfunction +0 -2
  903. package/dist/data/test/function/cbrt_fx__then_3.mcfunction +0 -2
  904. package/dist/data/test/function/cbrt_fx__then_8.mcfunction +0 -2
  905. package/dist/data/test/function/ceil_div.mcfunction +0 -9
  906. package/dist/data/test/function/chebyshev.mcfunction +0 -15
  907. package/dist/data/test/function/chebyshev3d.mcfunction +0 -20
  908. package/dist/data/test/function/chebyshev3d__merge_1.mcfunction +0 -5
  909. package/dist/data/test/function/chebyshev3d__merge_3.mcfunction +0 -5
  910. package/dist/data/test/function/chebyshev3d__merge_5.mcfunction +0 -5
  911. package/dist/data/test/function/chebyshev3d__merge_7.mcfunction +0 -4
  912. package/dist/data/test/function/chebyshev3d__merge_9.mcfunction +0 -1
  913. package/dist/data/test/function/chebyshev3d__then_0.mcfunction +0 -4
  914. package/dist/data/test/function/chebyshev3d__then_2.mcfunction +0 -4
  915. package/dist/data/test/function/chebyshev3d__then_4.mcfunction +0 -4
  916. package/dist/data/test/function/chebyshev3d__then_6.mcfunction +0 -2
  917. package/dist/data/test/function/chebyshev3d__then_8.mcfunction +0 -2
  918. package/dist/data/test/function/chebyshev__merge_1.mcfunction +0 -5
  919. package/dist/data/test/function/chebyshev__merge_3.mcfunction +0 -4
  920. package/dist/data/test/function/chebyshev__merge_5.mcfunction +0 -1
  921. package/dist/data/test/function/chebyshev__then_0.mcfunction +0 -4
  922. package/dist/data/test/function/chebyshev__then_2.mcfunction +0 -4
  923. package/dist/data/test/function/chebyshev__then_4.mcfunction +0 -1
  924. package/dist/data/test/function/chunk_hi.mcfunction +0 -5
  925. package/dist/data/test/function/chunk_lo.mcfunction +0 -5
  926. package/dist/data/test/function/clamp3.mcfunction +0 -7
  927. package/dist/data/test/function/clamp3__merge_1.mcfunction +0 -4
  928. package/dist/data/test/function/clamp3__merge_4.mcfunction +0 -1
  929. package/dist/data/test/function/clamp3__then_0.mcfunction +0 -1
  930. package/dist/data/test/function/clamp3__then_3.mcfunction +0 -1
  931. package/dist/data/test/function/combinations.mcfunction +0 -7
  932. package/dist/data/test/function/combinations__loop_body_9.mcfunction +0 -15
  933. package/dist/data/test/function/combinations__loop_exit_10.mcfunction +0 -1
  934. package/dist/data/test/function/combinations__loop_header_8.mcfunction +0 -4
  935. package/dist/data/test/function/combinations__merge_1.mcfunction +0 -4
  936. package/dist/data/test/function/combinations__merge_4.mcfunction +0 -7
  937. package/dist/data/test/function/combinations__merge_7.mcfunction +0 -3
  938. package/dist/data/test/function/combinations__then_0.mcfunction +0 -2
  939. package/dist/data/test/function/combinations__then_3.mcfunction +0 -2
  940. package/dist/data/test/function/combinations__then_6.mcfunction +0 -4
  941. package/dist/data/test/function/cos_fixed.mcfunction +0 -7
  942. package/dist/data/test/function/cos_hp.mcfunction +0 -6
  943. package/dist/data/test/function/cross2d.mcfunction +0 -11
  944. package/dist/data/test/function/cross3d_x.mcfunction +0 -11
  945. package/dist/data/test/function/cross3d_y.mcfunction +0 -11
  946. package/dist/data/test/function/cross3d_z.mcfunction +0 -11
  947. package/dist/data/test/function/cylinder_contains.mcfunction +0 -21
  948. package/dist/data/test/function/cylinder_contains__merge_1.mcfunction +0 -2
  949. package/dist/data/test/function/cylinder_contains__then_0.mcfunction +0 -2
  950. package/dist/data/test/function/distance2d_fixed.mcfunction +0 -13
  951. package/dist/data/test/function/distance3d_fixed.mcfunction +0 -18
  952. package/dist/data/test/function/divfix.mcfunction +0 -7
  953. package/dist/data/test/function/divfix__merge_1.mcfunction +0 -6
  954. package/dist/data/test/function/divfix__then_0.mcfunction +0 -2
  955. package/dist/data/test/function/dot2d.mcfunction +0 -11
  956. package/dist/data/test/function/dot3d.mcfunction +0 -17
  957. package/dist/data/test/function/exp_dist_approx.mcfunction +0 -13
  958. package/dist/data/test/function/exp_dist_approx__merge_1.mcfunction +0 -16
  959. package/dist/data/test/function/exp_dist_approx__merge_3.mcfunction +0 -11
  960. package/dist/data/test/function/exp_dist_approx__merge_5.mcfunction +0 -1
  961. package/dist/data/test/function/exp_dist_approx__then_0.mcfunction +0 -4
  962. package/dist/data/test/function/exp_dist_approx__then_2.mcfunction +0 -2
  963. package/dist/data/test/function/exp_dist_approx__then_4.mcfunction +0 -2
  964. package/dist/data/test/function/exp_fx.mcfunction +0 -17
  965. package/dist/data/test/function/exp_fx__loop_body_10.mcfunction +0 -8
  966. package/dist/data/test/function/exp_fx__loop_body_5.mcfunction +0 -8
  967. package/dist/data/test/function/exp_fx__loop_exit_11.mcfunction +0 -1
  968. package/dist/data/test/function/exp_fx__loop_exit_6.mcfunction +0 -1
  969. package/dist/data/test/function/exp_fx__loop_header_4.mcfunction +0 -4
  970. package/dist/data/test/function/exp_fx__loop_header_9.mcfunction +0 -4
  971. package/dist/data/test/function/exp_fx__merge_1.mcfunction +0 -48
  972. package/dist/data/test/function/exp_fx__merge_3.mcfunction +0 -5
  973. package/dist/data/test/function/exp_fx__merge_8.mcfunction +0 -1
  974. package/dist/data/test/function/exp_fx__then_0.mcfunction +0 -7
  975. package/dist/data/test/function/exp_fx__then_2.mcfunction +0 -2
  976. package/dist/data/test/function/exp_fx__then_7.mcfunction +0 -5
  977. package/dist/data/test/function/factorial.mcfunction +0 -6
  978. package/dist/data/test/function/factorial__loop_body_4.mcfunction +0 -7
  979. package/dist/data/test/function/factorial__loop_exit_5.mcfunction +0 -1
  980. package/dist/data/test/function/factorial__loop_header_3.mcfunction +0 -4
  981. package/dist/data/test/function/factorial__merge_1.mcfunction +0 -3
  982. package/dist/data/test/function/factorial__then_0.mcfunction +0 -2
  983. package/dist/data/test/function/format_time_h.mcfunction +0 -5
  984. package/dist/data/test/function/format_time_m.mcfunction +0 -8
  985. package/dist/data/test/function/format_time_s.mcfunction +0 -8
  986. package/dist/data/test/function/gamma_int.mcfunction +0 -6
  987. package/dist/data/test/function/gamma_int__merge_1.mcfunction +0 -6
  988. package/dist/data/test/function/gamma_int__then_0.mcfunction +0 -2
  989. package/dist/data/test/function/gcd.mcfunction +0 -8
  990. package/dist/data/test/function/gcd__loop_body_5.mcfunction +0 -5
  991. package/dist/data/test/function/gcd__loop_exit_6.mcfunction +0 -1
  992. package/dist/data/test/function/gcd__loop_header_4.mcfunction +0 -5
  993. package/dist/data/test/function/gcd__merge_1.mcfunction +0 -6
  994. package/dist/data/test/function/gcd__merge_3.mcfunction +0 -1
  995. package/dist/data/test/function/gcd__then_0.mcfunction +0 -4
  996. package/dist/data/test/function/gcd__then_2.mcfunction +0 -4
  997. package/dist/data/test/function/hsl_to_b.mcfunction +0 -24
  998. package/dist/data/test/function/hsl_to_b__merge_1.mcfunction +0 -30
  999. package/dist/data/test/function/hsl_to_b__merge_12.mcfunction +0 -5
  1000. package/dist/data/test/function/hsl_to_b__merge_15.mcfunction +0 -3
  1001. package/dist/data/test/function/hsl_to_b__merge_3.mcfunction +0 -5
  1002. package/dist/data/test/function/hsl_to_b__merge_6.mcfunction +0 -5
  1003. package/dist/data/test/function/hsl_to_b__merge_9.mcfunction +0 -5
  1004. package/dist/data/test/function/hsl_to_b__then_0.mcfunction +0 -4
  1005. package/dist/data/test/function/hsl_to_b__then_11.mcfunction +0 -3
  1006. package/dist/data/test/function/hsl_to_b__then_14.mcfunction +0 -3
  1007. package/dist/data/test/function/hsl_to_b__then_2.mcfunction +0 -1
  1008. package/dist/data/test/function/hsl_to_b__then_5.mcfunction +0 -1
  1009. package/dist/data/test/function/hsl_to_b__then_8.mcfunction +0 -3
  1010. package/dist/data/test/function/hsl_to_g.mcfunction +0 -24
  1011. package/dist/data/test/function/hsl_to_g__merge_1.mcfunction +0 -30
  1012. package/dist/data/test/function/hsl_to_g__merge_12.mcfunction +0 -5
  1013. package/dist/data/test/function/hsl_to_g__merge_15.mcfunction +0 -1
  1014. package/dist/data/test/function/hsl_to_g__merge_3.mcfunction +0 -5
  1015. package/dist/data/test/function/hsl_to_g__merge_6.mcfunction +0 -5
  1016. package/dist/data/test/function/hsl_to_g__merge_9.mcfunction +0 -5
  1017. package/dist/data/test/function/hsl_to_g__then_0.mcfunction +0 -4
  1018. package/dist/data/test/function/hsl_to_g__then_11.mcfunction +0 -3
  1019. package/dist/data/test/function/hsl_to_g__then_14.mcfunction +0 -1
  1020. package/dist/data/test/function/hsl_to_g__then_2.mcfunction +0 -3
  1021. package/dist/data/test/function/hsl_to_g__then_5.mcfunction +0 -3
  1022. package/dist/data/test/function/hsl_to_g__then_8.mcfunction +0 -3
  1023. package/dist/data/test/function/hsl_to_packed.mcfunction +0 -24
  1024. package/dist/data/test/function/hsl_to_r.mcfunction +0 -24
  1025. package/dist/data/test/function/hsl_to_r__merge_1.mcfunction +0 -30
  1026. package/dist/data/test/function/hsl_to_r__merge_12.mcfunction +0 -5
  1027. package/dist/data/test/function/hsl_to_r__merge_15.mcfunction +0 -3
  1028. package/dist/data/test/function/hsl_to_r__merge_3.mcfunction +0 -5
  1029. package/dist/data/test/function/hsl_to_r__merge_6.mcfunction +0 -5
  1030. package/dist/data/test/function/hsl_to_r__merge_9.mcfunction +0 -5
  1031. package/dist/data/test/function/hsl_to_r__then_0.mcfunction +0 -4
  1032. package/dist/data/test/function/hsl_to_r__then_11.mcfunction +0 -1
  1033. package/dist/data/test/function/hsl_to_r__then_14.mcfunction +0 -3
  1034. package/dist/data/test/function/hsl_to_r__then_2.mcfunction +0 -3
  1035. package/dist/data/test/function/hsl_to_r__then_5.mcfunction +0 -3
  1036. package/dist/data/test/function/hsl_to_r__then_8.mcfunction +0 -1
  1037. package/dist/data/test/function/init_trig.mcfunction +0 -1
  1038. package/dist/data/test/function/int32_to_bigint3_hi.mcfunction +0 -6
  1039. package/dist/data/test/function/int32_to_bigint3_hi__merge_1.mcfunction +0 -4
  1040. package/dist/data/test/function/int32_to_bigint3_hi__then_0.mcfunction +0 -4
  1041. package/dist/data/test/function/int32_to_bigint3_lo.mcfunction +0 -6
  1042. package/dist/data/test/function/int32_to_bigint3_lo__merge_1.mcfunction +0 -4
  1043. package/dist/data/test/function/int32_to_bigint3_lo__then_0.mcfunction +0 -4
  1044. package/dist/data/test/function/int32_to_bigint3_mid.mcfunction +0 -6
  1045. package/dist/data/test/function/int32_to_bigint3_mid__merge_1.mcfunction +0 -7
  1046. package/dist/data/test/function/int32_to_bigint3_mid__then_0.mcfunction +0 -4
  1047. package/dist/data/test/function/isqrt.mcfunction +0 -6
  1048. package/dist/data/test/function/isqrt__loop_body_10.mcfunction +0 -8
  1049. package/dist/data/test/function/isqrt__loop_body_13.mcfunction +0 -12
  1050. package/dist/data/test/function/isqrt__loop_body_7.mcfunction +0 -8
  1051. package/dist/data/test/function/isqrt__loop_exit_11.mcfunction +0 -2
  1052. package/dist/data/test/function/isqrt__loop_exit_14.mcfunction +0 -1
  1053. package/dist/data/test/function/isqrt__loop_exit_8.mcfunction +0 -9
  1054. package/dist/data/test/function/isqrt__loop_header_12.mcfunction +0 -5
  1055. package/dist/data/test/function/isqrt__loop_header_6.mcfunction +0 -5
  1056. package/dist/data/test/function/isqrt__loop_header_9.mcfunction +0 -4
  1057. package/dist/data/test/function/isqrt__merge_1.mcfunction +0 -5
  1058. package/dist/data/test/function/isqrt__merge_16.mcfunction +0 -5
  1059. package/dist/data/test/function/isqrt__merge_4.mcfunction +0 -3
  1060. package/dist/data/test/function/isqrt__then_0.mcfunction +0 -2
  1061. package/dist/data/test/function/isqrt__then_15.mcfunction +0 -1
  1062. package/dist/data/test/function/isqrt__then_3.mcfunction +0 -2
  1063. package/dist/data/test/function/lcm.mcfunction +0 -12
  1064. package/dist/data/test/function/lcm__merge_1.mcfunction +0 -5
  1065. package/dist/data/test/function/lcm__then_0.mcfunction +0 -2
  1066. package/dist/data/test/function/length2d_fixed.mcfunction +0 -15
  1067. package/dist/data/test/function/length3d_fixed.mcfunction +0 -20
  1068. package/dist/data/test/function/lerp.mcfunction +0 -13
  1069. package/dist/data/test/function/lerp2d_x.mcfunction +0 -13
  1070. package/dist/data/test/function/lerp2d_y.mcfunction +0 -13
  1071. package/dist/data/test/function/list_avg.mcfunction +0 -9
  1072. package/dist/data/test/function/list_clamp_all.mcfunction +0 -6
  1073. package/dist/data/test/function/list_clamp_all__loop_body_1.mcfunction +0 -4
  1074. package/dist/data/test/function/list_clamp_all__loop_exit_2.mcfunction +0 -1
  1075. package/dist/data/test/function/list_clamp_all__loop_header_0.mcfunction +0 -4
  1076. package/dist/data/test/function/list_clamp_all__merge_4.mcfunction +0 -4
  1077. package/dist/data/test/function/list_clamp_all__merge_6.mcfunction +0 -4
  1078. package/dist/data/test/function/list_clamp_all__then_3.mcfunction +0 -1
  1079. package/dist/data/test/function/list_clamp_all__then_5.mcfunction +0 -1
  1080. package/dist/data/test/function/list_contains.mcfunction +0 -5
  1081. package/dist/data/test/function/list_contains__loop_body_1.mcfunction +0 -4
  1082. package/dist/data/test/function/list_contains__loop_exit_2.mcfunction +0 -2
  1083. package/dist/data/test/function/list_contains__loop_header_0.mcfunction +0 -4
  1084. package/dist/data/test/function/list_contains__merge_4.mcfunction +0 -4
  1085. package/dist/data/test/function/list_contains__then_3.mcfunction +0 -2
  1086. package/dist/data/test/function/list_count_if_gt.mcfunction +0 -6
  1087. package/dist/data/test/function/list_count_if_gt__loop_body_1.mcfunction +0 -4
  1088. package/dist/data/test/function/list_count_if_gt__loop_exit_2.mcfunction +0 -1
  1089. package/dist/data/test/function/list_count_if_gt__loop_header_0.mcfunction +0 -4
  1090. package/dist/data/test/function/list_count_if_gt__merge_4.mcfunction +0 -4
  1091. package/dist/data/test/function/list_count_if_gt__then_3.mcfunction +0 -4
  1092. package/dist/data/test/function/list_fill.mcfunction +0 -3
  1093. package/dist/data/test/function/list_fill__loop_body_1.mcfunction +0 -4
  1094. package/dist/data/test/function/list_fill__loop_exit_2.mcfunction +0 -1
  1095. package/dist/data/test/function/list_fill__loop_header_0.mcfunction +0 -4
  1096. package/dist/data/test/function/list_index_of.mcfunction +0 -5
  1097. package/dist/data/test/function/list_index_of__loop_body_1.mcfunction +0 -4
  1098. package/dist/data/test/function/list_index_of__loop_exit_2.mcfunction +0 -2
  1099. package/dist/data/test/function/list_index_of__loop_header_0.mcfunction +0 -4
  1100. package/dist/data/test/function/list_index_of__merge_4.mcfunction +0 -4
  1101. package/dist/data/test/function/list_index_of__then_3.mcfunction +0 -1
  1102. package/dist/data/test/function/list_max.mcfunction +0 -5
  1103. package/dist/data/test/function/list_max3.mcfunction +0 -8
  1104. package/dist/data/test/function/list_max3__merge_1.mcfunction +0 -4
  1105. package/dist/data/test/function/list_max3__merge_3.mcfunction +0 -1
  1106. package/dist/data/test/function/list_max3__then_0.mcfunction +0 -2
  1107. package/dist/data/test/function/list_max3__then_2.mcfunction +0 -2
  1108. package/dist/data/test/function/list_max5.mcfunction +0 -10
  1109. package/dist/data/test/function/list_max5__merge_1.mcfunction +0 -4
  1110. package/dist/data/test/function/list_max5__merge_3.mcfunction +0 -4
  1111. package/dist/data/test/function/list_max5__merge_5.mcfunction +0 -4
  1112. package/dist/data/test/function/list_max5__merge_7.mcfunction +0 -1
  1113. package/dist/data/test/function/list_max5__then_0.mcfunction +0 -2
  1114. package/dist/data/test/function/list_max5__then_2.mcfunction +0 -2
  1115. package/dist/data/test/function/list_max5__then_4.mcfunction +0 -2
  1116. package/dist/data/test/function/list_max5__then_6.mcfunction +0 -2
  1117. package/dist/data/test/function/list_max__loop_body_1.mcfunction +0 -4
  1118. package/dist/data/test/function/list_max__loop_exit_2.mcfunction +0 -1
  1119. package/dist/data/test/function/list_max__loop_header_0.mcfunction +0 -4
  1120. package/dist/data/test/function/list_max__merge_4.mcfunction +0 -4
  1121. package/dist/data/test/function/list_max__then_3.mcfunction +0 -2
  1122. package/dist/data/test/function/list_min.mcfunction +0 -5
  1123. package/dist/data/test/function/list_min3.mcfunction +0 -8
  1124. package/dist/data/test/function/list_min3__merge_1.mcfunction +0 -4
  1125. package/dist/data/test/function/list_min3__merge_3.mcfunction +0 -1
  1126. package/dist/data/test/function/list_min3__then_0.mcfunction +0 -2
  1127. package/dist/data/test/function/list_min3__then_2.mcfunction +0 -2
  1128. package/dist/data/test/function/list_min5.mcfunction +0 -10
  1129. package/dist/data/test/function/list_min5__merge_1.mcfunction +0 -4
  1130. package/dist/data/test/function/list_min5__merge_3.mcfunction +0 -4
  1131. package/dist/data/test/function/list_min5__merge_5.mcfunction +0 -4
  1132. package/dist/data/test/function/list_min5__merge_7.mcfunction +0 -1
  1133. package/dist/data/test/function/list_min5__then_0.mcfunction +0 -2
  1134. package/dist/data/test/function/list_min5__then_2.mcfunction +0 -2
  1135. package/dist/data/test/function/list_min5__then_4.mcfunction +0 -2
  1136. package/dist/data/test/function/list_min5__then_6.mcfunction +0 -2
  1137. package/dist/data/test/function/list_min__loop_body_1.mcfunction +0 -4
  1138. package/dist/data/test/function/list_min__loop_exit_2.mcfunction +0 -1
  1139. package/dist/data/test/function/list_min__loop_header_0.mcfunction +0 -4
  1140. package/dist/data/test/function/list_min__merge_4.mcfunction +0 -4
  1141. package/dist/data/test/function/list_min__then_3.mcfunction +0 -2
  1142. package/dist/data/test/function/list_reverse.mcfunction +0 -6
  1143. package/dist/data/test/function/list_reverse__loop_body_1.mcfunction +0 -9
  1144. package/dist/data/test/function/list_reverse__loop_exit_2.mcfunction +0 -1
  1145. package/dist/data/test/function/list_reverse__loop_header_0.mcfunction +0 -4
  1146. package/dist/data/test/function/list_sort_asc.mcfunction +0 -4
  1147. package/dist/data/test/function/list_sort_asc__loop_body_1.mcfunction +0 -2
  1148. package/dist/data/test/function/list_sort_asc__loop_body_4.mcfunction +0 -4
  1149. package/dist/data/test/function/list_sort_asc__loop_exit_2.mcfunction +0 -1
  1150. package/dist/data/test/function/list_sort_asc__loop_exit_5.mcfunction +0 -4
  1151. package/dist/data/test/function/list_sort_asc__loop_header_0.mcfunction +0 -6
  1152. package/dist/data/test/function/list_sort_asc__loop_header_3.mcfunction +0 -8
  1153. package/dist/data/test/function/list_sort_asc__merge_7.mcfunction +0 -4
  1154. package/dist/data/test/function/list_sort_asc__then_6.mcfunction +0 -1
  1155. package/dist/data/test/function/list_sort_desc.mcfunction +0 -4
  1156. package/dist/data/test/function/list_sort_desc__loop_body_1.mcfunction +0 -2
  1157. package/dist/data/test/function/list_sort_desc__loop_body_4.mcfunction +0 -4
  1158. package/dist/data/test/function/list_sort_desc__loop_exit_2.mcfunction +0 -1
  1159. package/dist/data/test/function/list_sort_desc__loop_exit_5.mcfunction +0 -4
  1160. package/dist/data/test/function/list_sort_desc__loop_header_0.mcfunction +0 -6
  1161. package/dist/data/test/function/list_sort_desc__loop_header_3.mcfunction +0 -8
  1162. package/dist/data/test/function/list_sort_desc__merge_7.mcfunction +0 -4
  1163. package/dist/data/test/function/list_sort_desc__then_6.mcfunction +0 -1
  1164. package/dist/data/test/function/list_sum.mcfunction +0 -5
  1165. package/dist/data/test/function/list_sum3.mcfunction +0 -8
  1166. package/dist/data/test/function/list_sum4.mcfunction +0 -11
  1167. package/dist/data/test/function/list_sum5.mcfunction +0 -14
  1168. package/dist/data/test/function/list_sum__loop_body_1.mcfunction +0 -7
  1169. package/dist/data/test/function/list_sum__loop_exit_2.mcfunction +0 -1
  1170. package/dist/data/test/function/list_sum__loop_header_0.mcfunction +0 -4
  1171. package/dist/data/test/function/ln.mcfunction +0 -9
  1172. package/dist/data/test/function/ln__loop_body_1.mcfunction +0 -8
  1173. package/dist/data/test/function/ln__loop_body_4.mcfunction +0 -8
  1174. package/dist/data/test/function/ln__loop_exit_2.mcfunction +0 -1
  1175. package/dist/data/test/function/ln__loop_exit_5.mcfunction +0 -37
  1176. package/dist/data/test/function/ln__loop_header_0.mcfunction +0 -4
  1177. package/dist/data/test/function/ln__loop_header_3.mcfunction +0 -7
  1178. package/dist/data/test/function/load.mcfunction +0 -1
  1179. package/dist/data/test/function/log10_fx.mcfunction +0 -11
  1180. package/dist/data/test/function/log2_fx.mcfunction +0 -11
  1181. package/dist/data/test/function/log2_int.mcfunction +0 -6
  1182. package/dist/data/test/function/log2_int__loop_body_4.mcfunction +0 -8
  1183. package/dist/data/test/function/log2_int__loop_exit_5.mcfunction +0 -1
  1184. package/dist/data/test/function/log2_int__loop_header_3.mcfunction +0 -5
  1185. package/dist/data/test/function/log2_int__merge_1.mcfunction +0 -3
  1186. package/dist/data/test/function/log2_int__then_0.mcfunction +0 -2
  1187. package/dist/data/test/function/loga_fx.mcfunction +0 -11
  1188. package/dist/data/test/function/loga_fx__merge_1.mcfunction +0 -9
  1189. package/dist/data/test/function/loga_fx__then_0.mcfunction +0 -2
  1190. package/dist/data/test/function/manhattan.mcfunction +0 -15
  1191. package/dist/data/test/function/manhattan3d.mcfunction +0 -20
  1192. package/dist/data/test/function/manhattan3d__merge_1.mcfunction +0 -5
  1193. package/dist/data/test/function/manhattan3d__merge_3.mcfunction +0 -5
  1194. package/dist/data/test/function/manhattan3d__merge_5.mcfunction +0 -5
  1195. package/dist/data/test/function/manhattan3d__then_0.mcfunction +0 -4
  1196. package/dist/data/test/function/manhattan3d__then_2.mcfunction +0 -4
  1197. package/dist/data/test/function/manhattan3d__then_4.mcfunction +0 -4
  1198. package/dist/data/test/function/manhattan__merge_1.mcfunction +0 -5
  1199. package/dist/data/test/function/manhattan__merge_3.mcfunction +0 -3
  1200. package/dist/data/test/function/manhattan__then_0.mcfunction +0 -4
  1201. package/dist/data/test/function/manhattan__then_2.mcfunction +0 -4
  1202. package/dist/data/test/function/map.mcfunction +0 -13
  1203. package/dist/data/test/function/map__merge_1.mcfunction +0 -11
  1204. package/dist/data/test/function/map__then_0.mcfunction +0 -1
  1205. package/dist/data/test/function/mc_day_angle.mcfunction +0 -16
  1206. package/dist/data/test/function/midpoint.mcfunction +0 -8
  1207. package/dist/data/test/function/mulfix.mcfunction +0 -8
  1208. package/dist/data/test/function/neg2d_x.mcfunction +0 -4
  1209. package/dist/data/test/function/neg2d_y.mcfunction +0 -4
  1210. package/dist/data/test/function/neg3d_x.mcfunction +0 -4
  1211. package/dist/data/test/function/neg3d_y.mcfunction +0 -4
  1212. package/dist/data/test/function/neg3d_z.mcfunction +0 -4
  1213. package/dist/data/test/function/next_lcg.mcfunction +0 -7
  1214. package/dist/data/test/function/normal_approx12.mcfunction +0 -16
  1215. package/dist/data/test/function/normal_approx12__merge_1.mcfunction +0 -18
  1216. package/dist/data/test/function/normal_approx12__merge_11.mcfunction +0 -18
  1217. package/dist/data/test/function/normal_approx12__merge_13.mcfunction +0 -18
  1218. package/dist/data/test/function/normal_approx12__merge_15.mcfunction +0 -18
  1219. package/dist/data/test/function/normal_approx12__merge_17.mcfunction +0 -18
  1220. package/dist/data/test/function/normal_approx12__merge_19.mcfunction +0 -18
  1221. package/dist/data/test/function/normal_approx12__merge_21.mcfunction +0 -18
  1222. package/dist/data/test/function/normal_approx12__merge_23.mcfunction +0 -9
  1223. package/dist/data/test/function/normal_approx12__merge_3.mcfunction +0 -18
  1224. package/dist/data/test/function/normal_approx12__merge_5.mcfunction +0 -18
  1225. package/dist/data/test/function/normal_approx12__merge_7.mcfunction +0 -18
  1226. package/dist/data/test/function/normal_approx12__merge_9.mcfunction +0 -18
  1227. package/dist/data/test/function/normal_approx12__then_0.mcfunction +0 -4
  1228. package/dist/data/test/function/normal_approx12__then_10.mcfunction +0 -4
  1229. package/dist/data/test/function/normal_approx12__then_12.mcfunction +0 -4
  1230. package/dist/data/test/function/normal_approx12__then_14.mcfunction +0 -4
  1231. package/dist/data/test/function/normal_approx12__then_16.mcfunction +0 -4
  1232. package/dist/data/test/function/normal_approx12__then_18.mcfunction +0 -4
  1233. package/dist/data/test/function/normal_approx12__then_2.mcfunction +0 -4
  1234. package/dist/data/test/function/normal_approx12__then_20.mcfunction +0 -4
  1235. package/dist/data/test/function/normal_approx12__then_22.mcfunction +0 -4
  1236. package/dist/data/test/function/normal_approx12__then_4.mcfunction +0 -4
  1237. package/dist/data/test/function/normal_approx12__then_6.mcfunction +0 -4
  1238. package/dist/data/test/function/normal_approx12__then_8.mcfunction +0 -4
  1239. package/dist/data/test/function/normalize2d_x.mcfunction +0 -12
  1240. package/dist/data/test/function/normalize2d_x__merge_1.mcfunction +0 -6
  1241. package/dist/data/test/function/normalize2d_x__then_0.mcfunction +0 -2
  1242. package/dist/data/test/function/normalize2d_y.mcfunction +0 -12
  1243. package/dist/data/test/function/normalize2d_y__merge_1.mcfunction +0 -6
  1244. package/dist/data/test/function/normalize2d_y__then_0.mcfunction +0 -2
  1245. package/dist/data/test/function/parabola_land_t.mcfunction +0 -7
  1246. package/dist/data/test/function/parabola_x.mcfunction +0 -8
  1247. package/dist/data/test/function/parabola_y.mcfunction +0 -17
  1248. package/dist/data/test/function/pcg_next_hi.mcfunction +0 -8
  1249. package/dist/data/test/function/pcg_next_lo.mcfunction +0 -7
  1250. package/dist/data/test/function/pcg_output.mcfunction +0 -15
  1251. package/dist/data/test/function/pcg_output__merge_1.mcfunction +0 -1
  1252. package/dist/data/test/function/pcg_output__then_0.mcfunction +0 -4
  1253. package/dist/data/test/function/popcount.mcfunction +0 -5
  1254. package/dist/data/test/function/popcount__loop_body_1.mcfunction +0 -8
  1255. package/dist/data/test/function/popcount__loop_exit_2.mcfunction +0 -1
  1256. package/dist/data/test/function/popcount__loop_header_0.mcfunction +0 -5
  1257. package/dist/data/test/function/popcount__merge_4.mcfunction +0 -8
  1258. package/dist/data/test/function/popcount__then_3.mcfunction +0 -4
  1259. package/dist/data/test/function/pow_int.mcfunction +0 -7
  1260. package/dist/data/test/function/pow_int__loop_body_4.mcfunction +0 -8
  1261. package/dist/data/test/function/pow_int__loop_exit_5.mcfunction +0 -1
  1262. package/dist/data/test/function/pow_int__loop_header_3.mcfunction +0 -5
  1263. package/dist/data/test/function/pow_int__merge_1.mcfunction +0 -4
  1264. package/dist/data/test/function/pow_int__merge_7.mcfunction +0 -8
  1265. package/dist/data/test/function/pow_int__then_0.mcfunction +0 -2
  1266. package/dist/data/test/function/pow_int__then_6.mcfunction +0 -4
  1267. package/dist/data/test/function/quadratic_disc.mcfunction +0 -12
  1268. package/dist/data/test/function/quadratic_x1.mcfunction +0 -8
  1269. package/dist/data/test/function/quadratic_x1__merge_1.mcfunction +0 -14
  1270. package/dist/data/test/function/quadratic_x1__merge_4.mcfunction +0 -15
  1271. package/dist/data/test/function/quadratic_x1__then_0.mcfunction +0 -2
  1272. package/dist/data/test/function/quadratic_x1__then_3.mcfunction +0 -2
  1273. package/dist/data/test/function/quadratic_x2.mcfunction +0 -8
  1274. package/dist/data/test/function/quadratic_x2__merge_1.mcfunction +0 -14
  1275. package/dist/data/test/function/quadratic_x2__merge_4.mcfunction +0 -15
  1276. package/dist/data/test/function/quadratic_x2__then_0.mcfunction +0 -2
  1277. package/dist/data/test/function/quadratic_x2__then_3.mcfunction +0 -2
  1278. package/dist/data/test/function/random_bool.mcfunction +0 -7
  1279. package/dist/data/test/function/random_bool__merge_1.mcfunction +0 -4
  1280. package/dist/data/test/function/random_bool__then_0.mcfunction +0 -4
  1281. package/dist/data/test/function/random_range.mcfunction +0 -9
  1282. package/dist/data/test/function/random_range__merge_1.mcfunction +0 -7
  1283. package/dist/data/test/function/random_range__then_0.mcfunction +0 -4
  1284. package/dist/data/test/function/rgb_b.mcfunction +0 -5
  1285. package/dist/data/test/function/rgb_g.mcfunction +0 -8
  1286. package/dist/data/test/function/rgb_lerp.mcfunction +0 -71
  1287. package/dist/data/test/function/rgb_pack.mcfunction +0 -14
  1288. package/dist/data/test/function/rgb_r.mcfunction +0 -8
  1289. package/dist/data/test/function/rgb_to_h.mcfunction +0 -8
  1290. package/dist/data/test/function/rgb_to_h__merge_1.mcfunction +0 -4
  1291. package/dist/data/test/function/rgb_to_h__merge_12.mcfunction +0 -4
  1292. package/dist/data/test/function/rgb_to_h__merge_14.mcfunction +0 -1
  1293. package/dist/data/test/function/rgb_to_h__merge_17.mcfunction +0 -9
  1294. package/dist/data/test/function/rgb_to_h__merge_3.mcfunction +0 -5
  1295. package/dist/data/test/function/rgb_to_h__merge_5.mcfunction +0 -4
  1296. package/dist/data/test/function/rgb_to_h__merge_7.mcfunction +0 -8
  1297. package/dist/data/test/function/rgb_to_h__merge_9.mcfunction +0 -4
  1298. package/dist/data/test/function/rgb_to_h__then_0.mcfunction +0 -2
  1299. package/dist/data/test/function/rgb_to_h__then_11.mcfunction +0 -12
  1300. package/dist/data/test/function/rgb_to_h__then_13.mcfunction +0 -4
  1301. package/dist/data/test/function/rgb_to_h__then_16.mcfunction +0 -9
  1302. package/dist/data/test/function/rgb_to_h__then_2.mcfunction +0 -2
  1303. package/dist/data/test/function/rgb_to_h__then_4.mcfunction +0 -2
  1304. package/dist/data/test/function/rgb_to_h__then_6.mcfunction +0 -2
  1305. package/dist/data/test/function/rgb_to_h__then_8.mcfunction +0 -2
  1306. package/dist/data/test/function/rgb_to_l.mcfunction +0 -8
  1307. package/dist/data/test/function/rgb_to_l__merge_1.mcfunction +0 -4
  1308. package/dist/data/test/function/rgb_to_l__merge_3.mcfunction +0 -5
  1309. package/dist/data/test/function/rgb_to_l__merge_5.mcfunction +0 -4
  1310. package/dist/data/test/function/rgb_to_l__merge_7.mcfunction +0 -9
  1311. package/dist/data/test/function/rgb_to_l__then_0.mcfunction +0 -2
  1312. package/dist/data/test/function/rgb_to_l__then_2.mcfunction +0 -2
  1313. package/dist/data/test/function/rgb_to_l__then_4.mcfunction +0 -2
  1314. package/dist/data/test/function/rgb_to_l__then_6.mcfunction +0 -2
  1315. package/dist/data/test/function/rgb_to_s.mcfunction +0 -8
  1316. package/dist/data/test/function/rgb_to_s__merge_1.mcfunction +0 -4
  1317. package/dist/data/test/function/rgb_to_s__merge_12.mcfunction +0 -10
  1318. package/dist/data/test/function/rgb_to_s__merge_3.mcfunction +0 -5
  1319. package/dist/data/test/function/rgb_to_s__merge_5.mcfunction +0 -4
  1320. package/dist/data/test/function/rgb_to_s__merge_7.mcfunction +0 -8
  1321. package/dist/data/test/function/rgb_to_s__merge_9.mcfunction +0 -13
  1322. package/dist/data/test/function/rgb_to_s__then_0.mcfunction +0 -2
  1323. package/dist/data/test/function/rgb_to_s__then_11.mcfunction +0 -8
  1324. package/dist/data/test/function/rgb_to_s__then_2.mcfunction +0 -2
  1325. package/dist/data/test/function/rgb_to_s__then_4.mcfunction +0 -2
  1326. package/dist/data/test/function/rgb_to_s__then_6.mcfunction +0 -2
  1327. package/dist/data/test/function/rgb_to_s__then_8.mcfunction +0 -2
  1328. package/dist/data/test/function/rotate2d_x.mcfunction +0 -20
  1329. package/dist/data/test/function/rotate2d_y.mcfunction +0 -20
  1330. package/dist/data/test/function/scale2d_x.mcfunction +0 -8
  1331. package/dist/data/test/function/scale2d_y.mcfunction +0 -8
  1332. package/dist/data/test/function/scale3d_x.mcfunction +0 -8
  1333. package/dist/data/test/function/scale3d_y.mcfunction +0 -8
  1334. package/dist/data/test/function/scale3d_z.mcfunction +0 -8
  1335. package/dist/data/test/function/seconds_to_ticks.mcfunction +0 -5
  1336. package/dist/data/test/function/sign.mcfunction +0 -6
  1337. package/dist/data/test/function/sign__merge_1.mcfunction +0 -5
  1338. package/dist/data/test/function/sign__merge_4.mcfunction +0 -2
  1339. package/dist/data/test/function/sign__then_0.mcfunction +0 -2
  1340. package/dist/data/test/function/sign__then_3.mcfunction +0 -2
  1341. package/dist/data/test/function/sin_fixed.mcfunction +0 -10
  1342. package/dist/data/test/function/sin_fixed__merge_1.mcfunction +0 -5
  1343. package/dist/data/test/function/sin_fixed__merge_3.mcfunction +0 -5
  1344. package/dist/data/test/function/sin_fixed__merge_6.mcfunction +0 -5
  1345. package/dist/data/test/function/sin_fixed__merge_9.mcfunction +0 -10
  1346. package/dist/data/test/function/sin_fixed__then_0.mcfunction +0 -4
  1347. package/dist/data/test/function/sin_fixed__then_2.mcfunction +0 -6
  1348. package/dist/data/test/function/sin_fixed__then_5.mcfunction +0 -8
  1349. package/dist/data/test/function/sin_fixed__then_8.mcfunction +0 -10
  1350. package/dist/data/test/function/sin_hp.mcfunction +0 -6
  1351. package/dist/data/test/function/smootherstep.mcfunction +0 -11
  1352. package/dist/data/test/function/smootherstep__merge_1.mcfunction +0 -13
  1353. package/dist/data/test/function/smootherstep__merge_4.mcfunction +0 -5
  1354. package/dist/data/test/function/smootherstep__merge_6.mcfunction +0 -27
  1355. package/dist/data/test/function/smootherstep__then_0.mcfunction +0 -2
  1356. package/dist/data/test/function/smootherstep__then_3.mcfunction +0 -2
  1357. package/dist/data/test/function/smootherstep__then_5.mcfunction +0 -2
  1358. package/dist/data/test/function/smoothstep.mcfunction +0 -11
  1359. package/dist/data/test/function/smoothstep__merge_1.mcfunction +0 -13
  1360. package/dist/data/test/function/smoothstep__merge_4.mcfunction +0 -5
  1361. package/dist/data/test/function/smoothstep__merge_6.mcfunction +0 -15
  1362. package/dist/data/test/function/smoothstep__then_0.mcfunction +0 -2
  1363. package/dist/data/test/function/smoothstep__then_3.mcfunction +0 -2
  1364. package/dist/data/test/function/smoothstep__then_5.mcfunction +0 -2
  1365. package/dist/data/test/function/solve2x2_x.mcfunction +0 -18
  1366. package/dist/data/test/function/solve2x2_x__merge_1.mcfunction +0 -12
  1367. package/dist/data/test/function/solve2x2_x__then_0.mcfunction +0 -2
  1368. package/dist/data/test/function/solve2x2_y.mcfunction +0 -18
  1369. package/dist/data/test/function/solve2x2_y__merge_1.mcfunction +0 -12
  1370. package/dist/data/test/function/solve2x2_y__then_0.mcfunction +0 -2
  1371. package/dist/data/test/function/sort2_max.mcfunction +0 -6
  1372. package/dist/data/test/function/sort2_max__merge_1.mcfunction +0 -1
  1373. package/dist/data/test/function/sort2_max__then_0.mcfunction +0 -1
  1374. package/dist/data/test/function/sort2_min.mcfunction +0 -6
  1375. package/dist/data/test/function/sort2_min__merge_1.mcfunction +0 -1
  1376. package/dist/data/test/function/sort2_min__then_0.mcfunction +0 -1
  1377. package/dist/data/test/function/sort3.mcfunction +0 -11
  1378. package/dist/data/test/function/sort3__merge_1.mcfunction +0 -4
  1379. package/dist/data/test/function/sort3__merge_10.mcfunction +0 -1
  1380. package/dist/data/test/function/sort3__merge_3.mcfunction +0 -4
  1381. package/dist/data/test/function/sort3__merge_5.mcfunction +0 -5
  1382. package/dist/data/test/function/sort3__merge_7.mcfunction +0 -5
  1383. package/dist/data/test/function/sort3__then_0.mcfunction +0 -4
  1384. package/dist/data/test/function/sort3__then_2.mcfunction +0 -4
  1385. package/dist/data/test/function/sort3__then_4.mcfunction +0 -4
  1386. package/dist/data/test/function/sort3__then_6.mcfunction +0 -1
  1387. package/dist/data/test/function/sort3__then_9.mcfunction +0 -1
  1388. package/dist/data/test/function/sort4.mcfunction +0 -13
  1389. package/dist/data/test/function/sort4__merge_1.mcfunction +0 -4
  1390. package/dist/data/test/function/sort4__merge_11.mcfunction +0 -5
  1391. package/dist/data/test/function/sort4__merge_14.mcfunction +0 -5
  1392. package/dist/data/test/function/sort4__merge_17.mcfunction +0 -1
  1393. package/dist/data/test/function/sort4__merge_3.mcfunction +0 -4
  1394. package/dist/data/test/function/sort4__merge_5.mcfunction +0 -4
  1395. package/dist/data/test/function/sort4__merge_7.mcfunction +0 -4
  1396. package/dist/data/test/function/sort4__merge_9.mcfunction +0 -5
  1397. package/dist/data/test/function/sort4__then_0.mcfunction +0 -4
  1398. package/dist/data/test/function/sort4__then_10.mcfunction +0 -1
  1399. package/dist/data/test/function/sort4__then_13.mcfunction +0 -1
  1400. package/dist/data/test/function/sort4__then_16.mcfunction +0 -1
  1401. package/dist/data/test/function/sort4__then_2.mcfunction +0 -4
  1402. package/dist/data/test/function/sort4__then_4.mcfunction +0 -4
  1403. package/dist/data/test/function/sort4__then_6.mcfunction +0 -4
  1404. package/dist/data/test/function/sort4__then_8.mcfunction +0 -4
  1405. package/dist/data/test/function/sort5.mcfunction +0 -15
  1406. package/dist/data/test/function/sort5__merge_1.mcfunction +0 -4
  1407. package/dist/data/test/function/sort5__merge_11.mcfunction +0 -4
  1408. package/dist/data/test/function/sort5__merge_13.mcfunction +0 -4
  1409. package/dist/data/test/function/sort5__merge_15.mcfunction +0 -4
  1410. package/dist/data/test/function/sort5__merge_17.mcfunction +0 -5
  1411. package/dist/data/test/function/sort5__merge_19.mcfunction +0 -5
  1412. package/dist/data/test/function/sort5__merge_22.mcfunction +0 -5
  1413. package/dist/data/test/function/sort5__merge_25.mcfunction +0 -5
  1414. package/dist/data/test/function/sort5__merge_28.mcfunction +0 -1
  1415. package/dist/data/test/function/sort5__merge_3.mcfunction +0 -4
  1416. package/dist/data/test/function/sort5__merge_5.mcfunction +0 -4
  1417. package/dist/data/test/function/sort5__merge_7.mcfunction +0 -4
  1418. package/dist/data/test/function/sort5__merge_9.mcfunction +0 -4
  1419. package/dist/data/test/function/sort5__then_0.mcfunction +0 -4
  1420. package/dist/data/test/function/sort5__then_10.mcfunction +0 -4
  1421. package/dist/data/test/function/sort5__then_12.mcfunction +0 -4
  1422. package/dist/data/test/function/sort5__then_14.mcfunction +0 -4
  1423. package/dist/data/test/function/sort5__then_16.mcfunction +0 -4
  1424. package/dist/data/test/function/sort5__then_18.mcfunction +0 -1
  1425. package/dist/data/test/function/sort5__then_2.mcfunction +0 -4
  1426. package/dist/data/test/function/sort5__then_21.mcfunction +0 -1
  1427. package/dist/data/test/function/sort5__then_24.mcfunction +0 -1
  1428. package/dist/data/test/function/sort5__then_27.mcfunction +0 -1
  1429. package/dist/data/test/function/sort5__then_4.mcfunction +0 -4
  1430. package/dist/data/test/function/sort5__then_6.mcfunction +0 -4
  1431. package/dist/data/test/function/sort5__then_8.mcfunction +0 -4
  1432. package/dist/data/test/function/sphere_contains.mcfunction +0 -29
  1433. package/dist/data/test/function/sphere_contains__merge_1.mcfunction +0 -2
  1434. package/dist/data/test/function/sphere_contains__then_0.mcfunction +0 -2
  1435. package/dist/data/test/function/sqrt_fixed.mcfunction +0 -8
  1436. package/dist/data/test/function/sqrt_fx.mcfunction +0 -11
  1437. package/dist/data/test/function/sub2d_x.mcfunction +0 -5
  1438. package/dist/data/test/function/sub2d_y.mcfunction +0 -5
  1439. package/dist/data/test/function/sub3d_x.mcfunction +0 -5
  1440. package/dist/data/test/function/sub3d_y.mcfunction +0 -5
  1441. package/dist/data/test/function/sub3d_z.mcfunction +0 -5
  1442. package/dist/data/test/function/tick_to_ms.mcfunction +0 -5
  1443. package/dist/data/test/function/tick_to_seconds.mcfunction +0 -5
  1444. package/dist/data/test/function/tile_center.mcfunction +0 -10
  1445. package/dist/data/test/function/tile_of.mcfunction +0 -7
  1446. package/dist/data/test/function/tile_of__merge_1.mcfunction +0 -7
  1447. package/dist/data/test/function/tile_of__then_0.mcfunction +0 -3
  1448. package/dist/data/test/function/timer/done.mcfunction +0 -5
  1449. package/dist/data/test/function/timer/elapsed.mcfunction +0 -2
  1450. package/dist/data/test/function/timer/new.mcfunction +0 -5
  1451. package/dist/data/test/function/timer/pause.mcfunction +0 -1
  1452. package/dist/data/test/function/timer/remaining.mcfunction +0 -10
  1453. package/dist/data/test/function/timer/remaining__merge_1.mcfunction +0 -2
  1454. package/dist/data/test/function/timer/remaining__then_0.mcfunction +0 -1
  1455. package/dist/data/test/function/timer/reset.mcfunction +0 -1
  1456. package/dist/data/test/function/timer/start.mcfunction +0 -1
  1457. package/dist/data/test/function/timer/tick.mcfunction +0 -9
  1458. package/dist/data/test/function/timer/tick__merge_1.mcfunction +0 -1
  1459. package/dist/data/test/function/timer/tick__merge_3.mcfunction +0 -1
  1460. package/dist/data/test/function/timer/tick__then_0.mcfunction +0 -4
  1461. package/dist/data/test/function/timer/tick__then_2.mcfunction +0 -4
  1462. package/dist/data/test/function/uniform_frac.mcfunction +0 -12
  1463. package/dist/data/test/function/uniform_frac__merge_1.mcfunction +0 -4
  1464. package/dist/data/test/function/uniform_frac__then_0.mcfunction +0 -4
  1465. package/dist/data/test/function/uniform_int.mcfunction +0 -14
  1466. package/dist/data/test/function/uniform_int__merge_1.mcfunction +0 -9
  1467. package/dist/data/test/function/uniform_int__then_0.mcfunction +0 -4
  1468. package/dist/data/test/function/weighted2.mcfunction +0 -17
  1469. package/dist/data/test/function/weighted2__merge_1.mcfunction +0 -6
  1470. package/dist/data/test/function/weighted2__merge_3.mcfunction +0 -2
  1471. package/dist/data/test/function/weighted2__then_0.mcfunction +0 -4
  1472. package/dist/data/test/function/weighted2__then_2.mcfunction +0 -2
  1473. package/dist/data/test/function/weighted3.mcfunction +0 -20
  1474. package/dist/data/test/function/weighted3__merge_1.mcfunction +0 -7
  1475. package/dist/data/test/function/weighted3__merge_3.mcfunction +0 -6
  1476. package/dist/data/test/function/weighted3__merge_6.mcfunction +0 -2
  1477. package/dist/data/test/function/weighted3__then_0.mcfunction +0 -4
  1478. package/dist/data/test/function/weighted3__then_2.mcfunction +0 -2
  1479. package/dist/data/test/function/weighted3__then_5.mcfunction +0 -2
  1480. package/dist/data/turret/function/__load.mcfunction +0 -5
  1481. package/dist/data/turret/function/__tick.mcfunction +0 -4
  1482. package/dist/data/turret/function/__trigger_deploy_turret_dispatch.mcfunction +0 -4
  1483. package/dist/data/turret/function/deploy_turret.mcfunction +0 -8
  1484. package/dist/data/turret/function/turret_tick/at_1.mcfunction +0 -2
  1485. package/dist/data/turret/function/turret_tick/foreach_0.mcfunction +0 -2
  1486. package/dist/data/turret/function/turret_tick/foreach_2.mcfunction +0 -2
  1487. package/dist/data/turret/function/turret_tick/tick_body.mcfunction +0 -3
  1488. package/dist/data/turret/function/turret_tick/tick_skip.mcfunction +0 -1
  1489. package/dist/data/turret/function/turret_tick.mcfunction +0 -5
  1490. package/dist/diagnostics/index.d.ts +0 -44
  1491. package/dist/diagnostics/index.js +0 -140
  1492. package/dist/events/types.d.ts +0 -35
  1493. package/dist/events/types.js +0 -59
  1494. package/dist/formatter/index.d.ts +0 -1
  1495. package/dist/formatter/index.js +0 -26
  1496. package/dist/gcd2.map.json +0 -15
  1497. package/dist/gcd3.map.json +0 -17
  1498. package/dist/gcd_test.map.json +0 -15
  1499. package/dist/index.d.ts +0 -62
  1500. package/dist/ir/builder.d.ts +0 -33
  1501. package/dist/ir/builder.js +0 -99
  1502. package/dist/ir/types.d.ts +0 -132
  1503. package/dist/ir/types.js +0 -15
  1504. package/dist/isqrttest.map.json +0 -15
  1505. package/dist/lexer/index.d.ts +0 -37
  1506. package/dist/lexer/index.js +0 -569
  1507. package/dist/lowering/index.d.ts +0 -188
  1508. package/dist/lowering/index.js +0 -3405
  1509. package/dist/mathtest.map.json +0 -6
  1510. package/dist/mc-test/client.d.ts +0 -128
  1511. package/dist/mc-test/client.js +0 -174
  1512. package/dist/mc-test/runner.d.ts +0 -28
  1513. package/dist/mc-test/runner.js +0 -150
  1514. package/dist/mc-test/setup.d.ts +0 -11
  1515. package/dist/mc-test/setup.js +0 -98
  1516. package/dist/mc-validator/index.d.ts +0 -17
  1517. package/dist/mc-validator/index.js +0 -322
  1518. package/dist/mypack.map.json +0 -27
  1519. package/dist/nbt/index.d.ts +0 -86
  1520. package/dist/nbt/index.js +0 -250
  1521. package/dist/optimizer/commands.d.ts +0 -38
  1522. package/dist/optimizer/commands.js +0 -451
  1523. package/dist/optimizer/dce.d.ts +0 -34
  1524. package/dist/optimizer/dce.js +0 -639
  1525. package/dist/optimizer/passes.d.ts +0 -34
  1526. package/dist/optimizer/passes.js +0 -243
  1527. package/dist/optimizer/structure.d.ts +0 -9
  1528. package/dist/optimizer/structure.js +0 -356
  1529. package/dist/pack.mcmeta +0 -6
  1530. package/dist/parser/index.d.ts +0 -93
  1531. package/dist/parser/index.js +0 -1687
  1532. package/dist/repl.d.ts +0 -16
  1533. package/dist/repl.js +0 -165
  1534. package/dist/reqtest.map.json +0 -4
  1535. package/dist/reqtest2.map.json +0 -4
  1536. package/dist/runtime/index.d.ts +0 -107
  1537. package/dist/runtime/index.js +0 -1409
  1538. package/dist/runtime.map.json +0 -7
  1539. package/dist/src/__tests__/codegen.test.d.ts +0 -1
  1540. package/dist/src/__tests__/codegen.test.js +0 -152
  1541. package/dist/src/__tests__/debug-compile.test.d.ts +0 -1
  1542. package/dist/src/__tests__/debug-compile.test.js +0 -24
  1543. package/dist/src/__tests__/debug-compile2.test.d.ts +0 -1
  1544. package/dist/src/__tests__/debug-compile2.test.js +0 -19
  1545. package/dist/src/__tests__/debug-compile3.test.d.ts +0 -1
  1546. package/dist/src/__tests__/debug-compile3.test.js +0 -22
  1547. package/dist/src/__tests__/debug-wm.test.d.ts +0 -1
  1548. package/dist/src/__tests__/debug-wm.test.js +0 -50
  1549. package/dist/src/__tests__/debug_gen.d.ts +0 -1
  1550. package/dist/src/__tests__/debug_gen.js +0 -24
  1551. package/dist/src/__tests__/debug_scoreboard.test.d.ts +0 -1
  1552. package/dist/src/__tests__/debug_scoreboard.test.js +0 -19
  1553. package/dist/src/__tests__/debug_scoreboard2.test.d.ts +0 -1
  1554. package/dist/src/__tests__/debug_scoreboard2.test.js +0 -27
  1555. package/dist/src/__tests__/debug_scoreboard3.test.d.ts +0 -1
  1556. package/dist/src/__tests__/debug_scoreboard3.test.js +0 -37
  1557. package/dist/src/__tests__/e2e.test.d.ts +0 -6
  1558. package/dist/src/__tests__/e2e.test.js +0 -1789
  1559. package/dist/src/__tests__/entity-types.test.d.ts +0 -1
  1560. package/dist/src/__tests__/entity-types.test.js +0 -203
  1561. package/dist/src/__tests__/lowering.test.d.ts +0 -1
  1562. package/dist/src/__tests__/lowering.test.js +0 -1015
  1563. package/dist/src/__tests__/macro.test.d.ts +0 -8
  1564. package/dist/src/__tests__/macro.test.js +0 -306
  1565. package/dist/src/__tests__/nbt.test.d.ts +0 -1
  1566. package/dist/src/__tests__/nbt.test.js +0 -82
  1567. package/dist/src/__tests__/optimizer-advanced.test.d.ts +0 -1
  1568. package/dist/src/__tests__/optimizer-advanced.test.js +0 -124
  1569. package/dist/src/__tests__/optimizer.test.d.ts +0 -1
  1570. package/dist/src/__tests__/optimizer.test.js +0 -149
  1571. package/dist/src/__tests__/runtime.test.d.ts +0 -1
  1572. package/dist/src/__tests__/runtime.test.js +0 -289
  1573. package/dist/src/__tests__/stdlib-advanced.test.d.ts +0 -4
  1574. package/dist/src/__tests__/stdlib-advanced.test.js +0 -374
  1575. package/dist/src/__tests__/stdlib-bigint.test.d.ts +0 -7
  1576. package/dist/src/__tests__/stdlib-bigint.test.js +0 -426
  1577. package/dist/src/__tests__/stdlib-math.test.d.ts +0 -7
  1578. package/dist/src/__tests__/stdlib-math.test.js +0 -351
  1579. package/dist/src/__tests__/stdlib-vec.test.d.ts +0 -4
  1580. package/dist/src/__tests__/stdlib-vec.test.js +0 -263
  1581. package/dist/src/__tests__/structure-optimizer.test.d.ts +0 -1
  1582. package/dist/src/__tests__/structure-optimizer.test.js +0 -33
  1583. package/dist/src/__tests__/timer-debug.test.d.ts +0 -1
  1584. package/dist/src/__tests__/timer-debug.test.js +0 -33
  1585. package/dist/src/__tests__/var-allocator.test.d.ts +0 -1
  1586. package/dist/src/__tests__/var-allocator.test.js +0 -69
  1587. package/dist/src/codegen/cmdblock/index.d.ts +0 -26
  1588. package/dist/src/codegen/cmdblock/index.js +0 -45
  1589. package/dist/src/codegen/mcfunction/index.d.ts +0 -40
  1590. package/dist/src/codegen/mcfunction/index.js +0 -606
  1591. package/dist/src/codegen/structure/index.d.ts +0 -24
  1592. package/dist/src/codegen/structure/index.js +0 -279
  1593. package/dist/src/codegen/var-allocator.d.ts +0 -45
  1594. package/dist/src/codegen/var-allocator.js +0 -104
  1595. package/dist/src/ir/builder.d.ts +0 -33
  1596. package/dist/src/ir/builder.js +0 -99
  1597. package/dist/src/ir/types.d.ts +0 -132
  1598. package/dist/src/ir/types.js +0 -15
  1599. package/dist/src/lowering/index.d.ts +0 -188
  1600. package/dist/src/lowering/index.js +0 -3405
  1601. package/dist/src/optimizer/commands.d.ts +0 -38
  1602. package/dist/src/optimizer/commands.js +0 -451
  1603. package/dist/src/optimizer/passes.d.ts +0 -34
  1604. package/dist/src/optimizer/passes.js +0 -243
  1605. package/dist/src/optimizer/structure.d.ts +0 -9
  1606. package/dist/src/optimizer/structure.js +0 -356
  1607. package/dist/src2/__tests__/e2e/basic.test.d.ts +0 -8
  1608. package/dist/src2/__tests__/e2e/basic.test.js +0 -140
  1609. package/dist/src2/__tests__/e2e/macros.test.d.ts +0 -9
  1610. package/dist/src2/__tests__/e2e/macros.test.js +0 -182
  1611. package/dist/src2/__tests__/e2e/migrate.test.d.ts +0 -13
  1612. package/dist/src2/__tests__/e2e/migrate.test.js +0 -2739
  1613. package/dist/src2/__tests__/hir/desugar.test.d.ts +0 -1
  1614. package/dist/src2/__tests__/hir/desugar.test.js +0 -234
  1615. package/dist/src2/__tests__/lir/lower.test.d.ts +0 -1
  1616. package/dist/src2/__tests__/lir/lower.test.js +0 -559
  1617. package/dist/src2/__tests__/lir/types.test.d.ts +0 -1
  1618. package/dist/src2/__tests__/lir/types.test.js +0 -185
  1619. package/dist/src2/__tests__/lir/verify.test.d.ts +0 -1
  1620. package/dist/src2/__tests__/lir/verify.test.js +0 -221
  1621. package/dist/src2/__tests__/mir/arithmetic.test.d.ts +0 -1
  1622. package/dist/src2/__tests__/mir/arithmetic.test.js +0 -130
  1623. package/dist/src2/__tests__/mir/control-flow.test.d.ts +0 -1
  1624. package/dist/src2/__tests__/mir/control-flow.test.js +0 -205
  1625. package/dist/src2/__tests__/mir/verify.test.d.ts +0 -1
  1626. package/dist/src2/__tests__/mir/verify.test.js +0 -223
  1627. package/dist/src2/__tests__/optimizer/block_merge.test.d.ts +0 -1
  1628. package/dist/src2/__tests__/optimizer/block_merge.test.js +0 -78
  1629. package/dist/src2/__tests__/optimizer/branch_simplify.test.d.ts +0 -1
  1630. package/dist/src2/__tests__/optimizer/branch_simplify.test.js +0 -58
  1631. package/dist/src2/__tests__/optimizer/constant_fold.test.d.ts +0 -1
  1632. package/dist/src2/__tests__/optimizer/constant_fold.test.js +0 -131
  1633. package/dist/src2/__tests__/optimizer/copy_prop.test.d.ts +0 -1
  1634. package/dist/src2/__tests__/optimizer/copy_prop.test.js +0 -91
  1635. package/dist/src2/__tests__/optimizer/dce.test.d.ts +0 -1
  1636. package/dist/src2/__tests__/optimizer/dce.test.js +0 -76
  1637. package/dist/src2/__tests__/optimizer/pipeline.test.d.ts +0 -1
  1638. package/dist/src2/__tests__/optimizer/pipeline.test.js +0 -102
  1639. package/dist/src2/emit/compile.d.ts +0 -19
  1640. package/dist/src2/emit/compile.js +0 -80
  1641. package/dist/src2/emit/index.d.ts +0 -17
  1642. package/dist/src2/emit/index.js +0 -172
  1643. package/dist/src2/hir/lower.d.ts +0 -15
  1644. package/dist/src2/hir/lower.js +0 -378
  1645. package/dist/src2/hir/types.d.ts +0 -373
  1646. package/dist/src2/hir/types.js +0 -16
  1647. package/dist/src2/lir/lower.d.ts +0 -15
  1648. package/dist/src2/lir/lower.js +0 -453
  1649. package/dist/src2/lir/types.d.ts +0 -136
  1650. package/dist/src2/lir/types.js +0 -11
  1651. package/dist/src2/lir/verify.d.ts +0 -14
  1652. package/dist/src2/lir/verify.js +0 -113
  1653. package/dist/src2/mir/lower.d.ts +0 -9
  1654. package/dist/src2/mir/lower.js +0 -1030
  1655. package/dist/src2/mir/macro.d.ts +0 -22
  1656. package/dist/src2/mir/macro.js +0 -168
  1657. package/dist/src2/mir/types.d.ts +0 -183
  1658. package/dist/src2/mir/types.js +0 -11
  1659. package/dist/src2/mir/verify.d.ts +0 -16
  1660. package/dist/src2/mir/verify.js +0 -216
  1661. package/dist/src2/optimizer/block_merge.d.ts +0 -12
  1662. package/dist/src2/optimizer/block_merge.js +0 -84
  1663. package/dist/src2/optimizer/branch_simplify.d.ts +0 -9
  1664. package/dist/src2/optimizer/branch_simplify.js +0 -28
  1665. package/dist/src2/optimizer/constant_fold.d.ts +0 -10
  1666. package/dist/src2/optimizer/constant_fold.js +0 -85
  1667. package/dist/src2/optimizer/copy_prop.d.ts +0 -9
  1668. package/dist/src2/optimizer/copy_prop.js +0 -113
  1669. package/dist/src2/optimizer/dce.d.ts +0 -8
  1670. package/dist/src2/optimizer/dce.js +0 -155
  1671. package/dist/src2/optimizer/pipeline.d.ts +0 -10
  1672. package/dist/src2/optimizer/pipeline.js +0 -42
  1673. package/dist/swap_test.map.json +0 -14
  1674. package/dist/tsconfig.tsbuildinfo +0 -1
  1675. package/dist/typechecker/index.d.ts +0 -61
  1676. package/dist/typechecker/index.js +0 -1034
  1677. package/dist/types/entity-hierarchy.d.ts +0 -29
  1678. package/dist/types/entity-hierarchy.js +0 -107
  1679. /package/dist/{__tests__/cli.test.d.ts → src/__tests__/for-range.test.d.ts} +0 -0
  1680. /package/dist/{__tests__/codegen.test.d.ts → src/__tests__/impl.test.d.ts} +0 -0
package/src/lsp/server.ts CHANGED
@@ -26,15 +26,28 @@ import {
26
26
  Location,
27
27
  Position,
28
28
  TextDocumentPositionParams,
29
+ SignatureHelp,
30
+ SignatureInformation,
31
+ ParameterInformation,
32
+ SignatureHelpParams,
33
+ ReferenceParams,
34
+ RenameParams,
35
+ WorkspaceEdit,
36
+ InlayHint,
37
+ InlayHintKind,
29
38
  } from 'vscode-languageserver/node'
30
39
  import { TextDocument } from 'vscode-languageserver-textdocument'
40
+ import * as path from 'path'
41
+ import * as fs from 'fs'
42
+ import { fileURLToPath, pathToFileURL } from 'url'
31
43
 
32
44
  import { Lexer } from '../lexer'
33
45
  import { Parser } from '../parser'
34
46
  import { TypeChecker } from '../typechecker'
35
47
  import { DiagnosticError } from '../diagnostics'
36
- import type { Program, FnDecl, Span, TypeNode } from '../ast/types'
48
+ import type { Program, FnDecl, Span, TypeNode, Stmt, Block } from '../ast/types'
37
49
  import { BUILTIN_METADATA } from '../builtins/metadata'
50
+ import type { BuiltinDef } from '../builtins/metadata'
38
51
 
39
52
  // ---------------------------------------------------------------------------
40
53
  // Connection and document manager
@@ -43,6 +56,92 @@ import { BUILTIN_METADATA } from '../builtins/metadata'
43
56
  const connection = createConnection(ProposedFeatures.all)
44
57
  const documents = new TextDocuments(TextDocument)
45
58
 
59
+ // ---------------------------------------------------------------------------
60
+ // Builtin metadata: augment BUILTIN_METADATA from builtins.d.mcrs if present
61
+ // ---------------------------------------------------------------------------
62
+
63
+ /**
64
+ * Parse builtins.d.mcrs for `declare fn` entries and extract doc/param info.
65
+ * This ensures LSP hover covers every declared builtin even if metadata.ts
66
+ * is not yet updated.
67
+ */
68
+ function loadBuiltinsFromDeclFile(): Record<string, BuiltinDef> {
69
+ const extra: Record<string, BuiltinDef> = {}
70
+ // Candidate paths: next to server.ts (dev), or next to the package root
71
+ const candidates = [
72
+ path.resolve(__dirname, '../../builtins.d.mcrs'),
73
+ path.resolve(__dirname, '../../../builtins.d.mcrs'),
74
+ path.resolve(__dirname, '../../../../builtins.d.mcrs'),
75
+ ]
76
+ let src = ''
77
+ for (const p of candidates) {
78
+ if (fs.existsSync(p)) { src = fs.readFileSync(p, 'utf-8'); break }
79
+ }
80
+ if (!src) return extra
81
+
82
+ const lines = src.split('\n')
83
+ let docLines: string[] = []
84
+ let paramDocs: Record<string, string> = {}
85
+
86
+ for (const line of lines) {
87
+ const tripleDoc = line.match(/^\/\/\/\s?(.*)$/)
88
+ if (tripleDoc) {
89
+ const content = tripleDoc[1]
90
+ const paramMatch = content.match(/^@param\s+(\w+)\s+(.+)$/)
91
+ if (paramMatch) {
92
+ paramDocs[paramMatch[1]] = paramMatch[2]
93
+ } else if (!content.startsWith('@example')) {
94
+ docLines.push(content)
95
+ }
96
+ continue
97
+ }
98
+
99
+ const declMatch = line.match(/^declare fn (\w+)\(([^)]*)\):\s*(\w+);?$/)
100
+ if (declMatch) {
101
+ const [, fnName, paramsStr, retType] = declMatch
102
+ // Only add if not already in BUILTIN_METADATA
103
+ if (!ALL_BUILTINS[fnName]) {
104
+ const params = paramsStr.trim()
105
+ ? paramsStr.split(',').map(p => {
106
+ const [pname, ptype] = p.trim().split(':').map(s => s.trim())
107
+ return {
108
+ name: pname ?? '',
109
+ type: ptype ?? 'string',
110
+ required: true,
111
+ doc: paramDocs[pname ?? ''] ?? '',
112
+ docZh: '',
113
+ }
114
+ })
115
+ : []
116
+ extra[fnName] = {
117
+ name: fnName,
118
+ params,
119
+ returns: (retType === 'void' || retType === 'int' || retType === 'bool' || retType === 'string')
120
+ ? retType : 'void',
121
+ doc: docLines.join(' ').trim(),
122
+ docZh: '',
123
+ examples: [],
124
+ category: 'builtin',
125
+ }
126
+ }
127
+ docLines = []
128
+ paramDocs = {}
129
+ continue
130
+ }
131
+
132
+ // Non-comment, non-declare line resets doc accumulator
133
+ if (line.trim() && !line.startsWith('//')) {
134
+ docLines = []
135
+ paramDocs = {}
136
+ }
137
+ }
138
+ return extra
139
+ }
140
+
141
+ const EXTRA_BUILTINS = loadBuiltinsFromDeclFile()
142
+ /** Combined lookup: metadata.ts entries + anything declared in builtins.d.mcrs */
143
+ const ALL_BUILTINS: Record<string, BuiltinDef> = { ...EXTRA_BUILTINS, ...BUILTIN_METADATA }
144
+
46
145
  // ---------------------------------------------------------------------------
47
146
  // Per-document parse cache
48
147
  // ---------------------------------------------------------------------------
@@ -227,7 +326,7 @@ const KEYWORD_COMPLETIONS: CompletionItem[] = [
227
326
  }))
228
327
 
229
328
  const TYPE_COMPLETIONS: CompletionItem[] = [
230
- 'int', 'bool', 'float', 'string', 'void', 'BlockPos', 'byte', 'short', 'long', 'double',
329
+ 'int', 'bool', 'fixed', 'float', 'string', 'void', 'BlockPos', 'byte', 'short', 'long', 'double',
231
330
  'entity', 'Player', 'Mob', 'HostileMob', 'PassiveMob',
232
331
  'Zombie', 'Skeleton', 'Creeper', 'Spider', 'Enderman',
233
332
  ].map(t => ({
@@ -236,11 +335,30 @@ const TYPE_COMPLETIONS: CompletionItem[] = [
236
335
  }))
237
336
 
238
337
  const DECORATOR_COMPLETIONS: CompletionItem[] = [
239
- '@tick', '@load', '@on', '@coroutine', '@keep',
240
- ].map(d => ({
241
- label: d,
242
- kind: CompletionItemKind.Event,
243
- }))
338
+ { label: '@tick', detail: 'Run every game tick (~20 Hz)' },
339
+ { label: '@load', detail: 'Run on /reload (initialization)' },
340
+ { label: '@on_trigger', detail: 'Run when a player uses /trigger' },
341
+ { label: '@schedule', detail: 'Schedule function after N ticks' },
342
+ { label: '@coroutine', detail: 'Spread loop across ticks (batch=N)' },
343
+ { label: '@keep', detail: 'Prevent dead-code elimination' },
344
+ { label: '@on', detail: 'Generic event handler' },
345
+ { label: '@on_advancement', detail: 'Run on advancement earned' },
346
+ { label: '@on_craft', detail: 'Run on item craft' },
347
+ { label: '@on_death', detail: 'Run on player death' },
348
+ { label: '@on_join_team', detail: 'Run on team join' },
349
+ { label: '@on_login', detail: 'Run on player login' },
350
+ { label: '@require_on_load',detail: 'Ensure a fn runs on load (stdlib)' },
351
+ ].map(d => ({ ...d, kind: CompletionItemKind.Event }))
352
+
353
+ /** Entity selector completions triggered by @ inside expressions */
354
+ const SELECTOR_COMPLETIONS: CompletionItem[] = [
355
+ { label: '@a', kind: CompletionItemKind.Value, detail: 'All players', documentation: 'Targets all online players.' },
356
+ { label: '@p', kind: CompletionItemKind.Value, detail: 'Nearest player', documentation: 'Targets the nearest player to the command source.' },
357
+ { label: '@s', kind: CompletionItemKind.Value, detail: 'Executing entity', documentation: 'Targets the entity currently executing the command.' },
358
+ { label: '@e', kind: CompletionItemKind.Value, detail: 'All entities', documentation: 'Targets all entities (use [type=...] to filter).' },
359
+ { label: '@r', kind: CompletionItemKind.Value, detail: 'Random player', documentation: 'Targets a random online player.' },
360
+ { label: '@n', kind: CompletionItemKind.Value, detail: 'Nearest entity', documentation: 'Targets the nearest entity (any type).' },
361
+ ]
244
362
 
245
363
  const BUILTIN_FN_COMPLETIONS: CompletionItem[] = [
246
364
  'say', 'tell', 'give', 'kill', 'teleport', 'summon', 'setblock',
@@ -267,6 +385,12 @@ connection.onInitialize((_params: InitializeParams): InitializeResult => {
267
385
  triggerCharacters: ['.', '@'],
268
386
  resolveProvider: false,
269
387
  },
388
+ signatureHelpProvider: {
389
+ triggerCharacters: ['(', ','],
390
+ },
391
+ referencesProvider: true,
392
+ renameProvider: true,
393
+ inlayHintProvider: true,
270
394
  },
271
395
  serverInfo: {
272
396
  name: 'redscript-lsp',
@@ -306,36 +430,40 @@ connection.onHover((params: TextDocumentPositionParams): Hover | null => {
306
430
  if (!doc) return null
307
431
 
308
432
  const source = doc.getText()
309
- const cached = parsedDocs.get(params.textDocument.uri)
310
- const program = cached?.program ?? null
311
- if (!program) return null
312
433
 
313
- // Check if cursor is on a decorator (@tick, @load, etc.)
434
+ // ── Decorator hover: works even if program is null (parse errors elsewhere) ──
314
435
  const lines = source.split('\n')
315
436
  const lineText = lines[params.position.line] ?? ''
316
- const decoratorMatch = lineText.match(/@([a-zA-Z_][a-zA-Z0-9_]*)/)
317
- if (decoratorMatch) {
318
- const ch = params.position.character
319
- const atIdx = lineText.indexOf('@')
320
- const decoratorEnd = atIdx + 1 + decoratorMatch[1].length
321
- if (ch >= atIdx && ch <= decoratorEnd) {
322
- const decoratorName = decoratorMatch[1]
437
+ const ch = params.position.character
438
+ // Find all @xxx on this line and check if cursor is inside one
439
+ const decorRe = /@([a-zA-Z_][a-zA-Z0-9_]*)/g
440
+ let dm: RegExpExecArray | null
441
+ while ((dm = decorRe.exec(lineText)) !== null) {
442
+ const atIdx = dm.index
443
+ const decorEnd = atIdx + dm[0].length
444
+ if (ch >= atIdx && ch <= decorEnd) {
445
+ const decoratorName = dm[1]
323
446
  const decoratorDoc = DECORATOR_DOCS[decoratorName]
324
447
  if (decoratorDoc) {
325
- const content: MarkupContent = {
326
- kind: MarkupKind.Markdown,
327
- value: `**@${decoratorName}** — ${decoratorDoc}`,
448
+ return {
449
+ contents: {
450
+ kind: MarkupKind.Markdown,
451
+ value: `**@${decoratorName}** — ${decoratorDoc}`,
452
+ } as MarkupContent,
328
453
  }
329
- return { contents: content }
330
454
  }
331
455
  }
332
456
  }
333
457
 
458
+ const cached = parsedDocs.get(params.textDocument.uri)
459
+ const program = cached?.program ?? null
460
+ if (!program) return null
461
+
334
462
  const word = wordAt(source, params.position)
335
463
  if (!word) return null
336
464
 
337
465
  // Check builtins
338
- const builtin = BUILTIN_METADATA[word]
466
+ const builtin = ALL_BUILTINS[word]
339
467
  if (builtin) {
340
468
  const paramStr = builtin.params
341
469
  .map(p => `${p.name}: ${p.type}${p.required ? '' : '?'}`)
@@ -391,6 +519,31 @@ connection.onHover((params: TextDocumentPositionParams): Hover | null => {
391
519
  return { contents: content }
392
520
  }
393
521
 
522
+ // ── Check imported files (import "stdlib/xxx.mcrs" and import xxx::*) ──────
523
+ try {
524
+ const importedPrograms = getImportedPrograms(source, params.textDocument.uri)
525
+ for (const { prog, filePath } of importedPrograms) {
526
+ const importedFn = findFunction(prog, word)
527
+ if (importedFn) {
528
+ const sig = formatFnSignature(importedFn)
529
+ const content: MarkupContent = {
530
+ kind: MarkupKind.Markdown,
531
+ value: `\`\`\`redscript\n${sig}\n\`\`\`\n*from ${path.basename(filePath)}*`,
532
+ }
533
+ return { contents: content }
534
+ }
535
+ const importedStruct = prog.structs?.find(s => s.name === word)
536
+ if (importedStruct) {
537
+ const fields = importedStruct.fields.map(f => ` ${f.name}: ${typeToString(f.type)}`).join('\n')
538
+ const content: MarkupContent = {
539
+ kind: MarkupKind.Markdown,
540
+ value: `\`\`\`redscript\nstruct ${importedStruct.name} {\n${fields}\n}\n\`\`\`\n*from ${path.basename(filePath)}*`,
541
+ }
542
+ return { contents: content }
543
+ }
544
+ }
545
+ } catch { /* ignore */ }
546
+
394
547
  return null
395
548
  })
396
549
 
@@ -398,11 +551,101 @@ connection.onHover((params: TextDocumentPositionParams): Hover | null => {
398
551
  // Go-to-definition
399
552
  // ---------------------------------------------------------------------------
400
553
 
554
+ /**
555
+ * Parse all import declarations in `source` (both path-based and module::*
556
+ * forms) and return parsed Program objects for each resolved file.
557
+ */
558
+ function getImportedPrograms(source: string, fromUri: string): Array<{ prog: import('../ast/types').Program; filePath: string }> {
559
+ const result: Array<{ prog: import('../ast/types').Program; filePath: string }> = []
560
+ // 1. Path-based: import "stdlib/math.mcrs"
561
+ const FILE_IMPORT_RE = /^import\s+"([^"]+)"/gm
562
+ let m: RegExpExecArray | null
563
+ while ((m = FILE_IMPORT_RE.exec(source)) !== null) {
564
+ const resolved = resolveImportPath(m[1], fromUri)
565
+ if (!resolved || !fs.existsSync(resolved)) continue
566
+ try {
567
+ const src = fs.readFileSync(resolved, 'utf-8')
568
+ const tokens = new Lexer(src).tokenize()
569
+ const prog = new Parser(tokens).parse(path.basename(resolved, '.mcrs'))
570
+ result.push({ prog, filePath: resolved })
571
+ } catch { /* skip */ }
572
+ }
573
+ // 2. Module-star: import random::* or import random::fn_name
574
+ const MOD_IMPORT_RE = /^import\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*::/gm
575
+ while ((m = MOD_IMPORT_RE.exec(source)) !== null) {
576
+ const modName = m[1]
577
+ // Try to resolve as stdlib/modName.mcrs
578
+ const resolved = resolveImportPath(`stdlib/${modName}.mcrs`, fromUri)
579
+ if (!resolved || !fs.existsSync(resolved)) continue
580
+ // Avoid duplicates if already resolved above
581
+ if (result.some(r => r.filePath === resolved)) continue
582
+ try {
583
+ const src = fs.readFileSync(resolved, 'utf-8')
584
+ const tokens = new Lexer(src).tokenize()
585
+ const prog = new Parser(tokens).parse(modName)
586
+ result.push({ prog, filePath: resolved })
587
+ } catch { /* skip */ }
588
+ }
589
+ return result
590
+ }
591
+
592
+ /** Resolve a relative or stdlib import path to an absolute file path. */
593
+ function resolveImportPath(importStr: string, fromUri: string): string | null {
594
+ try {
595
+ const fromFile = fileURLToPath(fromUri)
596
+ const fromDir = path.dirname(fromFile)
597
+
598
+ if (importStr.startsWith('.')) {
599
+ // Relative path: import "../stdlib/math.mcrs"
600
+ const resolved = path.resolve(fromDir, importStr)
601
+ if (fs.existsSync(resolved)) return resolved
602
+ // Try adding .mcrs extension
603
+ if (!resolved.endsWith('.mcrs') && fs.existsSync(resolved + '.mcrs')) return resolved + '.mcrs'
604
+ } else {
605
+ // stdlib path: import "stdlib/math" or "stdlib/math.mcrs"
606
+ // Walk up to find package root (contains package.json)
607
+ let dir = fromDir
608
+ for (let i = 0; i < 10; i++) {
609
+ if (fs.existsSync(path.join(dir, 'package.json'))) {
610
+ const candidate = path.join(dir, 'src', importStr)
611
+ if (fs.existsSync(candidate)) return candidate
612
+ if (fs.existsSync(candidate + '.mcrs')) return candidate + '.mcrs'
613
+ // also try without 'src/'
614
+ const candidate2 = path.join(dir, importStr)
615
+ if (fs.existsSync(candidate2)) return candidate2
616
+ if (fs.existsSync(candidate2 + '.mcrs')) return candidate2 + '.mcrs'
617
+ break
618
+ }
619
+ dir = path.dirname(dir)
620
+ }
621
+ }
622
+ } catch { /* ignore */ }
623
+ return null
624
+ }
625
+
401
626
  connection.onDefinition((params: TextDocumentPositionParams): Location | null => {
402
627
  const doc = documents.get(params.textDocument.uri)
403
628
  if (!doc) return null
404
629
 
405
630
  const source = doc.getText()
631
+ const lines = source.split('\n')
632
+ const lineText = lines[params.position.line] ?? ''
633
+ const ch = params.position.character
634
+
635
+ // ── import "path/to/file.mcrs" ─────────────────────────────────────────────
636
+ // Cursor is anywhere on the line that starts with `import "..."`
637
+ const fileImportMatch = lineText.match(/^import\s+"([^"]+)"/)
638
+ if (fileImportMatch) {
639
+ const importStr = fileImportMatch[1]
640
+ const resolved = resolveImportPath(importStr, params.textDocument.uri)
641
+ if (resolved) {
642
+ return {
643
+ uri: pathToFileURL(resolved).toString(),
644
+ range: { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } },
645
+ }
646
+ }
647
+ }
648
+
406
649
  const cached = parsedDocs.get(params.textDocument.uri)
407
650
  const program = cached?.program ?? null
408
651
  if (!program) return null
@@ -410,6 +653,22 @@ connection.onDefinition((params: TextDocumentPositionParams): Location | null =>
410
653
  const word = wordAt(source, params.position)
411
654
  if (!word) return null
412
655
 
656
+ // ── import module::symbol — jump to the symbol in the imported module ───────
657
+ // Check if word is a known import symbol; try to resolve its module file
658
+ const importDecl = program.imports?.find(im => im.symbol === word || im.symbol === '*')
659
+ if (importDecl) {
660
+ const resolved = resolveImportPath(importDecl.moduleName, params.textDocument.uri)
661
+ ?? resolveImportPath(importDecl.moduleName + '.mcrs', params.textDocument.uri)
662
+ if (resolved) {
663
+ // Open file at start; could later search for the symbol definition
664
+ return {
665
+ uri: pathToFileURL(resolved).toString(),
666
+ range: { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } },
667
+ }
668
+ }
669
+ }
670
+
671
+ // ── Normal in-file definition ──────────────────────────────────────────────
413
672
  const defMap = buildDefinitionMap(program, source)
414
673
  const span = defMap.get(word)
415
674
  if (!span) return null
@@ -425,12 +684,155 @@ connection.onDefinition((params: TextDocumentPositionParams): Location | null =>
425
684
  }
426
685
  })
427
686
 
687
+ // ---------------------------------------------------------------------------
688
+ // Completion helpers
689
+ // ---------------------------------------------------------------------------
690
+
691
+ /** int[] built-in methods */
692
+ const ARRAY_METHOD_COMPLETIONS: CompletionItem[] = [
693
+ { label: 'push', kind: CompletionItemKind.Method, detail: '(value: int): void', documentation: 'Append an element to the array.' },
694
+ { label: 'pop', kind: CompletionItemKind.Method, detail: '(): int', documentation: 'Remove and return the last element.' },
695
+ { label: 'length', kind: CompletionItemKind.Property, detail: 'int', documentation: 'Number of elements in the array.' },
696
+ ]
697
+
698
+ /** Collect (name → TypeNode) for all let bindings visible in the function body at offset. */
699
+ function collectLocals(body: Block): Map<string, TypeNode> {
700
+ const map = new Map<string, TypeNode>()
701
+ function walk(stmts: Block): void {
702
+ for (const s of stmts) {
703
+ if (s.kind === 'let' && s.type) {
704
+ map.set(s.name, s.type)
705
+ } else if (s.kind === 'let_destruct') {
706
+ // no type info per-binding easily; skip
707
+ }
708
+ // Recurse into sub-blocks
709
+ const sub = (s as Record<string, unknown>)
710
+ if (Array.isArray(sub['body'])) walk(sub['body'] as Block)
711
+ if (Array.isArray(sub['then'])) walk(sub['then'] as Block)
712
+ if (Array.isArray(sub['else_'])) walk(sub['else_'] as Block)
713
+ }
714
+ }
715
+ walk(body)
716
+ return map
717
+ }
718
+
719
+ /** Determine if line at cursor is a dot-access context: `<expr>.` */
720
+ function getDotReceiver(lineText: string, charPos: number): string | null {
721
+ // Check that the character just before cursor is '.'
722
+ if (lineText[charPos - 1] !== '.') return null
723
+ // Scan left to collect the identifier before '.'
724
+ let end = charPos - 2
725
+ while (end >= 0 && /\s/.test(lineText[end])) end--
726
+ if (end < 0) return null
727
+ let start = end
728
+ while (start > 0 && /[a-zA-Z0-9_]/.test(lineText[start - 1])) start--
729
+ return lineText.slice(start, end + 1) || null
730
+ }
731
+
428
732
  // ---------------------------------------------------------------------------
429
733
  // Completion
430
734
  // ---------------------------------------------------------------------------
431
735
 
432
736
  connection.onCompletion((params: TextDocumentPositionParams): CompletionItem[] => {
433
737
  const doc = documents.get(params.textDocument.uri)
738
+ if (!doc) {
739
+ return [...KEYWORD_COMPLETIONS, ...TYPE_COMPLETIONS, ...BUILTIN_FN_COMPLETIONS, ...DECORATOR_COMPLETIONS]
740
+ }
741
+
742
+ const source = doc.getText()
743
+ const lines = source.split('\n')
744
+ const lineText = lines[params.position.line] ?? ''
745
+ const charPos = params.position.character
746
+
747
+ const cached = parsedDocs.get(params.textDocument.uri)
748
+ const program = cached?.program ?? null
749
+
750
+ // ── @ trigger: selector (@a/@p/@s/@e/@r/@n) vs decorator (@tick etc) ────────
751
+ // Check if current token starts with '@': prevChar='@' OR there's '@xxx' partial token
752
+ const prevChar = lineText[charPos - 1]
753
+ const atMatch = lineText.slice(0, charPos).match(/@([a-zA-Z_]*)$/)
754
+ if (prevChar === '@' || atMatch) {
755
+ // Heuristic: if there's a non-whitespace non-keyword char before '@'
756
+ // on the same line it's likely an expression context (selector).
757
+ // If line is only whitespace before '@', it's a decorator.
758
+ const atStart = atMatch ? charPos - atMatch[0].length : charPos - 1
759
+ const before = lineText.slice(0, atStart).trim()
760
+ const isExprContext = before.length > 0 && !/^(fn|let|if|while|for|return|@)/.test(before.split(/\s+/).pop() ?? '')
761
+ if (isExprContext) {
762
+ return SELECTOR_COMPLETIONS
763
+ }
764
+ // Decorator context — return decorator completions only
765
+ return DECORATOR_COMPLETIONS
766
+ }
767
+
768
+ // ── Dot-access completion ──────────────────────────────────────────────────
769
+ const dotReceiver = getDotReceiver(lineText, charPos)
770
+ if (dotReceiver !== null) {
771
+ const items: CompletionItem[] = []
772
+
773
+ if (program) {
774
+ // Find which function body contains this line (by span)
775
+ const curLine = params.position.line + 1 // spans are 1-based
776
+ let locals: Map<string, TypeNode> | null = null
777
+ for (const fn of program.declarations) {
778
+ if (fn.body && fn.span) {
779
+ if (curLine >= fn.span.line && curLine <= (fn.span.endLine ?? Infinity)) {
780
+ locals = collectLocals(fn.body as Block)
781
+ break
782
+ }
783
+ }
784
+ }
785
+
786
+ // Determine type of receiver
787
+ const receiverType: TypeNode | undefined = locals?.get(dotReceiver)
788
+ ?? program.consts?.find(c => c.name === dotReceiver)?.type
789
+ ?? program.globals?.find(g => g.name === dotReceiver)?.type
790
+
791
+ if (receiverType) {
792
+ if (receiverType.kind === 'array') {
793
+ // int[] → push / pop / length
794
+ items.push(...ARRAY_METHOD_COMPLETIONS)
795
+ } else if (receiverType.kind === 'named' || receiverType.kind === 'struct') {
796
+ const typeName = (receiverType as { name: string }).name
797
+ // Struct fields
798
+ const structDecl = program.structs?.find(s => s.name === typeName)
799
+ if (structDecl) {
800
+ for (const f of structDecl.fields) {
801
+ items.push({
802
+ label: f.name,
803
+ kind: CompletionItemKind.Field,
804
+ detail: typeToString(f.type),
805
+ })
806
+ }
807
+ }
808
+ // Impl methods
809
+ const implBlock = program.implBlocks?.find(ib => ib.typeName === typeName)
810
+ if (implBlock) {
811
+ for (const m of implBlock.methods) {
812
+ const params_ = m.params.map(p => `${p.name}: ${typeToString(p.type)}`).join(', ')
813
+ items.push({
814
+ label: m.name,
815
+ kind: CompletionItemKind.Method,
816
+ detail: `(${params_}): ${typeToString(m.returnType)}`,
817
+ })
818
+ }
819
+ }
820
+ }
821
+ } else {
822
+ // Unknown type — offer all struct fields + impl methods as fallback
823
+ for (const ib of program.implBlocks ?? []) {
824
+ for (const m of ib.methods) {
825
+ items.push({ label: m.name, kind: CompletionItemKind.Method })
826
+ }
827
+ }
828
+ items.push(...ARRAY_METHOD_COMPLETIONS)
829
+ }
830
+ }
831
+
832
+ return items
833
+ }
834
+
835
+ // ── Global / normal completion ─────────────────────────────────────────────
434
836
  const items: CompletionItem[] = [
435
837
  ...KEYWORD_COMPLETIONS,
436
838
  ...TYPE_COMPLETIONS,
@@ -438,12 +840,8 @@ connection.onCompletion((params: TextDocumentPositionParams): CompletionItem[] =
438
840
  ...DECORATOR_COMPLETIONS,
439
841
  ]
440
842
 
441
- if (!doc) return items
442
-
443
- // Add user-defined functions from the parsed doc
444
- const cached = parsedDocs.get(params.textDocument.uri)
445
- const program = cached?.program ?? null
446
843
  if (program) {
844
+ // User-defined top-level symbols
447
845
  for (const fn of program.declarations) {
448
846
  items.push({ label: fn.name, kind: CompletionItemKind.Function })
449
847
  }
@@ -456,11 +854,252 @@ connection.onCompletion((params: TextDocumentPositionParams): CompletionItem[] =
456
854
  for (const c of program.consts ?? []) {
457
855
  items.push({ label: c.name, kind: CompletionItemKind.Constant })
458
856
  }
857
+ for (const g of program.globals ?? []) {
858
+ items.push({ label: g.name, kind: CompletionItemKind.Variable })
859
+ }
860
+
861
+ // Locals from the enclosing function
862
+ const curLine = params.position.line + 1
863
+ for (const fn of program.declarations) {
864
+ if (fn.body && fn.span) {
865
+ if (curLine >= fn.span.line && curLine <= (fn.span.endLine ?? Infinity)) {
866
+ for (const [name, typ] of collectLocals(fn.body as Block)) {
867
+ items.push({
868
+ label: name,
869
+ kind: CompletionItemKind.Variable,
870
+ detail: typeToString(typ),
871
+ })
872
+ }
873
+ break
874
+ }
875
+ }
876
+ }
459
877
  }
460
878
 
879
+ // ── Functions from imported files (both "path" and module::* forms) ────────
880
+ try {
881
+ const importedPrograms = getImportedPrograms(source, params.textDocument.uri)
882
+ for (const { prog, filePath } of importedPrograms) {
883
+ for (const fn of prog.declarations) {
884
+ const paramList = fn.params.map(p => `${p.name}: ${typeToString(p.type)}`).join(', ')
885
+ items.push({
886
+ label: fn.name,
887
+ kind: CompletionItemKind.Function,
888
+ detail: `(${paramList}) → ${typeToString(fn.returnType ?? { kind: 'named', name: 'void' })}`,
889
+ documentation: `from ${path.basename(filePath)}`,
890
+ })
891
+ }
892
+ for (const s of prog.structs ?? []) {
893
+ items.push({ label: s.name, kind: CompletionItemKind.Struct, documentation: `from ${path.basename(filePath)}` })
894
+ }
895
+ }
896
+ } catch { /* ignore import completion errors */ }
897
+
461
898
  return items
462
899
  })
463
900
 
901
+ // ---------------------------------------------------------------------------
902
+ // Helpers for word-at-position (used by references and rename)
903
+ // ---------------------------------------------------------------------------
904
+
905
+ function getWordRangeAtPosition(
906
+ doc: import('vscode-languageserver-textdocument').TextDocument,
907
+ position: Position,
908
+ ): { start: Position; end: Position } | null {
909
+ const text = doc.getText()
910
+ const offset = doc.offsetAt(position)
911
+ let start = offset
912
+ let end = offset
913
+ while (start > 0 && /[a-zA-Z0-9_]/.test(text[start - 1])) start--
914
+ while (end < text.length && /[a-zA-Z0-9_]/.test(text[end])) end++
915
+ if (start === end) return null
916
+ return { start: doc.positionAt(start), end: doc.positionAt(end) }
917
+ }
918
+
919
+ // ---------------------------------------------------------------------------
920
+ // Signature Help
921
+ // ---------------------------------------------------------------------------
922
+
923
+ connection.onSignatureHelp((params: SignatureHelpParams): SignatureHelp | null => {
924
+ const doc = documents.get(params.textDocument.uri)
925
+ if (!doc) return null
926
+
927
+ const parsed = parsedDocs.get(params.textDocument.uri)
928
+ if (!parsed?.program) return null
929
+
930
+ const text = doc.getText()
931
+ const offset = doc.offsetAt(params.position)
932
+
933
+ // Walk backwards to find the opening '(' and count active parameter
934
+ let depth = 0
935
+ let i = offset - 1
936
+ let activeParam = 0
937
+
938
+ while (i >= 0) {
939
+ const ch = text[i]
940
+ if (ch === ')') depth++
941
+ else if (ch === '(') {
942
+ if (depth === 0) break
943
+ depth--
944
+ } else if (ch === ',' && depth === 0) activeParam++
945
+ i--
946
+ }
947
+
948
+ if (i < 0) return null
949
+
950
+ // Extract function name before '('
951
+ let nameEnd = i - 1
952
+ while (nameEnd >= 0 && /\s/.test(text[nameEnd])) nameEnd--
953
+ let nameStart = nameEnd
954
+ while (nameStart > 0 && /[a-zA-Z0-9_]/.test(text[nameStart - 1])) nameStart--
955
+ const fnName = text.slice(nameStart, nameEnd + 1)
956
+
957
+ if (!fnName) return null
958
+
959
+ // Find function declaration in parsed program
960
+ const fn = parsed.program.declarations.find(s => s.name === fnName)
961
+
962
+ // Also check builtins (BUILTIN_METADATA is a Record<string, BuiltinDef>)
963
+ const builtin = ALL_BUILTINS[fnName]
964
+
965
+ if (!fn && !builtin) return null
966
+
967
+ let label: string
968
+ let paramsList: string[]
969
+
970
+ if (fn) {
971
+ paramsList = fn.params.map(p => `${p.name}: ${typeToString(p.type)}`)
972
+ label = `fn ${fn.name}(${paramsList.join(', ')}): ${typeToString(fn.returnType)}`
973
+ } else {
974
+ paramsList = builtin.params?.map(p => `${p.name}: ${p.type}`) ?? []
975
+ label = `${builtin.name}(${paramsList.join(', ')}): ${builtin.returns ?? 'void'}`
976
+ }
977
+
978
+ const paramInfos: ParameterInformation[] = paramsList.map(p => ({ label: p }))
979
+
980
+ return {
981
+ signatures: [
982
+ {
983
+ label,
984
+ parameters: paramInfos,
985
+ activeParameter: Math.min(activeParam, Math.max(0, paramInfos.length - 1)),
986
+ } as SignatureInformation,
987
+ ],
988
+ activeSignature: 0,
989
+ activeParameter: Math.min(activeParam, Math.max(0, paramInfos.length - 1)),
990
+ }
991
+ })
992
+
993
+ // ---------------------------------------------------------------------------
994
+ // Inlay Hints
995
+ // ---------------------------------------------------------------------------
996
+
997
+ connection.onRequest(
998
+ 'textDocument/inlayHint',
999
+ (params: { textDocument: { uri: string }; range: unknown }): InlayHint[] => {
1000
+ const parsed = parsedDocs.get(params.textDocument.uri)
1001
+ if (!parsed?.program) return []
1002
+ const doc = documents.get(params.textDocument.uri)
1003
+ if (!doc) return []
1004
+
1005
+ const hints: InlayHint[] = []
1006
+
1007
+ // Walk all let declarations with no explicit type annotation
1008
+ // (where the type was inferred by the type checker)
1009
+ function walkStmt(stmt: Record<string, unknown>): void {
1010
+ if (
1011
+ stmt['kind'] === 'let_decl' &&
1012
+ !stmt['typeAnnotation'] &&
1013
+ stmt['inferredType']
1014
+ ) {
1015
+ const spanVal = stmt['span'] as { end?: number } | undefined
1016
+ const pos = doc!.positionAt(spanVal?.end ?? 0)
1017
+ hints.push({
1018
+ position: { line: pos.line, character: pos.character },
1019
+ label: `: ${typeToString(stmt['inferredType'] as import('../ast/types').TypeNode)}`,
1020
+ kind: InlayHintKind.Type,
1021
+ paddingLeft: true,
1022
+ })
1023
+ }
1024
+ // Recurse into blocks, if/else bodies, etc.
1025
+ const body = stmt['body'] as Record<string, unknown>[] | undefined
1026
+ if (Array.isArray(body)) body.forEach(walkStmt)
1027
+ const then_ = stmt['then'] as Record<string, unknown>[] | undefined
1028
+ if (Array.isArray(then_)) then_.forEach(walkStmt)
1029
+ const else_ = stmt['else_'] as Record<string, unknown>[] | undefined
1030
+ if (Array.isArray(else_)) else_.forEach(walkStmt)
1031
+ }
1032
+
1033
+ parsed.program.declarations.forEach(top => {
1034
+ if (top.body) {
1035
+ (top.body as Record<string, unknown>[]).forEach(walkStmt)
1036
+ }
1037
+ })
1038
+
1039
+ return hints
1040
+ },
1041
+ )
1042
+
1043
+ // ---------------------------------------------------------------------------
1044
+ // Find References
1045
+ // ---------------------------------------------------------------------------
1046
+
1047
+ connection.onReferences((params: ReferenceParams): Location[] => {
1048
+ const doc = documents.get(params.textDocument.uri)
1049
+ if (!doc) return []
1050
+
1051
+ const parsed = parsedDocs.get(params.textDocument.uri)
1052
+ if (!parsed?.program) return []
1053
+
1054
+ const wordRange = getWordRangeAtPosition(doc, params.position)
1055
+ if (!wordRange) return []
1056
+ const word = doc.getText(wordRange)
1057
+ if (!word) return []
1058
+
1059
+ const text = doc.getText()
1060
+ const locations: Location[] = []
1061
+ const regex = new RegExp(`\\b${word}\\b`, 'g')
1062
+ let match: RegExpExecArray | null
1063
+
1064
+ while ((match = regex.exec(text)) !== null) {
1065
+ const start = doc.positionAt(match.index)
1066
+ const end = doc.positionAt(match.index + word.length)
1067
+ locations.push({
1068
+ uri: params.textDocument.uri,
1069
+ range: { start, end },
1070
+ })
1071
+ }
1072
+
1073
+ return locations
1074
+ })
1075
+
1076
+ // ---------------------------------------------------------------------------
1077
+ // Rename Symbol
1078
+ // ---------------------------------------------------------------------------
1079
+
1080
+ connection.onRenameRequest((params: RenameParams): WorkspaceEdit | null => {
1081
+ const doc = documents.get(params.textDocument.uri)
1082
+ if (!doc) return null
1083
+
1084
+ const wordRange = getWordRangeAtPosition(doc, params.position)
1085
+ if (!wordRange) return null
1086
+ const word = doc.getText(wordRange)
1087
+ if (!word) return null
1088
+
1089
+ const text = doc.getText()
1090
+ const edits: import('vscode-languageserver/node').TextEdit[] = []
1091
+ const regex = new RegExp(`\\b${word}\\b`, 'g')
1092
+ let match: RegExpExecArray | null
1093
+
1094
+ while ((match = regex.exec(text)) !== null) {
1095
+ const start = doc.positionAt(match.index)
1096
+ const end = doc.positionAt(match.index + word.length)
1097
+ edits.push({ range: { start, end }, newText: params.newName })
1098
+ }
1099
+
1100
+ return { changes: { [params.textDocument.uri]: edits } }
1101
+ })
1102
+
464
1103
  // ---------------------------------------------------------------------------
465
1104
  // Start
466
1105
  // ---------------------------------------------------------------------------