nucleation 0.1.135__tar.gz → 0.1.138__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 (459) hide show
  1. {nucleation-0.1.135 → nucleation-0.1.138}/.gitignore +2 -1
  2. {nucleation-0.1.135 → nucleation-0.1.138}/Cargo.lock +8 -8
  3. {nucleation-0.1.135 → nucleation-0.1.138}/Cargo.toml +6 -6
  4. {nucleation-0.1.135 → nucleation-0.1.138}/PKG-INFO +5 -2
  5. {nucleation-0.1.135/release-artifacts → nucleation-0.1.138}/README.md +4 -1
  6. {nucleation-0.1.135 → nucleation-0.1.138}/docs/javascript/README.md +27 -0
  7. {nucleation-0.1.135 → nucleation-0.1.138}/docs/python/README.md +54 -24
  8. {nucleation-0.1.135 → nucleation-0.1.138}/docs/rust/README.md +13 -0
  9. {nucleation-0.1.135 → nucleation-0.1.138}/pyproject.toml +1 -1
  10. {nucleation-0.1.135 → nucleation-0.1.138/release-artifacts}/README.md +4 -1
  11. nucleation-0.1.138/release-artifacts/libnucleation-macos-arm64.dylib +0 -0
  12. nucleation-0.1.138/release-artifacts/libnucleation-macos-x64.dylib +0 -0
  13. nucleation-0.1.138/release-artifacts/libnucleation.d +1 -0
  14. nucleation-0.1.138/release-artifacts/libnucleation.rlib +0 -0
  15. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/nucleation-original.js +68 -11
  16. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/nucleation.d.ts +74 -64
  17. nucleation-0.1.138/release-artifacts/nucleation_bg.wasm +0 -0
  18. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/nucleation_bg.wasm.d.ts +68 -63
  19. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/package.json +1 -1
  20. nucleation-0.1.138/simple_cube.litematic +0 -0
  21. {nucleation-0.1.135 → nucleation-0.1.138}/src/formats/litematic.rs +48 -0
  22. nucleation-0.1.138/src/formats/manager.rs +138 -0
  23. nucleation-0.1.138/src/formats/mcstructure.rs +404 -0
  24. {nucleation-0.1.135 → nucleation-0.1.138}/src/formats/mod.rs +2 -0
  25. {nucleation-0.1.135 → nucleation-0.1.138}/src/formats/schematic.rs +54 -0
  26. {nucleation-0.1.135 → nucleation-0.1.138}/src/lib.rs +2 -1
  27. nucleation-0.1.138/src/nbt/mod.rs +569 -0
  28. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/schematic.rs +61 -33
  29. {nucleation-0.1.135 → nucleation-0.1.138}/src/universal_schematic.rs +5 -3
  30. {nucleation-0.1.135 → nucleation-0.1.138}/src/utils/enhanced_nbt_parser.rs +3 -1
  31. {nucleation-0.1.135 → nucleation-0.1.138}/src/utils/mod.rs +2 -4
  32. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/schematic.rs +61 -9
  33. nucleation-0.1.138/test_schematic.schem +0 -0
  34. nucleation-0.1.138/tests/mcstructure_tests.rs +139 -0
  35. nucleation-0.1.138/tests/registry_tests.rs +128 -0
  36. nucleation-0.1.138/tests/samples/16-bit_divider.mcstructure +0 -0
  37. nucleation-0.1.138/tests/samples/8-bit_alu.mcstructure +0 -0
  38. nucleation-0.1.135/CUSTOM_IO_INTEGRATION_CHECKLIST.md +0 -171
  39. nucleation-0.1.135/release-artifacts/libnucleation-macos-arm64.dylib +0 -0
  40. nucleation-0.1.135/release-artifacts/libnucleation-macos-x64.dylib +0 -0
  41. nucleation-0.1.135/release-artifacts/libnucleation.d +0 -1
  42. nucleation-0.1.135/release-artifacts/libnucleation.rlib +0 -0
  43. nucleation-0.1.135/release-artifacts/nucleation_bg.wasm +0 -0
  44. nucleation-0.1.135/simple_cube.litematic +0 -0
  45. nucleation-0.1.135/src/utils/nbt.rs +0 -296
  46. nucleation-0.1.135/test_schematic.schem +0 -0
  47. {nucleation-0.1.135 → nucleation-0.1.138}/.DS_Store +0 -0
  48. {nucleation-0.1.135 → nucleation-0.1.138}/.cargo/config.toml +0 -0
  49. {nucleation-0.1.135 → nucleation-0.1.138}/.github/workflows/ci.yml +0 -0
  50. {nucleation-0.1.135 → nucleation-0.1.138}/.idea/.gitignore +0 -0
  51. {nucleation-0.1.135 → nucleation-0.1.138}/.idea/minecraft_schematic_utils.iml +0 -0
  52. {nucleation-0.1.135 → nucleation-0.1.138}/.idea/misc.xml +0 -0
  53. {nucleation-0.1.135 → nucleation-0.1.138}/.idea/modules.xml +0 -0
  54. {nucleation-0.1.135 → nucleation-0.1.138}/.idea/vcs.xml +0 -0
  55. {nucleation-0.1.135 → nucleation-0.1.138}/4bit_adder.litematic +0 -0
  56. {nucleation-0.1.135 → nucleation-0.1.138}/Dockerfile +0 -0
  57. {nucleation-0.1.135 → nucleation-0.1.138}/LICENSE +0 -0
  58. {nucleation-0.1.135 → nucleation-0.1.138}/benches/performance_test.rs +0 -0
  59. {nucleation-0.1.135 → nucleation-0.1.138}/benches/schematic_bench.rs +0 -0
  60. {nucleation-0.1.135 → nucleation-0.1.138}/build-ffi.sh +0 -0
  61. {nucleation-0.1.135 → nucleation-0.1.138}/build-wasm.sh +0 -0
  62. {nucleation-0.1.135 → nucleation-0.1.138}/docs/README.md +0 -0
  63. {nucleation-0.1.135 → nucleation-0.1.138}/docs/insign-io-integration.md +0 -0
  64. {nucleation-0.1.135 → nucleation-0.1.138}/docs/shared/guide/circuit-api.md +0 -0
  65. {nucleation-0.1.135 → nucleation-0.1.138}/docs/shared/guide/definition-region.md +0 -0
  66. {nucleation-0.1.135 → nucleation-0.1.138}/docs/shared/guide/schematic-builder.md +0 -0
  67. {nucleation-0.1.135 → nucleation-0.1.138}/docs/shared/guide/typed-executor.md +0 -0
  68. {nucleation-0.1.135 → nucleation-0.1.138}/docs/shared/unicode-palette.md +0 -0
  69. {nucleation-0.1.135 → nucleation-0.1.138}/examples/bracket_notation.rs +0 -0
  70. {nucleation-0.1.135 → nucleation-0.1.138}/examples/build_adder.rs +0 -0
  71. {nucleation-0.1.135 → nucleation-0.1.138}/examples/build_test_adder.rs +0 -0
  72. {nucleation-0.1.135 → nucleation-0.1.138}/examples/check_adder_dims.rs +0 -0
  73. {nucleation-0.1.135 → nucleation-0.1.138}/examples/connect4_battle_setup.rs +0 -0
  74. {nucleation-0.1.135 → nucleation-0.1.138}/examples/create_simple_litematic.rs +0 -0
  75. {nucleation-0.1.135 → nucleation-0.1.138}/examples/custom_io_signals.rs +0 -0
  76. {nucleation-0.1.135 → nucleation-0.1.138}/examples/ffi.md +0 -0
  77. {nucleation-0.1.135 → nucleation-0.1.138}/examples/python.md +0 -0
  78. {nucleation-0.1.135 → nucleation-0.1.138}/examples/python_simulation.py +0 -0
  79. {nucleation-0.1.135 → nucleation-0.1.138}/examples/rust.md +0 -0
  80. {nucleation-0.1.135 → nucleation-0.1.138}/examples/rust_fluent_api.rs +0 -0
  81. {nucleation-0.1.135 → nucleation-0.1.138}/examples/test_asymmetric_cubes.rs +0 -0
  82. {nucleation-0.1.135 → nucleation-0.1.138}/examples/test_checkerboard.rs +0 -0
  83. {nucleation-0.1.135 → nucleation-0.1.138}/examples/test_unicode_circuit.rs +0 -0
  84. {nucleation-0.1.135 → nucleation-0.1.138}/examples/universal_schematic_overhead.rs +0 -0
  85. {nucleation-0.1.135 → nucleation-0.1.138}/examples/wasm.md +0 -0
  86. {nucleation-0.1.135 → nucleation-0.1.138}/helf_adder.litematic +0 -0
  87. {nucleation-0.1.135 → nucleation-0.1.138}/insign.d.ts +0 -0
  88. {nucleation-0.1.135 → nucleation-0.1.138}/nucleation-stubs.php +0 -0
  89. {nucleation-0.1.135 → nucleation-0.1.138}/nucleation.pyi +0 -0
  90. {nucleation-0.1.135 → nucleation-0.1.138}/output/.DS_Store +0 -0
  91. {nucleation-0.1.135 → nucleation-0.1.138}/output/full_adder.litematic +0 -0
  92. {nucleation-0.1.135 → nucleation-0.1.138}/pre-push.sh +0 -0
  93. {nucleation-0.1.135 → nucleation-0.1.138}/py.typed +0 -0
  94. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/LICENSE +0 -0
  95. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/nucleation-cdn-loader.js +0 -0
  96. {nucleation-0.1.135 → nucleation-0.1.138}/release-artifacts/nucleation.js +0 -0
  97. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/generated/d_latch.litematic +0 -0
  98. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/generated/xor.schem +0 -0
  99. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/comparator_subtract_bug1.txt +0 -0
  100. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/comparator_subtract_bug2.txt +0 -0
  101. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/comparator_subtract_simple.txt +0 -0
  102. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/comparator_subtract_with_signs.txt +0 -0
  103. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/d_latch.txt +0 -0
  104. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/failing_case.txt +0 -0
  105. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/full_adder.txt +0 -0
  106. {nucleation-0.1.135 → nucleation-0.1.138}/schematic_builder/templates/xor.txt +0 -0
  107. {nucleation-0.1.135 → nucleation-0.1.138}/scripts/update-stubs.sh +0 -0
  108. {nucleation-0.1.135 → nucleation-0.1.138}/src/bin/schematic-builder.rs +0 -0
  109. {nucleation-0.1.135 → nucleation-0.1.138}/src/block_entity/generic.rs +0 -0
  110. {nucleation-0.1.135 → nucleation-0.1.138}/src/block_entity/mod.rs +0 -0
  111. {nucleation-0.1.135 → nucleation-0.1.138}/src/block_position.rs +0 -0
  112. {nucleation-0.1.135 → nucleation-0.1.138}/src/block_state.rs +0 -0
  113. {nucleation-0.1.135 → nucleation-0.1.138}/src/bounding_box.rs +0 -0
  114. {nucleation-0.1.135 → nucleation-0.1.138}/src/chunk.rs +0 -0
  115. {nucleation-0.1.135 → nucleation-0.1.138}/src/definition_region.rs +0 -0
  116. {nucleation-0.1.135 → nucleation-0.1.138}/src/entity.rs +0 -0
  117. {nucleation-0.1.135 → nucleation-0.1.138}/src/ffi.rs +0 -0
  118. {nucleation-0.1.135 → nucleation-0.1.138}/src/formats/sponge_schematic_v3.md +0 -0
  119. {nucleation-0.1.135 → nucleation-0.1.138}/src/insign.rs +0 -0
  120. {nucleation-0.1.135 → nucleation-0.1.138}/src/item/mod.rs +0 -0
  121. {nucleation-0.1.135 → nucleation-0.1.138}/src/item/stack.rs +0 -0
  122. {nucleation-0.1.135 → nucleation-0.1.138}/src/metadata.rs +0 -0
  123. {nucleation-0.1.135 → nucleation-0.1.138}/src/php.rs +0 -0
  124. {nucleation-0.1.135 → nucleation-0.1.138}/src/print_utils.rs +0 -0
  125. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/circuit_builder.rs +0 -0
  126. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/definition_region.rs +0 -0
  127. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/mod.rs +0 -0
  128. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/schematic_builder.rs +0 -0
  129. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/simulation.rs +0 -0
  130. {nucleation-0.1.135 → nucleation-0.1.138}/src/python/typed_executor.rs +0 -0
  131. {nucleation-0.1.135 → nucleation-0.1.138}/src/region.rs +0 -0
  132. {nucleation-0.1.135 → nucleation-0.1.138}/src/schematic_builder/palettes.rs +0 -0
  133. {nucleation-0.1.135 → nucleation-0.1.138}/src/schematic_builder.rs +0 -0
  134. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/circuit_builder.rs +0 -0
  135. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/mchprs_world.rs +0 -0
  136. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/mod.rs +0 -0
  137. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/tests.rs +0 -0
  138. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/truth_table.rs +0 -0
  139. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/executor.rs +0 -0
  140. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/insign_io.rs +0 -0
  141. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/integration_tests.rs +0 -0
  142. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/io_layout_builder.rs +0 -0
  143. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/io_mapping.rs +0 -0
  144. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/io_type.rs +0 -0
  145. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/layout_function.rs +0 -0
  146. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/mod.rs +0 -0
  147. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/sort_strategy.rs +0 -0
  148. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/tests.rs +0 -0
  149. {nucleation-0.1.135 → nucleation-0.1.138}/src/simulation/typed_executor/value.rs +0 -0
  150. {nucleation-0.1.135 → nucleation-0.1.138}/src/transforms.rs +0 -0
  151. {nucleation-0.1.135 → nucleation-0.1.138}/src/utils/block_string.rs +0 -0
  152. {nucleation-0.1.135 → nucleation-0.1.138}/src/utils/container_spec.rs +0 -0
  153. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/circuit_builder.rs +0 -0
  154. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/definition_region.rs +0 -0
  155. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/mod.rs +0 -0
  156. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/schematic_builder.rs +0 -0
  157. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/simulation.rs +0 -0
  158. {nucleation-0.1.135 → nucleation-0.1.138}/src/wasm/typed_executor.rs +0 -0
  159. {nucleation-0.1.135 → nucleation-0.1.138}/test-wasm.sh +0 -0
  160. {nucleation-0.1.135 → nucleation-0.1.138}/test_adder.litematic +0 -0
  161. {nucleation-0.1.135 → nucleation-0.1.138}/test_circuit.txt +0 -0
  162. {nucleation-0.1.135 → nucleation-0.1.138}/test_cli_output.litematic +0 -0
  163. {nucleation-0.1.135 → nucleation-0.1.138}/test_count_format.schem +0 -0
  164. {nucleation-0.1.135 → nucleation-0.1.138}/test_enhanced.schem +0 -0
  165. {nucleation-0.1.135 → nucleation-0.1.138}/test_fixed.schem +0 -0
  166. {nucleation-0.1.135 → nucleation-0.1.138}/tests/.DS_Store +0 -0
  167. {nucleation-0.1.135 → nucleation-0.1.138}/tests/barrel_nbt_test.rs +0 -0
  168. {nucleation-0.1.135 → nucleation-0.1.138}/tests/connect4_test.js +0 -0
  169. {nucleation-0.1.135 → nucleation-0.1.138}/tests/debug_flip.rs +0 -0
  170. {nucleation-0.1.135 → nucleation-0.1.138}/tests/definition_regions_test.rs +0 -0
  171. {nucleation-0.1.135 → nucleation-0.1.138}/tests/executor_config_test.js +0 -0
  172. {nucleation-0.1.135 → nucleation-0.1.138}/tests/integration_tests.rs +0 -0
  173. {nucleation-0.1.135 → nucleation-0.1.138}/tests/mchprs_state_test.rs +0 -0
  174. {nucleation-0.1.135 → nucleation-0.1.138}/tests/nbt_parsing_test.rs +0 -0
  175. {nucleation-0.1.135 → nucleation-0.1.138}/tests/node_fluent_api_test.mjs +0 -0
  176. {nucleation-0.1.135 → nucleation-0.1.138}/tests/node_simple_circuit_test.js +0 -0
  177. {nucleation-0.1.135 → nucleation-0.1.138}/tests/node_simple_circuit_test.mjs +0 -0
  178. {nucleation-0.1.135 → nucleation-0.1.138}/tests/node_wasm_test.js +0 -0
  179. {nucleation-0.1.135 → nucleation-0.1.138}/tests/package.json +0 -0
  180. {nucleation-0.1.135 → nucleation-0.1.138}/tests/php-stubs-test.php +0 -0
  181. {nucleation-0.1.135 → nucleation-0.1.138}/tests/property_transformation_demo.rs +0 -0
  182. {nucleation-0.1.135 → nucleation-0.1.138}/tests/python_simple_circuit_test.py +0 -0
  183. {nucleation-0.1.135 → nucleation-0.1.138}/tests/python_test.py +0 -0
  184. {nucleation-0.1.135 → nucleation-0.1.138}/tests/reproduce_bug.rs +0 -0
  185. {nucleation-0.1.135 → nucleation-0.1.138}/tests/rust_fluent_api_test.rs +0 -0
  186. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/1x1.litematic +0 -0
  187. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/3x2x3.litematic +0 -0
  188. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/3x3.litematic +0 -0
  189. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/4x2x4.litematic +0 -0
  190. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/4x4x4+1.litematic +0 -0
  191. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/Evaluator.schem +0 -0
  192. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/all_items.litematic +0 -0
  193. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/and.schem +0 -0
  194. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/brewer.litematic +0 -0
  195. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/c4_ai_last_played.schem +0 -0
  196. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/c4_ai_left_most.schem +0 -0
  197. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/cutecounter.schem +0 -0
  198. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/door_plot.litematic +0 -0
  199. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/file.litematic.l +0 -0
  200. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/gol.litematic +0 -0
  201. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/large_schematic.schem +0 -0
  202. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/linear_plotter.litematic +0 -0
  203. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/litematic-rose-farm.litematic +0 -0
  204. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/new_chest_test.schem +0 -0
  205. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/quarry.litematic +0 -0
  206. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/sample.litematic +0 -0
  207. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/sample.schem +0 -0
  208. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/spinny.litematic +0 -0
  209. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/ss-sorter.litematic +0 -0
  210. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/storage_thingy.litematic +0 -0
  211. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/test_coordinate_thingy.litematic +0 -0
  212. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/test_cube.schem +0 -0
  213. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/trencher.litematic +0 -0
  214. {nucleation-0.1.135 → nucleation-0.1.138}/tests/samples/wool_palette.litematic +0 -0
  215. {nucleation-0.1.135 → nucleation-0.1.138}/tests/simple_wasm_test.rs +0 -0
  216. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_barrel_hopper_simulation.rs +0 -0
  217. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_chunk_bounds_bug.rs +0 -0
  218. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_comparator_diagonal_bug.rs +0 -0
  219. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_comparator_subtract_bug.rs +0 -0
  220. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_comparator_subtract_executor.rs +0 -0
  221. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_custom_io_adjacent_bug.rs +0 -0
  222. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_custom_io_no_power_bug.rs +0 -0
  223. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_intermediate_wire_sync.rs +0 -0
  224. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_long_wire.rs +0 -0
  225. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_nibble_signal_strength.rs +0 -0
  226. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_region_expansion_bugs.rs +0 -0
  227. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_repeater_chain_sync.rs +0 -0
  228. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_repeater_custom_io_bug.rs +0 -0
  229. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_simulation_with_tight_bounds.rs +0 -0
  230. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_two_inputs_exact_topology.rs +0 -0
  231. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_two_inputs_no_output_bug.rs +0 -0
  232. {nucleation-0.1.135 → nucleation-0.1.138}/tests/test_typed_executor_sync_output_bug.rs +0 -0
  233. {nucleation-0.1.135 → nucleation-0.1.138}/tests/transformation_tests.rs +0 -0
  234. {nucleation-0.1.135 → nucleation-0.1.138}/tests/wasm_node_tests.rs +0 -0
  235. {nucleation-0.1.135 → nucleation-0.1.138}/tests/wasm_tests.rs +0 -0
  236. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/bun.lockb +0 -0
  237. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/index.html +0 -0
  238. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/index.js +0 -0
  239. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/minecraft_schematic_utils.js +0 -0
  240. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/minecraft_schematic_utils_bg.wasm +0 -0
  241. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/LICENSE +0 -0
  242. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/README.md +0 -0
  243. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/assert/strict.d.ts +0 -0
  244. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/assert.d.ts +0 -0
  245. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/async_hooks.d.ts +0 -0
  246. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/buffer.d.ts +0 -0
  247. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/child_process.d.ts +0 -0
  248. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/cluster.d.ts +0 -0
  249. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/console.d.ts +0 -0
  250. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/constants.d.ts +0 -0
  251. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/crypto.d.ts +0 -0
  252. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/dgram.d.ts +0 -0
  253. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  254. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/dns/promises.d.ts +0 -0
  255. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/dns.d.ts +0 -0
  256. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/dom-events.d.ts +0 -0
  257. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/domain.d.ts +0 -0
  258. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/events.d.ts +0 -0
  259. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/fs/promises.d.ts +0 -0
  260. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/fs.d.ts +0 -0
  261. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/globals.d.ts +0 -0
  262. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/globals.global.d.ts +0 -0
  263. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/http.d.ts +0 -0
  264. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/http2.d.ts +0 -0
  265. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/https.d.ts +0 -0
  266. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/index.d.ts +0 -0
  267. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/inspector.d.ts +0 -0
  268. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/module.d.ts +0 -0
  269. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/net.d.ts +0 -0
  270. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/os.d.ts +0 -0
  271. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/package.json +0 -0
  272. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/path.d.ts +0 -0
  273. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/perf_hooks.d.ts +0 -0
  274. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/process.d.ts +0 -0
  275. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/punycode.d.ts +0 -0
  276. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/querystring.d.ts +0 -0
  277. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/readline/promises.d.ts +0 -0
  278. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/readline.d.ts +0 -0
  279. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/repl.d.ts +0 -0
  280. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/sea.d.ts +0 -0
  281. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/stream/consumers.d.ts +0 -0
  282. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/stream/promises.d.ts +0 -0
  283. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/stream/web.d.ts +0 -0
  284. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/stream.d.ts +0 -0
  285. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/string_decoder.d.ts +0 -0
  286. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/test.d.ts +0 -0
  287. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/timers/promises.d.ts +0 -0
  288. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/timers.d.ts +0 -0
  289. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/tls.d.ts +0 -0
  290. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/trace_events.d.ts +0 -0
  291. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/tty.d.ts +0 -0
  292. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/url.d.ts +0 -0
  293. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/util.d.ts +0 -0
  294. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/v8.d.ts +0 -0
  295. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/vm.d.ts +0 -0
  296. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/wasi.d.ts +0 -0
  297. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/worker_threads.d.ts +0 -0
  298. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/node/zlib.d.ts +0 -0
  299. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/LICENSE +0 -0
  300. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/README.md +0 -0
  301. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/index.d.mts +0 -0
  302. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/index.d.ts +0 -0
  303. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/LICENSE +0 -0
  304. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/README.md +0 -0
  305. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +0 -0
  306. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +0 -0
  307. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +0 -0
  308. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +0 -0
  309. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +0 -0
  310. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +0 -0
  311. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/console.d.ts +0 -0
  312. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +0 -0
  313. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +0 -0
  314. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +0 -0
  315. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  316. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +0 -0
  317. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +0 -0
  318. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dom-events.d.ts +0 -0
  319. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +0 -0
  320. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/events.d.ts +0 -0
  321. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +0 -0
  322. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +0 -0
  323. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +0 -0
  324. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.global.d.ts +0 -0
  325. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http.d.ts +0 -0
  326. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +0 -0
  327. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/https.d.ts +0 -0
  328. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/index.d.ts +0 -0
  329. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +0 -0
  330. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/module.d.ts +0 -0
  331. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/net.d.ts +0 -0
  332. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/LICENSE +0 -0
  333. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/README.md +0 -0
  334. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/agent.d.ts +0 -0
  335. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/api.d.ts +0 -0
  336. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts +0 -0
  337. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cache.d.ts +0 -0
  338. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/client.d.ts +0 -0
  339. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/connector.d.ts +0 -0
  340. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/content-type.d.ts +0 -0
  341. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cookies.d.ts +0 -0
  342. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  343. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts +0 -0
  344. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
  345. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/errors.d.ts +0 -0
  346. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/eventsource.d.ts +0 -0
  347. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/fetch.d.ts +0 -0
  348. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/file.d.ts +0 -0
  349. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/filereader.d.ts +0 -0
  350. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/formdata.d.ts +0 -0
  351. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  352. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-origin.d.ts +0 -0
  353. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/handlers.d.ts +0 -0
  354. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/header.d.ts +0 -0
  355. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/index.d.ts +0 -0
  356. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/interceptors.d.ts +0 -0
  357. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts +0 -0
  358. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-client.d.ts +0 -0
  359. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts +0 -0
  360. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  361. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts +0 -0
  362. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/package.json +0 -0
  363. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/patch.d.ts +0 -0
  364. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts +0 -0
  365. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool.d.ts +0 -0
  366. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts +0 -0
  367. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/readable.d.ts +0 -0
  368. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts +0 -0
  369. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts +0 -0
  370. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/util.d.ts +0 -0
  371. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/webidl.d.ts +0 -0
  372. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/websocket.d.ts +0 -0
  373. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/os.d.ts +0 -0
  374. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/package.json +0 -0
  375. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/path.d.ts +0 -0
  376. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +0 -0
  377. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/process.d.ts +0 -0
  378. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +0 -0
  379. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +0 -0
  380. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +0 -0
  381. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +0 -0
  382. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +0 -0
  383. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +0 -0
  384. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +0 -0
  385. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +0 -0
  386. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +0 -0
  387. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +0 -0
  388. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +0 -0
  389. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +0 -0
  390. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/test.d.ts +0 -0
  391. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +0 -0
  392. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +0 -0
  393. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +0 -0
  394. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +0 -0
  395. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +0 -0
  396. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/url.d.ts +0 -0
  397. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/util.d.ts +0 -0
  398. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +0 -0
  399. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +0 -0
  400. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +0 -0
  401. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +0 -0
  402. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +0 -0
  403. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/@types/ws/package.json +0 -0
  404. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/README.md +0 -0
  405. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/bun.d.ts +0 -0
  406. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/deprecated.d.ts +0 -0
  407. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/fetch.d.ts +0 -0
  408. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/ffi.d.ts +0 -0
  409. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/globals.d.ts +0 -0
  410. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/html-rewriter.d.ts +0 -0
  411. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/index.d.ts +0 -0
  412. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/jsc.d.ts +0 -0
  413. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/overrides.d.ts +0 -0
  414. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/package.json +0 -0
  415. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/sqlite.d.ts +0 -0
  416. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/test.d.ts +0 -0
  417. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/bun-types/wasm.d.ts +0 -0
  418. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/README.md +0 -0
  419. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/agent.d.ts +0 -0
  420. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/api.d.ts +0 -0
  421. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/balanced-pool.d.ts +0 -0
  422. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/cache.d.ts +0 -0
  423. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/client.d.ts +0 -0
  424. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/connector.d.ts +0 -0
  425. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/content-type.d.ts +0 -0
  426. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/cookies.d.ts +0 -0
  427. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  428. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/dispatcher.d.ts +0 -0
  429. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/errors.d.ts +0 -0
  430. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/fetch.d.ts +0 -0
  431. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/file.d.ts +0 -0
  432. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/filereader.d.ts +0 -0
  433. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/formdata.d.ts +0 -0
  434. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  435. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/global-origin.d.ts +0 -0
  436. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/handlers.d.ts +0 -0
  437. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/header.d.ts +0 -0
  438. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/index.d.ts +0 -0
  439. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/interceptors.d.ts +0 -0
  440. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/mock-agent.d.ts +0 -0
  441. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/mock-client.d.ts +0 -0
  442. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/mock-errors.d.ts +0 -0
  443. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  444. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/mock-pool.d.ts +0 -0
  445. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/package.json +0 -0
  446. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/patch.d.ts +0 -0
  447. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/pool-stats.d.ts +0 -0
  448. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/pool.d.ts +0 -0
  449. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/proxy-agent.d.ts +0 -0
  450. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/readable.d.ts +0 -0
  451. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/webidl.d.ts +0 -0
  452. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/node_modules/undici-types/websocket.d.ts +0 -0
  453. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/nucleation-web.js +0 -0
  454. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/nucleation-web_bg.wasm +0 -0
  455. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/nucleation.js +0 -0
  456. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/nucleation_bg.js +0 -0
  457. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/nucleation_bg.wasm +0 -0
  458. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/package.json +0 -0
  459. {nucleation-0.1.135 → nucleation-0.1.138}/wasm-test/server.js +0 -0
@@ -2,4 +2,5 @@
2
2
  /tests/output/*
3
3
  /pkg/
4
4
  .history/
5
- .DS_Store
5
+ .DS_Store
6
+ .vscode/
@@ -1537,7 +1537,7 @@ dependencies = [
1537
1537
  [[package]]
1538
1538
  name = "mchprs_blocks"
1539
1539
  version = "0.4.1"
1540
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
1540
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
1541
1541
  dependencies = [
1542
1542
  "hematite-nbt",
1543
1543
  "mchprs_proc_macros",
@@ -1548,7 +1548,7 @@ dependencies = [
1548
1548
  [[package]]
1549
1549
  name = "mchprs_proc_macros"
1550
1550
  version = "0.4.1"
1551
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
1551
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
1552
1552
  dependencies = [
1553
1553
  "quote",
1554
1554
  "syn 2.0.110",
@@ -1557,7 +1557,7 @@ dependencies = [
1557
1557
  [[package]]
1558
1558
  name = "mchprs_redpiler"
1559
1559
  version = "0.1.0"
1560
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
1560
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
1561
1561
  dependencies = [
1562
1562
  "enum_dispatch",
1563
1563
  "itertools 0.14.0",
@@ -1575,7 +1575,7 @@ dependencies = [
1575
1575
  [[package]]
1576
1576
  name = "mchprs_redstone"
1577
1577
  version = "0.1.0"
1578
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
1578
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
1579
1579
  dependencies = [
1580
1580
  "mchprs_blocks",
1581
1581
  "mchprs_world",
@@ -1586,12 +1586,12 @@ dependencies = [
1586
1586
  [[package]]
1587
1587
  name = "mchprs_utils"
1588
1588
  version = "0.4.1"
1589
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
1589
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
1590
1590
 
1591
1591
  [[package]]
1592
1592
  name = "mchprs_world"
1593
1593
  version = "0.4.1"
1594
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
1594
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
1595
1595
  dependencies = [
1596
1596
  "hematite-nbt",
1597
1597
  "mchprs_blocks",
@@ -1687,7 +1687,7 @@ dependencies = [
1687
1687
 
1688
1688
  [[package]]
1689
1689
  name = "nucleation"
1690
- version = "0.1.135"
1690
+ version = "0.1.138"
1691
1691
  dependencies = [
1692
1692
  "base64",
1693
1693
  "bytemuck",
@@ -2253,7 +2253,7 @@ dependencies = [
2253
2253
  [[package]]
2254
2254
  name = "redpiler_graph"
2255
2255
  version = "0.4.1"
2256
- source = "git+https://github.com/Nano112/MCHPRS.git?rev=80a781f#80a781fc7ad0f6efef54ec92fe5c14a567c644e1"
2256
+ source = "git+https://github.com/Nano112/MCHPRS.git?rev=541c0b2e96857a6abaa567755c3fbb6c7f5be971#541c0b2e96857a6abaa567755c3fbb6c7f5be971"
2257
2257
  dependencies = [
2258
2258
  "bincode",
2259
2259
  "serde",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "nucleation"
3
- version = "0.1.135"
3
+ version = "0.1.138"
4
4
  edition = "2021"
5
5
  description = "A high-performance Minecraft schematic parser and utility library"
6
6
  authors = ["Nano nano@schem.at"]
@@ -71,11 +71,11 @@ bytemuck = "1.23.1"
71
71
  # Note: These are git dependencies and will be excluded from crates.io publish
72
72
  # Using Nano112's MCHPRS fork with custom IO support and bug fixes
73
73
  # Networking is disabled to avoid WASM compatibility issues
74
- # Rev 80a781f: Fixes comparator side input edge type for custom IO wires
75
- mchprs_redpiler = { git = "https://github.com/Nano112/MCHPRS.git", rev = "80a781f", optional = true }
76
- mchprs_redstone = { git = "https://github.com/Nano112/MCHPRS.git", rev = "80a781f", optional = true }
77
- mchprs_world = { git = "https://github.com/Nano112/MCHPRS.git", rev = "80a781f", optional = true, default-features = false }
78
- mchprs_blocks = { git = "https://github.com/Nano112/MCHPRS.git", rev = "80a781f", optional = true }
74
+ # Rev 541c0b2: Latest bug fixes from Nano112's MCHPRS fork
75
+ mchprs_redpiler = { git = "https://github.com/Nano112/MCHPRS.git", rev = "541c0b2e96857a6abaa567755c3fbb6c7f5be971", optional = true }
76
+ mchprs_redstone = { git = "https://github.com/Nano112/MCHPRS.git", rev = "541c0b2e96857a6abaa567755c3fbb6c7f5be971", optional = true }
77
+ mchprs_world = { git = "https://github.com/Nano112/MCHPRS.git", rev = "541c0b2e96857a6abaa567755c3fbb6c7f5be971", optional = true, default-features = false }
78
+ mchprs_blocks = { git = "https://github.com/Nano112/MCHPRS.git", rev = "541c0b2e96857a6abaa567755c3fbb6c7f5be971", optional = true }
79
79
 
80
80
  [dev-dependencies]
81
81
  wasm-bindgen-test = "0.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucleation
3
- Version: 0.1.135
3
+ Version: 0.1.138
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
@@ -39,7 +39,7 @@ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
39
39
 
40
40
  ### Core
41
41
 
42
- - **Multi-format support**: `.schematic`, `.litematic`, `.nbt`, and more
42
+ - **Multi-format support**: `.schematic`, `.litematic`, `.nbt`, `.mcstructure`, and more
43
43
  - **Memory-safe Rust core** with zero-copy deserialization
44
44
  - **Cross-platform**: Linux, macOS, Windows (x86_64 + ARM64)
45
45
  - **Multi-language**: Rust, JavaScript/TypeScript (WASM), Python, C/FFI
@@ -199,6 +199,9 @@ schematic-builder -i circuit.txt -o circuit.litematic
199
199
 
200
200
  # Choose format
201
201
  schematic-builder -i circuit.txt -o circuit.schem --format schem
202
+
203
+ # Export as mcstructure
204
+ schematic-builder -i circuit.txt -o circuit.mcstructure --format mcstructure
202
205
  ```
203
206
 
204
207
  ---
@@ -16,7 +16,7 @@
16
16
 
17
17
  ### Core
18
18
 
19
- - **Multi-format support**: `.schematic`, `.litematic`, `.nbt`, and more
19
+ - **Multi-format support**: `.schematic`, `.litematic`, `.nbt`, `.mcstructure`, and more
20
20
  - **Memory-safe Rust core** with zero-copy deserialization
21
21
  - **Cross-platform**: Linux, macOS, Windows (x86_64 + ARM64)
22
22
  - **Multi-language**: Rust, JavaScript/TypeScript (WASM), Python, C/FFI
@@ -176,6 +176,9 @@ schematic-builder -i circuit.txt -o circuit.litematic
176
176
 
177
177
  # Choose format
178
178
  schematic-builder -i circuit.txt -o circuit.schem --format schem
179
+
180
+ # Export as mcstructure
181
+ schematic-builder -i circuit.txt -o circuit.mcstructure --format mcstructure
179
182
  ```
180
183
 
181
184
  ---
@@ -96,6 +96,14 @@ class SchematicWrapper {
96
96
  to_litematic(): Uint8Array;
97
97
  to_schematic(): Uint8Array;
98
98
 
99
+ // Format Support
100
+ static get_supported_import_formats(): string[];
101
+ static get_supported_export_formats(): string[];
102
+ static get_format_versions(format: string): string[];
103
+ static get_default_format_version(format: string): string | undefined;
104
+
105
+ save_as(format: string, version?: string): Uint8Array;
106
+
99
107
  // Block operations
100
108
  set_block(x: number, y: number, z: number, blockName: string): void;
101
109
  set_block_with_properties(
@@ -217,6 +225,10 @@ import { readFileSync } from "fs";
217
225
  const bytes = new Uint8Array(readFileSync("input.litematic"));
218
226
  const schematic = new SchematicWrapper();
219
227
  schematic.from_litematic(bytes);
228
+
229
+ // Check supported formats
230
+ console.log(SchematicWrapper.get_supported_import_formats());
231
+ // ["litematic", "schematic", "mcstructure"]
220
232
  ```
221
233
 
222
234
  ### Save to File
@@ -239,6 +251,21 @@ import { writeFileSync } from "fs";
239
251
 
240
252
  const bytes = schematic.to_litematic();
241
253
  writeFileSync("output.litematic", bytes);
254
+
255
+ // Check export formats
256
+ console.log(SchematicWrapper.get_supported_export_formats());
257
+ // ["litematic", "schematic", "mcstructure"]
258
+
259
+ // Check versions
260
+ console.log(SchematicWrapper.get_format_versions("schematic"));
261
+ // ["v1", "v2", "v3"]
262
+
263
+ console.log(SchematicWrapper.get_default_format_version("schematic"));
264
+ // "v3"
265
+
266
+ // Save with specific format and version
267
+ const schemBytes = schematic.save_as("schematic", "v2");
268
+ writeFileSync("output.v2.schem", schemBytes);
242
269
  ```
243
270
 
244
271
  ## Block Operations
@@ -56,7 +56,7 @@ Main class for working with schematics.
56
56
  class Schematic:
57
57
  def __init__(self, name: str):
58
58
  """Create empty schematic"""
59
-
59
+
60
60
  # Loading/Saving
61
61
  def load_from_bytes(self, data: bytes) -> None:
62
62
  """Load from bytes (auto-detects format)"""
@@ -68,35 +68,49 @@ class Schematic:
68
68
  """Save as litematic format"""
69
69
  def to_schematic(self) -> bytes:
70
70
  """Save as WorldEdit schematic format"""
71
-
71
+
72
+ # Format Support
73
+ @staticmethod
74
+ def get_supported_import_formats() -> list[str]:
75
+ """List supported import formats"""
76
+ @staticmethod
77
+ def get_supported_export_formats() -> list[str]:
78
+ """List supported export formats"""
79
+ @staticmethod
80
+ def get_format_versions(format: str) -> list[str]:
81
+ """Get available versions for an export format"""
82
+ @staticmethod
83
+ def get_default_format_version(format: str) -> str | None:
84
+ """Get default version for an export format"""
85
+
72
86
  # Block operations
73
87
  def set_block(self, x: int, y: int, z: int, block_name: str) -> None:
74
88
  """Set block at position"""
75
- def set_block_with_properties(self, x: int, y: int, z: int,
89
+ def set_block_with_properties(self, x: int, y: int, z: int,
76
90
  block_name: str, properties: dict) -> None:
77
91
  """Set block with properties"""
78
- def set_block_from_string(self, x: int, y: int, z: int,
92
+ def set_block_from_string(self, x: int, y: int, z: int,
79
93
  block_string: str) -> None:
80
94
  """Set block from bracket notation string"""
81
95
  def get_block(self, x: int, y: int, z: int) -> str | None:
82
96
  """Get block name at position"""
83
97
  def get_block_with_properties(self, x: int, y: int, z: int) -> dict | None:
84
98
  """Get block with properties"""
85
-
99
+
86
100
  # Block entities
87
101
  def get_block_entity(self, x: int, y: int, z: int) -> dict | None:
88
102
  """Get block entity at position"""
89
103
  def get_all_block_entities(self) -> list[dict]:
90
104
  """Get all block entities"""
91
-
105
+
92
106
  # Region operations
93
- def copy_region(self, source_region: str,
107
+ def copy_region(self, source_region: str,
94
108
  min_x: int, min_y: int, min_z: int,
95
109
  max_x: int, max_y: int, max_z: int,
96
110
  target_x: int, target_y: int, target_z: int,
97
111
  excluded_blocks: list[str]) -> None:
98
112
  """Copy region to new position"""
99
-
113
+
100
114
  # Information
101
115
  def get_dimensions(self) -> tuple[int, int, int]:
102
116
  """Get schematic dimensions (width, height, depth)"""
@@ -110,7 +124,7 @@ class Schematic:
110
124
  """Get debug information"""
111
125
  def print_schematic(self) -> str:
112
126
  """Get ASCII representation"""
113
-
127
+
114
128
  # Iteration
115
129
  def blocks(self) -> list[dict]:
116
130
  """Get all blocks with positions and properties"""
@@ -122,7 +136,7 @@ class Schematic:
122
136
  def get_chunk_blocks(self, offset_x: int, offset_y: int, offset_z: int,
123
137
  width: int, height: int, length: int) -> list[dict]:
124
138
  """Get blocks in specific chunk"""
125
-
139
+
126
140
  # Simulation (requires simulation feature)
127
141
  def create_simulation_world(self) -> SimulationWorld:
128
142
  """Create simulation world"""
@@ -138,14 +152,14 @@ Represents a block with properties.
138
152
  class BlockState:
139
153
  def __init__(self, name: str):
140
154
  """Create block state"""
141
-
155
+
142
156
  def with_property(self, key: str, value: str) -> None:
143
157
  """Add property (mutates in place)"""
144
-
158
+
145
159
  @property
146
160
  def name(self) -> str:
147
161
  """Get block name"""
148
-
162
+
149
163
  @property
150
164
  def properties(self) -> dict[str, str]:
151
165
  """Get all properties"""
@@ -168,6 +182,10 @@ schematic.load_from_litematic(data)
168
182
  # Auto-detect format
169
183
  schematic.load_from_bytes(data)
170
184
 
185
+ # Check supported formats
186
+ print(Schematic.get_supported_import_formats())
187
+ # ['litematic', 'schematic', 'mcstructure']
188
+
171
189
  print(schematic.get_dimensions())
172
190
  ```
173
191
 
@@ -181,6 +199,20 @@ with open("output.litematic", "wb") as f:
181
199
  # Save as WorldEdit schematic
182
200
  with open("output.schem", "wb") as f:
183
201
  f.write(schematic.to_schematic())
202
+
203
+ # Check export formats and versions
204
+ print(Schematic.get_supported_export_formats())
205
+ # ['litematic', 'schematic', 'mcstructure']
206
+
207
+ print(Schematic.get_format_versions("schematic"))
208
+ # ['v1', 'v2', 'v3']
209
+
210
+ print(Schematic.get_default_format_version("schematic"))
211
+ # 'v3'
212
+
213
+ # Save with specific format and version
214
+ from nucleation import save_schematic
215
+ save_schematic(schematic, "output.v2.schem", format="schematic", version="v2")
184
216
  ```
185
217
 
186
218
  ## Block Operations
@@ -352,7 +384,7 @@ circuit = SchematicBuilder.new() \
352
384
  # Base layer
353
385
  ccc
354
386
  ccc
355
-
387
+
356
388
  # Logic layer
357
389
  ─→─
358
390
  │█│
@@ -560,18 +592,18 @@ from nucleation import Schematic
560
592
 
561
593
  def build_and_test_circuit():
562
594
  schematic = Schematic("test_circuit")
563
-
595
+
564
596
  # Build AND gate
565
597
  schematic.set_block(0, 0, 0, "minecraft:stone")
566
598
  schematic.set_block_from_string(0, 1, 0, "minecraft:lever[facing=north,powered=false]")
567
599
  # ... build circuit ...
568
-
600
+
569
601
  # Test simulation
570
602
  world = schematic.create_simulation_world()
571
603
  world.on_use_block(0, 1, 0) # Toggle input
572
604
  world.tick(10)
573
605
  world.flush()
574
-
606
+
575
607
  output = world.is_lit(10, 1, 0)
576
608
  assert output == True, "Test failed!"
577
609
  print("Test passed!")
@@ -588,23 +620,23 @@ from nucleation import Schematic
588
620
  def convert_all_schematics(input_dir: str, output_dir: str):
589
621
  """Convert all .schematic files to .litematic"""
590
622
  os.makedirs(output_dir, exist_ok=True)
591
-
623
+
592
624
  for filename in os.listdir(input_dir):
593
625
  if not filename.endswith('.schematic'):
594
626
  continue
595
-
627
+
596
628
  input_path = os.path.join(input_dir, filename)
597
629
  output_path = os.path.join(output_dir, filename.replace('.schematic', '.litematic'))
598
-
630
+
599
631
  # Load
600
632
  with open(input_path, "rb") as f:
601
633
  schematic = Schematic(filename)
602
634
  schematic.load_from_schematic(f.read())
603
-
635
+
604
636
  # Save
605
637
  with open(output_path, "wb") as f:
606
638
  f.write(schematic.to_litematic())
607
-
639
+
608
640
  print(f"Converted: {filename}")
609
641
 
610
642
  convert_all_schematics("input/", "output/")
@@ -616,5 +648,3 @@ convert_all_schematics("input/", "output/")
616
648
  - [TypedCircuitExecutor Guide](../shared/guide/typed-executor.md)
617
649
  - [Unicode Palette Reference](../shared/unicode-palette.md)
618
650
  - [PyPI Package](https://pypi.org/project/nucleation)
619
-
620
-
@@ -17,6 +17,19 @@ schematic.set_block(0, 0, 0, BlockState::new("minecraft:stone".to_string()));
17
17
  // Save as litematic
18
18
  let bytes = nucleation::litematic::to_litematic(&schematic)?;
19
19
  std::fs::write("output.litematic", bytes)?;
20
+
21
+ // Or use the FormatManager for unified handling
22
+ use nucleation::formats::manager::get_manager;
23
+ let manager = get_manager().lock().unwrap();
24
+
25
+ // Check support
26
+ println!("Importers: {:?}", manager.list_importers());
27
+ println!("Exporters: {:?}", manager.list_exporters());
28
+ println!("Schematic versions: {:?}", manager.get_exporter_versions("schematic"));
29
+ println!("Default version: {:?}", manager.get_exporter_default_version("schematic"));
30
+
31
+ // Save
32
+ let bytes = manager.write("schematic", &schematic, Some("v3"))?;
20
33
  ```
21
34
 
22
35
  ## Table of Contents
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "nucleation"
7
- version = "0.1.135"
7
+ version = "0.1.138"
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" }
@@ -16,7 +16,7 @@
16
16
 
17
17
  ### Core
18
18
 
19
- - **Multi-format support**: `.schematic`, `.litematic`, `.nbt`, and more
19
+ - **Multi-format support**: `.schematic`, `.litematic`, `.nbt`, `.mcstructure`, and more
20
20
  - **Memory-safe Rust core** with zero-copy deserialization
21
21
  - **Cross-platform**: Linux, macOS, Windows (x86_64 + ARM64)
22
22
  - **Multi-language**: Rust, JavaScript/TypeScript (WASM), Python, C/FFI
@@ -176,6 +176,9 @@ schematic-builder -i circuit.txt -o circuit.litematic
176
176
 
177
177
  # Choose format
178
178
  schematic-builder -i circuit.txt -o circuit.schem --format schem
179
+
180
+ # Export as mcstructure
181
+ schematic-builder -i circuit.txt -o circuit.mcstructure --format mcstructure
179
182
  ```
180
183
 
181
184
  ---
@@ -0,0 +1 @@
1
+ /home/runner/work/Nucleation/Nucleation/target/release/libnucleation.rlib: /home/runner/work/Nucleation/Nucleation/src/block_entity/generic.rs /home/runner/work/Nucleation/Nucleation/src/block_entity/mod.rs /home/runner/work/Nucleation/Nucleation/src/block_position.rs /home/runner/work/Nucleation/Nucleation/src/block_state.rs /home/runner/work/Nucleation/Nucleation/src/bounding_box.rs /home/runner/work/Nucleation/Nucleation/src/chunk.rs /home/runner/work/Nucleation/Nucleation/src/definition_region.rs /home/runner/work/Nucleation/Nucleation/src/entity.rs /home/runner/work/Nucleation/Nucleation/src/formats/litematic.rs /home/runner/work/Nucleation/Nucleation/src/formats/manager.rs /home/runner/work/Nucleation/Nucleation/src/formats/mcstructure.rs /home/runner/work/Nucleation/Nucleation/src/formats/mod.rs /home/runner/work/Nucleation/Nucleation/src/formats/schematic.rs /home/runner/work/Nucleation/Nucleation/src/insign.rs /home/runner/work/Nucleation/Nucleation/src/item/mod.rs /home/runner/work/Nucleation/Nucleation/src/item/stack.rs /home/runner/work/Nucleation/Nucleation/src/lib.rs /home/runner/work/Nucleation/Nucleation/src/metadata.rs /home/runner/work/Nucleation/Nucleation/src/nbt/mod.rs /home/runner/work/Nucleation/Nucleation/src/print_utils.rs /home/runner/work/Nucleation/Nucleation/src/region.rs /home/runner/work/Nucleation/Nucleation/src/schematic_builder/palettes.rs /home/runner/work/Nucleation/Nucleation/src/schematic_builder.rs /home/runner/work/Nucleation/Nucleation/src/transforms.rs /home/runner/work/Nucleation/Nucleation/src/universal_schematic.rs /home/runner/work/Nucleation/Nucleation/src/utils/block_string.rs /home/runner/work/Nucleation/Nucleation/src/utils/container_spec.rs /home/runner/work/Nucleation/Nucleation/src/utils/enhanced_nbt_parser.rs /home/runner/work/Nucleation/Nucleation/src/utils/mod.rs
@@ -259,12 +259,12 @@ function passArray8ToWasm0(arg, malloc) {
259
259
  * @param {SchematicWrapper} schematic
260
260
  * @returns {string}
261
261
  */
262
- export function debug_json_schematic(schematic) {
262
+ export function debug_schematic(schematic) {
263
263
  let deferred1_0;
264
264
  let deferred1_1;
265
265
  try {
266
266
  _assertClass(schematic, SchematicWrapper);
267
- const ret = wasm.debug_json_schematic(schematic.__wbg_ptr);
267
+ const ret = wasm.debug_schematic(schematic.__wbg_ptr);
268
268
  deferred1_0 = ret[0];
269
269
  deferred1_1 = ret[1];
270
270
  return getStringFromWasm0(ret[0], ret[1]);
@@ -273,16 +273,23 @@ export function debug_json_schematic(schematic) {
273
273
  }
274
274
  }
275
275
 
276
+ /**
277
+ * Initialize WASM module with panic hook for better error messages
278
+ */
279
+ export function start() {
280
+ wasm.start();
281
+ }
282
+
276
283
  /**
277
284
  * @param {SchematicWrapper} schematic
278
285
  * @returns {string}
279
286
  */
280
- export function debug_schematic(schematic) {
287
+ export function debug_json_schematic(schematic) {
281
288
  let deferred1_0;
282
289
  let deferred1_1;
283
290
  try {
284
291
  _assertClass(schematic, SchematicWrapper);
285
- const ret = wasm.debug_schematic(schematic.__wbg_ptr);
292
+ const ret = wasm.debug_json_schematic(schematic.__wbg_ptr);
286
293
  deferred1_0 = ret[0];
287
294
  deferred1_1 = ret[1];
288
295
  return getStringFromWasm0(ret[0], ret[1]);
@@ -291,13 +298,6 @@ export function debug_schematic(schematic) {
291
298
  }
292
299
  }
293
300
 
294
- /**
295
- * Initialize WASM module with panic hook for better error messages
296
- */
297
- export function start() {
298
- wasm.start();
299
- }
300
-
301
301
  const BlockPositionFinalization = (typeof FinalizationRegistry === 'undefined')
302
302
  ? { register: () => {}, unregister: () => {} }
303
303
  : new FinalizationRegistry(ptr => wasm.__wbg_blockposition_free(ptr >>> 0, 1));
@@ -2771,6 +2771,16 @@ export class SchematicWrapper {
2771
2771
  throw takeFromExternrefTable0(ret[0]);
2772
2772
  }
2773
2773
  }
2774
+ /**
2775
+ * @param {string} format
2776
+ * @returns {Array<any>}
2777
+ */
2778
+ static get_format_versions(format) {
2779
+ const ptr0 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2780
+ const len0 = WASM_VECTOR_LEN;
2781
+ const ret = wasm.schematicwrapper_get_format_versions(ptr0, len0);
2782
+ return ret;
2783
+ }
2774
2784
  /**
2775
2785
  * @param {number} chunk_width
2776
2786
  * @param {number} chunk_height
@@ -3005,6 +3015,21 @@ export class SchematicWrapper {
3005
3015
  const ret = wasm.schematicwrapper_create_lazy_chunk_iterator(this.__wbg_ptr, chunk_width, chunk_height, chunk_length, ptr0, len0, camera_x, camera_y, camera_z);
3006
3016
  return LazyChunkIterator.__wrap(ret);
3007
3017
  }
3018
+ /**
3019
+ * @param {string} format
3020
+ * @returns {string | undefined}
3021
+ */
3022
+ static get_default_format_version(format) {
3023
+ const ptr0 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3024
+ const len0 = WASM_VECTOR_LEN;
3025
+ const ret = wasm.schematicwrapper_get_default_format_version(ptr0, len0);
3026
+ let v2;
3027
+ if (ret[0] !== 0) {
3028
+ v2 = getStringFromWasm0(ret[0], ret[1]).slice();
3029
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
3030
+ }
3031
+ return v2;
3032
+ }
3008
3033
  /**
3009
3034
  * @returns {any}
3010
3035
  */
@@ -3067,6 +3092,20 @@ export class SchematicWrapper {
3067
3092
  throw takeFromExternrefTable0(ret[0]);
3068
3093
  }
3069
3094
  }
3095
+ /**
3096
+ * @returns {Array<any>}
3097
+ */
3098
+ static get_supported_export_formats() {
3099
+ const ret = wasm.schematicwrapper_get_supported_export_formats();
3100
+ return ret;
3101
+ }
3102
+ /**
3103
+ * @returns {Array<any>}
3104
+ */
3105
+ static get_supported_import_formats() {
3106
+ const ret = wasm.schematicwrapper_get_supported_import_formats();
3107
+ return ret;
3108
+ }
3070
3109
  /**
3071
3110
  * @param {string} name
3072
3111
  * @param {string} key
@@ -3157,6 +3196,24 @@ export class SchematicWrapper {
3157
3196
  flip_z() {
3158
3197
  wasm.schematicwrapper_flip_z(this.__wbg_ptr);
3159
3198
  }
3199
+ /**
3200
+ * @param {string} format
3201
+ * @param {string | null} [version]
3202
+ * @returns {Uint8Array}
3203
+ */
3204
+ save_as(format, version) {
3205
+ const ptr0 = passStringToWasm0(format, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3206
+ const len0 = WASM_VECTOR_LEN;
3207
+ var ptr1 = isLikeNone(version) ? 0 : passStringToWasm0(version, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3208
+ var len1 = WASM_VECTOR_LEN;
3209
+ const ret = wasm.schematicwrapper_save_as(this.__wbg_ptr, ptr0, len0, ptr1, len1);
3210
+ if (ret[3]) {
3211
+ throw takeFromExternrefTable0(ret[2]);
3212
+ }
3213
+ var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
3214
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
3215
+ return v3;
3216
+ }
3160
3217
  /**
3161
3218
  * Rotate the schematic around the X axis
3162
3219
  * Degrees must be 90, 180, or 270