nucleation 0.1.132__tar.gz → 0.1.133__tar.gz

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 (446) hide show
  1. {nucleation-0.1.132 → nucleation-0.1.133}/Cargo.lock +1 -1
  2. {nucleation-0.1.132 → nucleation-0.1.133}/Cargo.toml +1 -1
  3. {nucleation-0.1.132 → nucleation-0.1.133}/PKG-INFO +1 -1
  4. {nucleation-0.1.132 → nucleation-0.1.133}/pyproject.toml +1 -1
  5. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/libnucleation-macos-arm64.dylib +0 -0
  6. nucleation-0.1.133/release-artifacts/libnucleation-macos-x64.dylib +0 -0
  7. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/libnucleation.rlib +0 -0
  8. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/nucleation-original.js +8 -8
  9. nucleation-0.1.133/release-artifacts/nucleation_bg.wasm +0 -0
  10. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/package.json +1 -1
  11. nucleation-0.1.133/simple_cube.litematic +0 -0
  12. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/mod.rs +1 -1
  13. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/sort_strategy.rs +44 -0
  14. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/definition_region.rs +0 -2
  15. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/schematic.rs +164 -22
  16. nucleation-0.1.133/test_schematic.schem +0 -0
  17. nucleation-0.1.133/tests/executor_config_test.js +228 -0
  18. nucleation-0.1.132/release-artifacts/libnucleation-macos-x64.dylib +0 -0
  19. nucleation-0.1.132/release-artifacts/nucleation_bg.wasm +0 -0
  20. nucleation-0.1.132/simple_cube.litematic +0 -0
  21. nucleation-0.1.132/test_schematic.schem +0 -0
  22. {nucleation-0.1.132 → nucleation-0.1.133}/.DS_Store +0 -0
  23. {nucleation-0.1.132 → nucleation-0.1.133}/.cargo/config.toml +0 -0
  24. {nucleation-0.1.132 → nucleation-0.1.133}/.github/workflows/ci.yml +0 -0
  25. {nucleation-0.1.132 → nucleation-0.1.133}/.gitignore +0 -0
  26. {nucleation-0.1.132 → nucleation-0.1.133}/.idea/.gitignore +0 -0
  27. {nucleation-0.1.132 → nucleation-0.1.133}/.idea/minecraft_schematic_utils.iml +0 -0
  28. {nucleation-0.1.132 → nucleation-0.1.133}/.idea/misc.xml +0 -0
  29. {nucleation-0.1.132 → nucleation-0.1.133}/.idea/modules.xml +0 -0
  30. {nucleation-0.1.132 → nucleation-0.1.133}/.idea/vcs.xml +0 -0
  31. {nucleation-0.1.132 → nucleation-0.1.133}/4bit_adder.litematic +0 -0
  32. {nucleation-0.1.132 → nucleation-0.1.133}/CUSTOM_IO_INTEGRATION_CHECKLIST.md +0 -0
  33. {nucleation-0.1.132 → nucleation-0.1.133}/Dockerfile +0 -0
  34. {nucleation-0.1.132 → nucleation-0.1.133}/LICENSE +0 -0
  35. {nucleation-0.1.132 → nucleation-0.1.133}/README.md +0 -0
  36. {nucleation-0.1.132 → nucleation-0.1.133}/benches/performance_test.rs +0 -0
  37. {nucleation-0.1.132 → nucleation-0.1.133}/benches/schematic_bench.rs +0 -0
  38. {nucleation-0.1.132 → nucleation-0.1.133}/build-ffi.sh +0 -0
  39. {nucleation-0.1.132 → nucleation-0.1.133}/build-wasm.sh +0 -0
  40. {nucleation-0.1.132 → nucleation-0.1.133}/docs/README.md +0 -0
  41. {nucleation-0.1.132 → nucleation-0.1.133}/docs/insign-io-integration.md +0 -0
  42. {nucleation-0.1.132 → nucleation-0.1.133}/docs/javascript/README.md +0 -0
  43. {nucleation-0.1.132 → nucleation-0.1.133}/docs/python/README.md +0 -0
  44. {nucleation-0.1.132 → nucleation-0.1.133}/docs/rust/README.md +0 -0
  45. {nucleation-0.1.132 → nucleation-0.1.133}/docs/shared/guide/circuit-api.md +0 -0
  46. {nucleation-0.1.132 → nucleation-0.1.133}/docs/shared/guide/definition-region.md +0 -0
  47. {nucleation-0.1.132 → nucleation-0.1.133}/docs/shared/guide/schematic-builder.md +0 -0
  48. {nucleation-0.1.132 → nucleation-0.1.133}/docs/shared/guide/typed-executor.md +0 -0
  49. {nucleation-0.1.132 → nucleation-0.1.133}/docs/shared/unicode-palette.md +0 -0
  50. {nucleation-0.1.132 → nucleation-0.1.133}/examples/bracket_notation.rs +0 -0
  51. {nucleation-0.1.132 → nucleation-0.1.133}/examples/build_adder.rs +0 -0
  52. {nucleation-0.1.132 → nucleation-0.1.133}/examples/build_test_adder.rs +0 -0
  53. {nucleation-0.1.132 → nucleation-0.1.133}/examples/check_adder_dims.rs +0 -0
  54. {nucleation-0.1.132 → nucleation-0.1.133}/examples/connect4_battle_setup.rs +0 -0
  55. {nucleation-0.1.132 → nucleation-0.1.133}/examples/create_simple_litematic.rs +0 -0
  56. {nucleation-0.1.132 → nucleation-0.1.133}/examples/custom_io_signals.rs +0 -0
  57. {nucleation-0.1.132 → nucleation-0.1.133}/examples/ffi.md +0 -0
  58. {nucleation-0.1.132 → nucleation-0.1.133}/examples/python.md +0 -0
  59. {nucleation-0.1.132 → nucleation-0.1.133}/examples/python_simulation.py +0 -0
  60. {nucleation-0.1.132 → nucleation-0.1.133}/examples/rust.md +0 -0
  61. {nucleation-0.1.132 → nucleation-0.1.133}/examples/rust_fluent_api.rs +0 -0
  62. {nucleation-0.1.132 → nucleation-0.1.133}/examples/test_asymmetric_cubes.rs +0 -0
  63. {nucleation-0.1.132 → nucleation-0.1.133}/examples/test_checkerboard.rs +0 -0
  64. {nucleation-0.1.132 → nucleation-0.1.133}/examples/test_unicode_circuit.rs +0 -0
  65. {nucleation-0.1.132 → nucleation-0.1.133}/examples/universal_schematic_overhead.rs +0 -0
  66. {nucleation-0.1.132 → nucleation-0.1.133}/examples/wasm.md +0 -0
  67. {nucleation-0.1.132 → nucleation-0.1.133}/helf_adder.litematic +0 -0
  68. {nucleation-0.1.132 → nucleation-0.1.133}/insign.d.ts +0 -0
  69. {nucleation-0.1.132 → nucleation-0.1.133}/nucleation-stubs.php +0 -0
  70. {nucleation-0.1.132 → nucleation-0.1.133}/nucleation.pyi +0 -0
  71. {nucleation-0.1.132 → nucleation-0.1.133}/output/.DS_Store +0 -0
  72. {nucleation-0.1.132 → nucleation-0.1.133}/output/full_adder.litematic +0 -0
  73. {nucleation-0.1.132 → nucleation-0.1.133}/pre-push.sh +0 -0
  74. {nucleation-0.1.132 → nucleation-0.1.133}/py.typed +0 -0
  75. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/LICENSE +0 -0
  76. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/README.md +0 -0
  77. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/libnucleation.d +0 -0
  78. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/nucleation-cdn-loader.js +0 -0
  79. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/nucleation.d.ts +57 -57
  80. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/nucleation.js +0 -0
  81. {nucleation-0.1.132 → nucleation-0.1.133}/release-artifacts/nucleation_bg.wasm.d.ts +56 -56
  82. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/generated/d_latch.litematic +0 -0
  83. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/generated/xor.schem +0 -0
  84. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/comparator_subtract_bug1.txt +0 -0
  85. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/comparator_subtract_bug2.txt +0 -0
  86. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/comparator_subtract_simple.txt +0 -0
  87. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/comparator_subtract_with_signs.txt +0 -0
  88. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/d_latch.txt +0 -0
  89. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/failing_case.txt +0 -0
  90. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/full_adder.txt +0 -0
  91. {nucleation-0.1.132 → nucleation-0.1.133}/schematic_builder/templates/xor.txt +0 -0
  92. {nucleation-0.1.132 → nucleation-0.1.133}/scripts/update-stubs.sh +0 -0
  93. {nucleation-0.1.132 → nucleation-0.1.133}/src/bin/schematic-builder.rs +0 -0
  94. {nucleation-0.1.132 → nucleation-0.1.133}/src/block_entity/generic.rs +0 -0
  95. {nucleation-0.1.132 → nucleation-0.1.133}/src/block_entity/mod.rs +0 -0
  96. {nucleation-0.1.132 → nucleation-0.1.133}/src/block_position.rs +0 -0
  97. {nucleation-0.1.132 → nucleation-0.1.133}/src/block_state.rs +0 -0
  98. {nucleation-0.1.132 → nucleation-0.1.133}/src/bounding_box.rs +0 -0
  99. {nucleation-0.1.132 → nucleation-0.1.133}/src/chunk.rs +0 -0
  100. {nucleation-0.1.132 → nucleation-0.1.133}/src/definition_region.rs +0 -0
  101. {nucleation-0.1.132 → nucleation-0.1.133}/src/entity.rs +0 -0
  102. {nucleation-0.1.132 → nucleation-0.1.133}/src/ffi.rs +0 -0
  103. {nucleation-0.1.132 → nucleation-0.1.133}/src/formats/litematic.rs +0 -0
  104. {nucleation-0.1.132 → nucleation-0.1.133}/src/formats/mod.rs +0 -0
  105. {nucleation-0.1.132 → nucleation-0.1.133}/src/formats/schematic.rs +0 -0
  106. {nucleation-0.1.132 → nucleation-0.1.133}/src/formats/sponge_schematic_v3.md +0 -0
  107. {nucleation-0.1.132 → nucleation-0.1.133}/src/insign.rs +0 -0
  108. {nucleation-0.1.132 → nucleation-0.1.133}/src/item/mod.rs +0 -0
  109. {nucleation-0.1.132 → nucleation-0.1.133}/src/item/stack.rs +0 -0
  110. {nucleation-0.1.132 → nucleation-0.1.133}/src/lib.rs +0 -0
  111. {nucleation-0.1.132 → nucleation-0.1.133}/src/metadata.rs +0 -0
  112. {nucleation-0.1.132 → nucleation-0.1.133}/src/php.rs +0 -0
  113. {nucleation-0.1.132 → nucleation-0.1.133}/src/print_utils.rs +0 -0
  114. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/circuit_builder.rs +0 -0
  115. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/definition_region.rs +0 -0
  116. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/mod.rs +0 -0
  117. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/schematic.rs +0 -0
  118. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/schematic_builder.rs +0 -0
  119. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/simulation.rs +0 -0
  120. {nucleation-0.1.132 → nucleation-0.1.133}/src/python/typed_executor.rs +0 -0
  121. {nucleation-0.1.132 → nucleation-0.1.133}/src/region.rs +0 -0
  122. {nucleation-0.1.132 → nucleation-0.1.133}/src/schematic_builder/palettes.rs +0 -0
  123. {nucleation-0.1.132 → nucleation-0.1.133}/src/schematic_builder.rs +0 -0
  124. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/circuit_builder.rs +0 -0
  125. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/mchprs_world.rs +0 -0
  126. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/mod.rs +0 -0
  127. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/tests.rs +0 -0
  128. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/truth_table.rs +0 -0
  129. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/executor.rs +0 -0
  130. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/insign_io.rs +0 -0
  131. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/integration_tests.rs +0 -0
  132. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/io_layout_builder.rs +0 -0
  133. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/io_mapping.rs +0 -0
  134. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/io_type.rs +0 -0
  135. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/layout_function.rs +0 -0
  136. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/tests.rs +0 -0
  137. {nucleation-0.1.132 → nucleation-0.1.133}/src/simulation/typed_executor/value.rs +0 -0
  138. {nucleation-0.1.132 → nucleation-0.1.133}/src/transforms.rs +0 -0
  139. {nucleation-0.1.132 → nucleation-0.1.133}/src/universal_schematic.rs +0 -0
  140. {nucleation-0.1.132 → nucleation-0.1.133}/src/utils/block_string.rs +0 -0
  141. {nucleation-0.1.132 → nucleation-0.1.133}/src/utils/container_spec.rs +0 -0
  142. {nucleation-0.1.132 → nucleation-0.1.133}/src/utils/enhanced_nbt_parser.rs +0 -0
  143. {nucleation-0.1.132 → nucleation-0.1.133}/src/utils/mod.rs +0 -0
  144. {nucleation-0.1.132 → nucleation-0.1.133}/src/utils/nbt.rs +0 -0
  145. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/circuit_builder.rs +0 -0
  146. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/mod.rs +0 -0
  147. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/schematic_builder.rs +0 -0
  148. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/simulation.rs +0 -0
  149. {nucleation-0.1.132 → nucleation-0.1.133}/src/wasm/typed_executor.rs +0 -0
  150. {nucleation-0.1.132 → nucleation-0.1.133}/test-wasm.sh +0 -0
  151. {nucleation-0.1.132 → nucleation-0.1.133}/test_adder.litematic +0 -0
  152. {nucleation-0.1.132 → nucleation-0.1.133}/test_circuit.txt +0 -0
  153. {nucleation-0.1.132 → nucleation-0.1.133}/test_cli_output.litematic +0 -0
  154. {nucleation-0.1.132 → nucleation-0.1.133}/test_count_format.schem +0 -0
  155. {nucleation-0.1.132 → nucleation-0.1.133}/test_enhanced.schem +0 -0
  156. {nucleation-0.1.132 → nucleation-0.1.133}/test_fixed.schem +0 -0
  157. {nucleation-0.1.132 → nucleation-0.1.133}/tests/.DS_Store +0 -0
  158. {nucleation-0.1.132 → nucleation-0.1.133}/tests/barrel_nbt_test.rs +0 -0
  159. {nucleation-0.1.132 → nucleation-0.1.133}/tests/debug_flip.rs +0 -0
  160. {nucleation-0.1.132 → nucleation-0.1.133}/tests/definition_regions_test.rs +0 -0
  161. {nucleation-0.1.132 → nucleation-0.1.133}/tests/integration_tests.rs +0 -0
  162. {nucleation-0.1.132 → nucleation-0.1.133}/tests/mchprs_state_test.rs +0 -0
  163. {nucleation-0.1.132 → nucleation-0.1.133}/tests/nbt_parsing_test.rs +0 -0
  164. {nucleation-0.1.132 → nucleation-0.1.133}/tests/node_fluent_api_test.mjs +0 -0
  165. {nucleation-0.1.132 → nucleation-0.1.133}/tests/node_simple_circuit_test.js +0 -0
  166. {nucleation-0.1.132 → nucleation-0.1.133}/tests/node_simple_circuit_test.mjs +0 -0
  167. {nucleation-0.1.132 → nucleation-0.1.133}/tests/node_wasm_test.js +0 -0
  168. {nucleation-0.1.132 → nucleation-0.1.133}/tests/package.json +0 -0
  169. {nucleation-0.1.132 → nucleation-0.1.133}/tests/php-stubs-test.php +0 -0
  170. {nucleation-0.1.132 → nucleation-0.1.133}/tests/property_transformation_demo.rs +0 -0
  171. {nucleation-0.1.132 → nucleation-0.1.133}/tests/python_simple_circuit_test.py +0 -0
  172. {nucleation-0.1.132 → nucleation-0.1.133}/tests/python_test.py +0 -0
  173. {nucleation-0.1.132 → nucleation-0.1.133}/tests/reproduce_bug.rs +0 -0
  174. {nucleation-0.1.132 → nucleation-0.1.133}/tests/rust_fluent_api_test.rs +0 -0
  175. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/1x1.litematic +0 -0
  176. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/3x2x3.litematic +0 -0
  177. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/3x3.litematic +0 -0
  178. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/4x2x4.litematic +0 -0
  179. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/4x4x4+1.litematic +0 -0
  180. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/Evaluator.schem +0 -0
  181. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/all_items.litematic +0 -0
  182. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/and.schem +0 -0
  183. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/brewer.litematic +0 -0
  184. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/cutecounter.schem +0 -0
  185. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/door_plot.litematic +0 -0
  186. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/file.litematic.l +0 -0
  187. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/gol.litematic +0 -0
  188. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/large_schematic.schem +0 -0
  189. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/linear_plotter.litematic +0 -0
  190. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/litematic-rose-farm.litematic +0 -0
  191. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/new_chest_test.schem +0 -0
  192. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/quarry.litematic +0 -0
  193. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/sample.litematic +0 -0
  194. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/sample.schem +0 -0
  195. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/spinny.litematic +0 -0
  196. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/ss-sorter.litematic +0 -0
  197. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/storage_thingy.litematic +0 -0
  198. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/test_coordinate_thingy.litematic +0 -0
  199. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/test_cube.schem +0 -0
  200. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/trencher.litematic +0 -0
  201. {nucleation-0.1.132 → nucleation-0.1.133}/tests/samples/wool_palette.litematic +0 -0
  202. {nucleation-0.1.132 → nucleation-0.1.133}/tests/simple_wasm_test.rs +0 -0
  203. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_barrel_hopper_simulation.rs +0 -0
  204. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_chunk_bounds_bug.rs +0 -0
  205. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_comparator_diagonal_bug.rs +0 -0
  206. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_comparator_subtract_bug.rs +0 -0
  207. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_comparator_subtract_executor.rs +0 -0
  208. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_custom_io_adjacent_bug.rs +0 -0
  209. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_custom_io_no_power_bug.rs +0 -0
  210. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_intermediate_wire_sync.rs +0 -0
  211. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_long_wire.rs +0 -0
  212. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_nibble_signal_strength.rs +0 -0
  213. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_region_expansion_bugs.rs +0 -0
  214. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_repeater_chain_sync.rs +0 -0
  215. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_repeater_custom_io_bug.rs +0 -0
  216. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_simulation_with_tight_bounds.rs +0 -0
  217. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_two_inputs_exact_topology.rs +0 -0
  218. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_two_inputs_no_output_bug.rs +0 -0
  219. {nucleation-0.1.132 → nucleation-0.1.133}/tests/test_typed_executor_sync_output_bug.rs +0 -0
  220. {nucleation-0.1.132 → nucleation-0.1.133}/tests/transformation_tests.rs +0 -0
  221. {nucleation-0.1.132 → nucleation-0.1.133}/tests/wasm_node_tests.rs +0 -0
  222. {nucleation-0.1.132 → nucleation-0.1.133}/tests/wasm_tests.rs +0 -0
  223. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/bun.lockb +0 -0
  224. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/index.html +0 -0
  225. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/index.js +0 -0
  226. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/minecraft_schematic_utils.js +0 -0
  227. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/minecraft_schematic_utils_bg.wasm +0 -0
  228. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/LICENSE +0 -0
  229. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/README.md +0 -0
  230. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/assert/strict.d.ts +0 -0
  231. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/assert.d.ts +0 -0
  232. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/async_hooks.d.ts +0 -0
  233. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/buffer.d.ts +0 -0
  234. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/child_process.d.ts +0 -0
  235. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/cluster.d.ts +0 -0
  236. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/console.d.ts +0 -0
  237. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/constants.d.ts +0 -0
  238. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/crypto.d.ts +0 -0
  239. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/dgram.d.ts +0 -0
  240. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  241. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/dns/promises.d.ts +0 -0
  242. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/dns.d.ts +0 -0
  243. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/dom-events.d.ts +0 -0
  244. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/domain.d.ts +0 -0
  245. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/events.d.ts +0 -0
  246. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/fs/promises.d.ts +0 -0
  247. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/fs.d.ts +0 -0
  248. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/globals.d.ts +0 -0
  249. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/globals.global.d.ts +0 -0
  250. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/http.d.ts +0 -0
  251. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/http2.d.ts +0 -0
  252. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/https.d.ts +0 -0
  253. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/index.d.ts +0 -0
  254. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/inspector.d.ts +0 -0
  255. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/module.d.ts +0 -0
  256. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/net.d.ts +0 -0
  257. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/os.d.ts +0 -0
  258. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/package.json +0 -0
  259. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/path.d.ts +0 -0
  260. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/perf_hooks.d.ts +0 -0
  261. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/process.d.ts +0 -0
  262. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/punycode.d.ts +0 -0
  263. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/querystring.d.ts +0 -0
  264. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/readline/promises.d.ts +0 -0
  265. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/readline.d.ts +0 -0
  266. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/repl.d.ts +0 -0
  267. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/sea.d.ts +0 -0
  268. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/stream/consumers.d.ts +0 -0
  269. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/stream/promises.d.ts +0 -0
  270. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/stream/web.d.ts +0 -0
  271. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/stream.d.ts +0 -0
  272. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/string_decoder.d.ts +0 -0
  273. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/test.d.ts +0 -0
  274. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/timers/promises.d.ts +0 -0
  275. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/timers.d.ts +0 -0
  276. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/tls.d.ts +0 -0
  277. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/trace_events.d.ts +0 -0
  278. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/tty.d.ts +0 -0
  279. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/url.d.ts +0 -0
  280. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/util.d.ts +0 -0
  281. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/v8.d.ts +0 -0
  282. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/vm.d.ts +0 -0
  283. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/wasi.d.ts +0 -0
  284. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/worker_threads.d.ts +0 -0
  285. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/node/zlib.d.ts +0 -0
  286. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/LICENSE +0 -0
  287. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/README.md +0 -0
  288. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/index.d.mts +0 -0
  289. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/index.d.ts +0 -0
  290. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/LICENSE +0 -0
  291. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/README.md +0 -0
  292. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +0 -0
  293. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +0 -0
  294. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +0 -0
  295. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +0 -0
  296. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +0 -0
  297. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +0 -0
  298. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/console.d.ts +0 -0
  299. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +0 -0
  300. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +0 -0
  301. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +0 -0
  302. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  303. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +0 -0
  304. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +0 -0
  305. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dom-events.d.ts +0 -0
  306. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +0 -0
  307. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/events.d.ts +0 -0
  308. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +0 -0
  309. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +0 -0
  310. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +0 -0
  311. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.global.d.ts +0 -0
  312. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http.d.ts +0 -0
  313. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +0 -0
  314. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/https.d.ts +0 -0
  315. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/index.d.ts +0 -0
  316. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +0 -0
  317. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/module.d.ts +0 -0
  318. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/net.d.ts +0 -0
  319. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/LICENSE +0 -0
  320. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/README.md +0 -0
  321. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/agent.d.ts +0 -0
  322. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/api.d.ts +0 -0
  323. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts +0 -0
  324. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cache.d.ts +0 -0
  325. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/client.d.ts +0 -0
  326. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/connector.d.ts +0 -0
  327. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/content-type.d.ts +0 -0
  328. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cookies.d.ts +0 -0
  329. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  330. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts +0 -0
  331. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
  332. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/errors.d.ts +0 -0
  333. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/eventsource.d.ts +0 -0
  334. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/fetch.d.ts +0 -0
  335. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/file.d.ts +0 -0
  336. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/filereader.d.ts +0 -0
  337. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/formdata.d.ts +0 -0
  338. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  339. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-origin.d.ts +0 -0
  340. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/handlers.d.ts +0 -0
  341. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/header.d.ts +0 -0
  342. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/index.d.ts +0 -0
  343. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/interceptors.d.ts +0 -0
  344. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts +0 -0
  345. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-client.d.ts +0 -0
  346. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts +0 -0
  347. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  348. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts +0 -0
  349. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/package.json +0 -0
  350. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/patch.d.ts +0 -0
  351. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts +0 -0
  352. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool.d.ts +0 -0
  353. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts +0 -0
  354. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/readable.d.ts +0 -0
  355. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts +0 -0
  356. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts +0 -0
  357. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/util.d.ts +0 -0
  358. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/webidl.d.ts +0 -0
  359. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/websocket.d.ts +0 -0
  360. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/os.d.ts +0 -0
  361. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/package.json +0 -0
  362. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/path.d.ts +0 -0
  363. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +0 -0
  364. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/process.d.ts +0 -0
  365. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +0 -0
  366. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +0 -0
  367. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +0 -0
  368. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +0 -0
  369. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +0 -0
  370. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +0 -0
  371. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +0 -0
  372. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +0 -0
  373. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +0 -0
  374. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +0 -0
  375. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +0 -0
  376. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +0 -0
  377. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/test.d.ts +0 -0
  378. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +0 -0
  379. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +0 -0
  380. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +0 -0
  381. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +0 -0
  382. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +0 -0
  383. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/url.d.ts +0 -0
  384. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/util.d.ts +0 -0
  385. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +0 -0
  386. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +0 -0
  387. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +0 -0
  388. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +0 -0
  389. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +0 -0
  390. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/@types/ws/package.json +0 -0
  391. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/README.md +0 -0
  392. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/bun.d.ts +0 -0
  393. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/deprecated.d.ts +0 -0
  394. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/fetch.d.ts +0 -0
  395. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/ffi.d.ts +0 -0
  396. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/globals.d.ts +0 -0
  397. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/html-rewriter.d.ts +0 -0
  398. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/index.d.ts +0 -0
  399. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/jsc.d.ts +0 -0
  400. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/overrides.d.ts +0 -0
  401. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/package.json +0 -0
  402. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/sqlite.d.ts +0 -0
  403. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/test.d.ts +0 -0
  404. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/bun-types/wasm.d.ts +0 -0
  405. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/README.md +0 -0
  406. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/agent.d.ts +0 -0
  407. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/api.d.ts +0 -0
  408. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/balanced-pool.d.ts +0 -0
  409. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/cache.d.ts +0 -0
  410. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/client.d.ts +0 -0
  411. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/connector.d.ts +0 -0
  412. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/content-type.d.ts +0 -0
  413. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/cookies.d.ts +0 -0
  414. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  415. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/dispatcher.d.ts +0 -0
  416. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/errors.d.ts +0 -0
  417. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/fetch.d.ts +0 -0
  418. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/file.d.ts +0 -0
  419. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/filereader.d.ts +0 -0
  420. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/formdata.d.ts +0 -0
  421. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  422. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/global-origin.d.ts +0 -0
  423. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/handlers.d.ts +0 -0
  424. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/header.d.ts +0 -0
  425. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/index.d.ts +0 -0
  426. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/interceptors.d.ts +0 -0
  427. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/mock-agent.d.ts +0 -0
  428. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/mock-client.d.ts +0 -0
  429. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/mock-errors.d.ts +0 -0
  430. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  431. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/mock-pool.d.ts +0 -0
  432. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/package.json +0 -0
  433. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/patch.d.ts +0 -0
  434. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/pool-stats.d.ts +0 -0
  435. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/pool.d.ts +0 -0
  436. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/proxy-agent.d.ts +0 -0
  437. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/readable.d.ts +0 -0
  438. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/webidl.d.ts +0 -0
  439. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/node_modules/undici-types/websocket.d.ts +0 -0
  440. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/nucleation-web.js +0 -0
  441. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/nucleation-web_bg.wasm +0 -0
  442. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/nucleation.js +0 -0
  443. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/nucleation_bg.js +0 -0
  444. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/nucleation_bg.wasm +0 -0
  445. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/package.json +0 -0
  446. {nucleation-0.1.132 → nucleation-0.1.133}/wasm-test/server.js +0 -0
@@ -1687,7 +1687,7 @@ dependencies = [
1687
1687
 
1688
1688
  [[package]]
1689
1689
  name = "nucleation"
1690
- version = "0.1.132"
1690
+ version = "0.1.133"
1691
1691
  dependencies = [
1692
1692
  "base64",
1693
1693
  "bytemuck",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "nucleation"
3
- version = "0.1.132"
3
+ version = "0.1.133"
4
4
  edition = "2021"
5
5
  description = "A high-performance Minecraft schematic parser and utility library"
6
6
  authors = ["Nano nano@schem.at"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucleation
3
- Version: 0.1.132
3
+ Version: 0.1.133
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: GNU Affero General Public License v3
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "nucleation"
7
- version = "0.1.132"
7
+ version = "0.1.133"
8
8
  description = "A high-performance Minecraft schematic parser and utility library"
9
9
  authors = [{ name = "Nano", email = "nano@schem.at" }]
10
10
  license = { text = "AGPL-3.0-only" }
@@ -255,13 +255,6 @@ function passArray8ToWasm0(arg, malloc) {
255
255
  WASM_VECTOR_LEN = arg.length;
256
256
  return ptr;
257
257
  }
258
- /**
259
- * Initialize WASM module with panic hook for better error messages
260
- */
261
- export function start() {
262
- wasm.start();
263
- }
264
-
265
258
  /**
266
259
  * @param {SchematicWrapper} schematic
267
260
  * @returns {string}
@@ -280,6 +273,13 @@ export function debug_schematic(schematic) {
280
273
  }
281
274
  }
282
275
 
276
+ /**
277
+ * Initialize WASM module with panic hook for better error messages
278
+ */
279
+ export function start() {
280
+ wasm.start();
281
+ }
282
+
283
283
  /**
284
284
  * @param {SchematicWrapper} schematic
285
285
  * @returns {string}
@@ -1089,7 +1089,7 @@ export class DefinitionRegionWrapper {
1089
1089
  * @returns {DefinitionRegionWrapper}
1090
1090
  */
1091
1091
  copy() {
1092
- const ret = wasm.definitionregionwrapper_clone(this.__wbg_ptr);
1092
+ const ret = wasm.definitionregionwrapper_copy(this.__wbg_ptr);
1093
1093
  return DefinitionRegionWrapper.__wrap(ret);
1094
1094
  }
1095
1095
  /**
@@ -5,7 +5,7 @@
5
5
  "Nano nano@schem.at"
6
6
  ],
7
7
  "description": "A high-performance Minecraft schematic parser and utility library",
8
- "version": "0.1.132",
8
+ "version": "0.1.133",
9
9
  "license": "AGPL-3.0-only",
10
10
  "repository": {
11
11
  "type": "git",
Binary file
@@ -120,7 +120,7 @@ mod io_layout_builder;
120
120
  mod io_mapping;
121
121
  mod io_type;
122
122
  mod layout_function;
123
- mod sort_strategy;
123
+ pub mod sort_strategy;
124
124
  mod value;
125
125
 
126
126
  #[cfg(test)]
@@ -68,6 +68,23 @@ pub enum SortStrategy {
68
68
 
69
69
  /// Reverse of whatever order positions were added
70
70
  Reverse,
71
+
72
+ /// Custom sort order defined by a list of axes and directions
73
+ /// Example: [ (Y, Descending), (X, Ascending), (Z, Ascending) ]
74
+ Custom(Vec<(Axis, Direction)>),
75
+ }
76
+
77
+ #[derive(Debug, Clone, Copy, PartialEq, Eq)]
78
+ pub enum Axis {
79
+ X,
80
+ Y,
81
+ Z,
82
+ }
83
+
84
+ #[derive(Debug, Clone, Copy, PartialEq, Eq)]
85
+ pub enum Direction {
86
+ Ascending,
87
+ Descending,
71
88
  }
72
89
 
73
90
  impl Default for SortStrategy {
@@ -96,6 +113,32 @@ impl SortStrategy {
96
113
  .then_with(|| a.2.cmp(&b.2))
97
114
  });
98
115
  }
116
+ SortStrategy::Custom(orders) => {
117
+ positions.sort_by(|a, b| {
118
+ for (axis, direction) in orders {
119
+ let val_a = match axis {
120
+ Axis::X => a.0,
121
+ Axis::Y => a.1,
122
+ Axis::Z => a.2,
123
+ };
124
+ let val_b = match axis {
125
+ Axis::X => b.0,
126
+ Axis::Y => b.1,
127
+ Axis::Z => b.2,
128
+ };
129
+
130
+ let cmp = match direction {
131
+ Direction::Ascending => val_a.cmp(&val_b),
132
+ Direction::Descending => val_b.cmp(&val_a),
133
+ };
134
+
135
+ if cmp != std::cmp::Ordering::Equal {
136
+ return cmp;
137
+ }
138
+ }
139
+ std::cmp::Ordering::Equal
140
+ });
141
+ }
99
142
  SortStrategy::XYZ => {
100
143
  positions.sort_by(|a, b| {
101
144
  a.0.cmp(&b.0)
@@ -226,6 +269,7 @@ impl SortStrategy {
226
269
  SortStrategy::DistanceFromDesc { .. } => "distance_from_desc",
227
270
  SortStrategy::Preserve => "preserve",
228
271
  SortStrategy::Reverse => "reverse",
272
+ SortStrategy::Custom(_) => "custom",
229
273
  }
230
274
  }
231
275
  }
@@ -153,7 +153,6 @@ impl DefinitionRegionWrapper {
153
153
  schematic_ptr: std::ptr::null_mut(),
154
154
  name: None,
155
155
  }
156
-
157
156
  }
158
157
 
159
158
  // ========================================================================
@@ -390,7 +389,6 @@ impl DefinitionRegionWrapper {
390
389
  self
391
390
  }
392
391
 
393
-
394
392
  // ========================================================================
395
393
  // Box Access (for Rendering)
396
394
  // ========================================================================
@@ -22,11 +22,11 @@ use web_sys::console;
22
22
  use super::definition_region::DefinitionRegionWrapper;
23
23
 
24
24
  #[cfg(feature = "simulation")]
25
- use super::circuit_builder::CircuitBuilderWrapper;
25
+ use super::circuit_builder::{CircuitBuilderWrapper, SortStrategyWrapper};
26
26
  #[cfg(feature = "simulation")]
27
27
  use super::typed_executor::TypedCircuitExecutorWrapper;
28
28
  #[cfg(feature = "simulation")]
29
- use crate::simulation::typed_executor::IoType;
29
+ use crate::simulation::typed_executor::{IoType, SortStrategy};
30
30
 
31
31
  #[wasm_bindgen]
32
32
  pub struct LazyChunkIterator {
@@ -1431,8 +1431,8 @@ impl SchematicWrapper {
1431
1431
  // Parse config object
1432
1432
  // Expected format:
1433
1433
  // {
1434
- // inputs: [ { name: "a", bits: 8, region: "a" }, ... ],
1435
- // outputs: [ { name: "out", bits: 9, region: "c" }, ... ]
1434
+ // inputs: [ { name: "a", type: "uint", bits: 8, region: "a" }, ... ],
1435
+ // outputs: [ { name: "out", type: "matrix", rows: 4, cols: 4, element: "boolean", region: "c" }, ... ]
1436
1436
  // }
1437
1437
 
1438
1438
  let inputs = Reflect::get(&config, &JsValue::from_str("inputs"))?;
@@ -1444,10 +1444,6 @@ impl SchematicWrapper {
1444
1444
  .as_string()
1445
1445
  .ok_or_else(|| JsValue::from_str("Input name missing or not a string"))?;
1446
1446
 
1447
- let bits = Reflect::get(&input, &JsValue::from_str("bits"))?
1448
- .as_f64()
1449
- .unwrap_or(1.0) as u32;
1450
-
1451
1447
  let region_name = Reflect::get(&input, &JsValue::from_str("region"))?
1452
1448
  .as_string()
1453
1449
  .ok_or_else(|| {
@@ -1457,14 +1453,27 @@ impl SchematicWrapper {
1457
1453
  // Get region wrapper
1458
1454
  let region = self.get_definition_region(region_name.clone())?;
1459
1455
 
1460
- // Create IO Type (defaulting to unsigned int for now)
1461
- // TODO: Add support for signed/other types via config
1462
- let io_type = crate::simulation::typed_executor::IoType::UnsignedInt {
1463
- bits: bits as usize,
1464
- };
1456
+ // Create IO Type
1457
+ let io_type = parse_js_io_type(&input)?;
1465
1458
  let io_type_wrapper = crate::IoTypeWrapper { inner: io_type };
1466
1459
 
1467
- builder = builder.with_input_auto(name, &io_type_wrapper, &region)?;
1460
+ // Parse sort strategy
1461
+ let sort_str = Reflect::get(&input, &JsValue::from_str("sort"))?.as_string();
1462
+
1463
+ let sort_wrapper = if let Some(s) = sort_str {
1464
+ Some(SortStrategyWrapper {
1465
+ inner: parse_sort_string(&s),
1466
+ })
1467
+ } else {
1468
+ None
1469
+ };
1470
+
1471
+ if let Some(sort) = sort_wrapper {
1472
+ builder =
1473
+ builder.with_input_auto_sorted(name, &io_type_wrapper, &region, &sort)?;
1474
+ } else {
1475
+ builder = builder.with_input_auto(name, &io_type_wrapper, &region)?;
1476
+ }
1468
1477
  }
1469
1478
  }
1470
1479
 
@@ -1477,10 +1486,6 @@ impl SchematicWrapper {
1477
1486
  .as_string()
1478
1487
  .ok_or_else(|| JsValue::from_str("Output name missing or not a string"))?;
1479
1488
 
1480
- let bits = Reflect::get(&output, &JsValue::from_str("bits"))?
1481
- .as_f64()
1482
- .unwrap_or(1.0) as u32;
1483
-
1484
1489
  let region_name = Reflect::get(&output, &JsValue::from_str("region"))?
1485
1490
  .as_string()
1486
1491
  .ok_or_else(|| {
@@ -1491,12 +1496,26 @@ impl SchematicWrapper {
1491
1496
  let region = self.get_definition_region(region_name.clone())?;
1492
1497
 
1493
1498
  // Create IO Type
1494
- let io_type = crate::simulation::typed_executor::IoType::UnsignedInt {
1495
- bits: bits as usize,
1496
- };
1499
+ let io_type = parse_js_io_type(&output)?;
1497
1500
  let io_type_wrapper = crate::IoTypeWrapper { inner: io_type };
1498
1501
 
1499
- builder = builder.with_output_auto(name, &io_type_wrapper, &region)?;
1502
+ // Parse sort strategy
1503
+ let sort_str = Reflect::get(&output, &JsValue::from_str("sort"))?.as_string();
1504
+
1505
+ let sort_wrapper = if let Some(s) = sort_str {
1506
+ Some(SortStrategyWrapper {
1507
+ inner: parse_sort_string(&s),
1508
+ })
1509
+ } else {
1510
+ None
1511
+ };
1512
+
1513
+ if let Some(sort) = sort_wrapper {
1514
+ builder =
1515
+ builder.with_output_auto_sorted(name, &io_type_wrapper, &region, &sort)?;
1516
+ } else {
1517
+ builder = builder.with_output_auto(name, &io_type_wrapper, &region)?;
1518
+ }
1500
1519
  }
1501
1520
  }
1502
1521
 
@@ -1680,3 +1699,126 @@ impl SchematicWrapper {
1680
1699
  .map_err(|e| JsValue::from_str(&format!("JSON serialization error: {}", e)))
1681
1700
  }
1682
1701
  }
1702
+
1703
+ #[cfg(feature = "simulation")]
1704
+ fn parse_sort_string(sort_str: &str) -> SortStrategy {
1705
+ use crate::simulation::typed_executor::sort_strategy::{Axis, Direction};
1706
+
1707
+ // Handle standard presets
1708
+ match sort_str {
1709
+ "yxz" => return SortStrategy::YXZ,
1710
+ "xyz" => return SortStrategy::XYZ,
1711
+ "zyx" => return SortStrategy::ZYX,
1712
+ "yDescXZ" => return SortStrategy::YDescXZ,
1713
+ "xDescYZ" => return SortStrategy::XDescYZ,
1714
+ "zDescYX" => return SortStrategy::ZDescYX,
1715
+ "descending" => return SortStrategy::YXZDesc,
1716
+ _ => {}
1717
+ }
1718
+
1719
+ // Parse custom string like "-y+x-z" or "yxz"
1720
+ let mut orders = Vec::new();
1721
+ let mut chars = sort_str.chars().peekable();
1722
+
1723
+ while let Some(&c) = chars.peek() {
1724
+ let direction = if c == '-' {
1725
+ chars.next();
1726
+ Direction::Descending
1727
+ } else if c == '+' {
1728
+ chars.next();
1729
+ Direction::Ascending
1730
+ } else {
1731
+ Direction::Ascending // Default to ascending if no sign
1732
+ };
1733
+
1734
+ if let Some(axis_char) = chars.next() {
1735
+ let axis = match axis_char.to_ascii_lowercase() {
1736
+ 'x' => Axis::X,
1737
+ 'y' => Axis::Y,
1738
+ 'z' => Axis::Z,
1739
+ _ => continue, // Skip invalid chars
1740
+ };
1741
+ orders.push((axis, direction));
1742
+ }
1743
+ }
1744
+
1745
+ if orders.is_empty() {
1746
+ SortStrategy::YXZ // Fallback
1747
+ } else {
1748
+ SortStrategy::Custom(orders)
1749
+ }
1750
+ }
1751
+
1752
+ #[cfg(feature = "simulation")]
1753
+ fn parse_js_io_type(config: &JsValue) -> Result<IoType, JsValue> {
1754
+ if config.is_string() {
1755
+ let type_str = config.as_string().unwrap();
1756
+ return match type_str.as_str() {
1757
+ "boolean" => Ok(IoType::Boolean),
1758
+ "float" => Ok(IoType::Float32),
1759
+ "uint" => Ok(IoType::UnsignedInt { bits: 1 }),
1760
+ "int" => Ok(IoType::SignedInt { bits: 1 }),
1761
+ "hex" => Ok(IoType::UnsignedInt { bits: 4 }),
1762
+ _ => Err(JsValue::from_str(&format!(
1763
+ "Unknown simple IO type: {}",
1764
+ type_str
1765
+ ))),
1766
+ };
1767
+ }
1768
+
1769
+ let type_str = Reflect::get(config, &"type".into())?
1770
+ .as_string()
1771
+ .unwrap_or_else(|| "uint".to_string());
1772
+
1773
+ match type_str.as_str() {
1774
+ "uint" => {
1775
+ let bits = Reflect::get(config, &"bits".into())?
1776
+ .as_f64()
1777
+ .unwrap_or(1.0) as usize;
1778
+ Ok(IoType::UnsignedInt { bits })
1779
+ }
1780
+ "int" => {
1781
+ let bits = Reflect::get(config, &"bits".into())?
1782
+ .as_f64()
1783
+ .unwrap_or(1.0) as usize;
1784
+ Ok(IoType::SignedInt { bits })
1785
+ }
1786
+ "float" => Ok(IoType::Float32),
1787
+ "boolean" => Ok(IoType::Boolean),
1788
+ "hex" => Ok(IoType::UnsignedInt { bits: 4 }),
1789
+ "array" => {
1790
+ let length = Reflect::get(config, &"length".into())?
1791
+ .as_f64()
1792
+ .ok_or_else(|| JsValue::from_str("Array type requires 'length'"))?
1793
+ as usize;
1794
+
1795
+ let element_val = Reflect::get(config, &"element".into())?;
1796
+ let element_type = parse_js_io_type(&element_val)?;
1797
+
1798
+ Ok(IoType::Array {
1799
+ element_type: Box::new(element_type),
1800
+ length,
1801
+ })
1802
+ }
1803
+ "matrix" => {
1804
+ let rows = Reflect::get(config, &"rows".into())?
1805
+ .as_f64()
1806
+ .ok_or_else(|| JsValue::from_str("Matrix type requires 'rows'"))?
1807
+ as usize;
1808
+ let cols = Reflect::get(config, &"cols".into())?
1809
+ .as_f64()
1810
+ .ok_or_else(|| JsValue::from_str("Matrix type requires 'cols'"))?
1811
+ as usize;
1812
+
1813
+ let element_val = Reflect::get(config, &"element".into())?;
1814
+ let element_type = parse_js_io_type(&element_val)?;
1815
+
1816
+ Ok(IoType::Matrix {
1817
+ element_type: Box::new(element_type),
1818
+ rows,
1819
+ cols,
1820
+ })
1821
+ }
1822
+ _ => Err(JsValue::from_str(&format!("Unknown IO type: {}", type_str))),
1823
+ }
1824
+ }
Binary file
@@ -0,0 +1,228 @@
1
+
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+
5
+ // Adjust path to where your built WASM is located
6
+ const wasmPath = path.join(__dirname, '../pkg/nucleation.js');
7
+
8
+ async function runTests() {
9
+ let nucleation;
10
+
11
+ try {
12
+ nucleation = require(wasmPath);
13
+ if (nucleation.default && typeof nucleation.default === 'function') {
14
+ await nucleation.default();
15
+ }
16
+ console.log('✅ WASM module loaded successfully');
17
+ } catch (error) {
18
+ console.error('❌ Failed to load WASM module:', error);
19
+ console.log('Make sure to build the WASM package first with: ./build-wasm.sh');
20
+ process.exit(1);
21
+ }
22
+
23
+ const { SchematicWrapper } = nucleation;
24
+
25
+ function createDummySchematic() {
26
+ const schematic = new SchematicWrapper();
27
+ // Create a small platform to define regions on
28
+ for (let x = 0; x < 10; x++) {
29
+ for (let z = 0; z < 10; z++) {
30
+ schematic.set_block(x, 0, z, "minecraft:stone");
31
+ }
32
+ }
33
+ return schematic;
34
+ }
35
+
36
+ function testMatrixConfig() {
37
+ console.log('Testing Matrix Configuration...');
38
+ const schem = createDummySchematic();
39
+
40
+ // Define regions
41
+ schem.createRegion("matrix_in", {x: 0, y: 1, z: 0}, {x: 5, y: 1, z: 6}); // 6x7 area
42
+ schem.createRegion("matrix_out", {x: 0, y: 2, z: 0}, {x: 5, y: 2, z: 6});
43
+
44
+ try {
45
+ const executor = schem.buildExecutor({
46
+ inputs: [
47
+ {
48
+ name: "grid_in",
49
+ region: "matrix_in",
50
+ type: "matrix",
51
+ rows: 6,
52
+ cols: 7,
53
+ element: "boolean",
54
+ sort: "yxz"
55
+ }
56
+ ],
57
+ outputs: [
58
+ {
59
+ name: "grid_out",
60
+ region: "matrix_out",
61
+ type: "matrix",
62
+ rows: 6,
63
+ cols: 7,
64
+ element: "boolean"
65
+ }
66
+ ]
67
+ });
68
+ console.log('✅ Matrix config built successfully');
69
+ } catch (e) {
70
+ console.error('❌ Matrix config failed:', e);
71
+ throw e;
72
+ }
73
+ }
74
+
75
+ function testArrayConfig() {
76
+ console.log('Testing Array Configuration...');
77
+ const schem = createDummySchematic();
78
+
79
+ // Define regions
80
+ schem.createRegion("array_in", {x: 0, y: 1, z: 0}, {x: 7, y: 1, z: 0}); // 8 blocks
81
+ schem.createRegion("array_out", {x: 0, y: 2, z: 0}, {x: 7, y: 2, z: 0});
82
+
83
+ try {
84
+ const executor = schem.buildExecutor({
85
+ inputs: [
86
+ {
87
+ name: "bytes_in",
88
+ region: "array_in",
89
+ type: "array",
90
+ length: 8,
91
+ element: "boolean" // 8 booleans
92
+ }
93
+ ],
94
+ outputs: [
95
+ {
96
+ name: "bytes_out",
97
+ region: "array_out",
98
+ type: "array",
99
+ length: 2,
100
+ element: { type: "uint", bits: 4 } // 2 nibbles (4 bits each) = 8 bits total
101
+ }
102
+ ]
103
+ });
104
+ console.log('✅ Array config built successfully');
105
+ } catch (e) {
106
+ console.error('❌ Array config failed:', e);
107
+ throw e;
108
+ }
109
+ }
110
+
111
+ function testHexConfig() {
112
+ console.log('Testing Hex Configuration...');
113
+ const schem = createDummySchematic();
114
+
115
+ schem.createRegion("hex_in", {x: 0, y: 1, z: 0}, {x: 3, y: 1, z: 0}); // 4 blocks
116
+
117
+ try {
118
+ const executor = schem.buildExecutor({
119
+ inputs: [
120
+ {
121
+ name: "hex_val",
122
+ region: "hex_in",
123
+ type: "hex" // Should map to uint bits: 4
124
+ }
125
+ ],
126
+ outputs: []
127
+ });
128
+ console.log('✅ Hex config built successfully');
129
+ } catch (e) {
130
+ console.error('❌ Hex config failed:', e);
131
+ throw e;
132
+ }
133
+ }
134
+
135
+ function testCustomSort() {
136
+ console.log('Testing Custom Sort...');
137
+ const schem = createDummySchematic();
138
+
139
+ schem.createRegion("sorted_region", {x: 0, y: 1, z: 0}, {x: 2, y: 2, z: 2}); // 3x2x3 = 18 blocks
140
+
141
+ const sortStrings = [
142
+ "yxz",
143
+ "-y+x-z",
144
+ "zDescYX",
145
+ "+x-z+y"
146
+ ];
147
+
148
+ for (const sortStr of sortStrings) {
149
+ try {
150
+ schem.buildExecutor({
151
+ inputs: [
152
+ {
153
+ name: `sorted_${sortStr}`,
154
+ region: "sorted_region",
155
+ type: "uint",
156
+ bits: 18,
157
+ sort: sortStr
158
+ }
159
+ ],
160
+ outputs: []
161
+ });
162
+ console.log(`✅ Sort '${sortStr}' built successfully`);
163
+ } catch (e) {
164
+ console.error(`❌ Sort '${sortStr}' failed:`, e);
165
+ throw e;
166
+ }
167
+ }
168
+ }
169
+
170
+ function testComplexMixed() {
171
+ console.log('Testing Complex Mixed Configuration...');
172
+ const schem = createDummySchematic();
173
+
174
+ schem.createRegion("p1", {x: 0, y: 1, z: 0}, {x: 5, y: 1, z: 6}); // 42 blocks
175
+ schem.createRegion("p2", {x: 10, y: 1, z: 0}, {x: 15, y: 1, z: 6}); // 42 blocks
176
+ schem.createRegion("out", {x: 20, y: 1, z: 0}, {x: 26, y: 1, z: 0}); // 7 blocks
177
+
178
+ try {
179
+ const executor = schem.buildExecutor({
180
+ inputs: [
181
+ {
182
+ name: "player_a",
183
+ region: "p1",
184
+ type: "matrix",
185
+ rows: 6,
186
+ cols: 7,
187
+ element: "boolean",
188
+ sort: "-y+x+z"
189
+ },
190
+ {
191
+ name: "player_b",
192
+ region: "p2",
193
+ type: "array",
194
+ length: 7,
195
+ element: { type: "uint", bits: 6 } // 7 * 6 = 42 bits
196
+ }
197
+ ],
198
+ outputs: [
199
+ {
200
+ name: "result",
201
+ region: "out",
202
+ type: "array",
203
+ length: 7,
204
+ element: "boolean"
205
+ }
206
+ ]
207
+ });
208
+ console.log('✅ Complex mixed config built successfully');
209
+ } catch (e) {
210
+ console.error('❌ Complex mixed config failed:', e);
211
+ throw e;
212
+ }
213
+ }
214
+
215
+ try {
216
+ testMatrixConfig();
217
+ testArrayConfig();
218
+ testHexConfig();
219
+ testCustomSort();
220
+ testComplexMixed();
221
+ console.log('\n🎉 All tests passed!');
222
+ } catch (e) {
223
+ console.error('\n💥 Some tests failed');
224
+ process.exit(1);
225
+ }
226
+ }
227
+
228
+ runTests();
Binary file
Binary file
File without changes
File without changes