nucleation 0.1.140__tar.gz → 0.1.141__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.
- {nucleation-0.1.140 → nucleation-0.1.141}/Cargo.lock +3 -3
- {nucleation-0.1.140 → nucleation-0.1.141}/Cargo.toml +2 -2
- {nucleation-0.1.140 → nucleation-0.1.141}/PKG-INFO +1 -1
- {nucleation-0.1.140 → nucleation-0.1.141}/pyproject.toml +1 -1
- nucleation-0.1.141/release-artifacts/libnucleation-macos-arm64.dylib +0 -0
- nucleation-0.1.141/release-artifacts/libnucleation-macos-x64.dylib +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/libnucleation.rlib +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/nucleation_bg.wasm +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/package.json +1 -1
- nucleation-0.1.141/simple_cube.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/formats/litematic.rs +3 -3
- {nucleation-0.1.140 → nucleation-0.1.141}/src/formats/mcstructure.rs +68 -44
- {nucleation-0.1.140 → nucleation-0.1.141}/src/formats/schematic.rs +1 -1
- {nucleation-0.1.140 → nucleation-0.1.141}/src/region.rs +4 -4
- {nucleation-0.1.140 → nucleation-0.1.141}/src/universal_schematic.rs +147 -0
- nucleation-0.1.141/test_schematic.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/integration_tests.rs +3 -4
- nucleation-0.1.141/tests/samples/flip-flop.mcstructure +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_region_expansion_bugs.rs +1 -1
- nucleation-0.1.140/release-artifacts/libnucleation-macos-arm64.dylib +0 -0
- nucleation-0.1.140/release-artifacts/libnucleation-macos-x64.dylib +0 -0
- nucleation-0.1.140/simple_cube.litematic +0 -0
- nucleation-0.1.140/test_schematic.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.DS_Store +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.cargo/config.toml +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.github/workflows/ci.yml +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.gitignore +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.idea/.gitignore +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.idea/minecraft_schematic_utils.iml +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.idea/misc.xml +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.idea/modules.xml +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/.idea/vcs.xml +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/4bit_adder.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/Dockerfile +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/LICENSE +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/WARP.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/benches/performance_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/benches/schematic_bench.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/build-ffi.sh +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/build-wasm.sh +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/building/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/insign-io-integration.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/javascript/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/python/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/rust/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/shared/guide/circuit-api.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/shared/guide/definition-region.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/shared/guide/schematic-builder.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/shared/guide/typed-executor.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/docs/shared/unicode-palette.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/bracket_notation.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/build_adder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/build_test_adder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/building_benchmark.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/check_adder_dims.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/connect4_battle_setup.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/create_simple_litematic.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/custom_io_signals.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/ffi.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/generate_gradient_samples.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/generate_nice_gradients.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/generate_solid_color_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/inspect_blockpedia.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/python.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/python_benchmark.py +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/python_simulation.py +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/rust.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/rust_fluent_api.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/test_asymmetric_cubes.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/test_checkerboard.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/test_unicode_circuit.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/universal_schematic_overhead.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/examples/wasm.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/helf_adder.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/insign.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/nucleation-stubs.php +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/nucleation.pyi +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/output/.DS_Store +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/output/full_adder.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/pre-push.sh +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/py.typed +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/LICENSE +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/libnucleation.d +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/nucleation-cdn-loader.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/nucleation-original.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/nucleation.d.ts +19 -19
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/nucleation.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/release-artifacts/nucleation_bg.wasm.d.ts +19 -19
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/generated/d_latch.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/generated/xor.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/comparator_subtract_bug1.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/comparator_subtract_bug2.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/comparator_subtract_simple.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/comparator_subtract_with_signs.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/d_latch.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/failing_case.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/full_adder.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/schematic_builder/templates/xor.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/scripts/update-stubs.sh +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/bin/schematic-builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/block_entity/generic.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/block_entity/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/block_position.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/block_state.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/bounding_box.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/building/brushes.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/building/enums.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/building/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/building/shapes.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/chunk.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/definition_region.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/entity.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/ffi.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/formats/manager.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/formats/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/formats/sponge_schematic_v3.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/insign.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/item/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/item/stack.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/lib.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/metadata.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/nbt/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/php.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/print_utils.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/building.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/circuit_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/definition_region.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/schematic.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/schematic_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/simulation.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/python/typed_executor.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/schematic_builder/palettes.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/schematic_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/circuit_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/mchprs_world.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/truth_table.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/executor.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/insign_io.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/integration_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/io_layout_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/io_mapping.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/io_type.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/layout_function.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/sort_strategy.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/simulation/typed_executor/value.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/transforms.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/utils/block_string.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/utils/container_spec.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/utils/enhanced_nbt_parser.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/utils/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/building.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/circuit_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/definition_region.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/mod.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/palettes.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/schematic.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/schematic_builder.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/simulation.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/src/wasm/typed_executor.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test-wasm.sh +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test_adder.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test_circuit.txt +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test_cli_output.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test_count_format.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test_enhanced.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/test_fixed.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/.DS_Store +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/barrel_nbt_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/building_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/connect4_test.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/debug_flip.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/definition_regions_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/executor_config_test.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/mchprs_state_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/mcstructure_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/nbt_parsing_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/node_fluent_api_test.mjs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/node_simple_circuit_test.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/node_simple_circuit_test.mjs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/node_wasm_test.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/php-stubs-test.php +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/property_transformation_demo.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/python_simple_circuit_test.py +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/python_test.py +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/registry_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/reproduce_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/rust_fluent_api_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/16-bit_divider.mcstructure +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/1x1.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/3x2x3.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/3x3.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/4x2x4.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/4x4x4+1.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/8-bit_alu.mcstructure +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/Evaluator.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/all_items.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/and.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/brewer.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/c4_ai_last_played.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/c4_ai_left_most.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/cutecounter.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/door_plot.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/file.litematic.l +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/gol.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/large_schematic.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/linear_plotter.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/litematic-rose-farm.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/new_chest_test.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/quarry.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/sample.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/sample.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/spinny.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/ss-sorter.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/storage_thingy.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/test_coordinate_thingy.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/test_cube.schem +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/trencher.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/samples/wool_palette.litematic +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/simple_wasm_test.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_barrel_hopper_simulation.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_chunk_bounds_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_comparator_diagonal_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_comparator_subtract_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_comparator_subtract_executor.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_custom_io_adjacent_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_custom_io_no_power_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_intermediate_wire_sync.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_long_wire.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_nibble_signal_strength.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_repeater_chain_sync.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_repeater_custom_io_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_simulation_with_tight_bounds.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_two_inputs_exact_topology.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_two_inputs_no_output_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/test_typed_executor_sync_output_bug.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/transformation_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/wasm_node_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/tests/wasm_tests.rs +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/bun.lockb +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/index.html +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/index.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/minecraft_schematic_utils.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/minecraft_schematic_utils_bg.wasm +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/LICENSE +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/assert/strict.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/assert.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/async_hooks.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/buffer.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/child_process.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/cluster.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/console.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/constants.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/crypto.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/dgram.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/dns/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/dns.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/dom-events.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/domain.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/events.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/fs/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/fs.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/globals.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/globals.global.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/http.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/http2.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/https.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/index.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/inspector.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/module.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/net.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/os.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/path.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/perf_hooks.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/process.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/punycode.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/querystring.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/readline/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/readline.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/repl.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/sea.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/stream/consumers.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/stream/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/stream/web.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/stream.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/string_decoder.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/test.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/timers/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/timers.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/tls.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/trace_events.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/tty.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/url.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/util.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/v8.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/vm.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/wasi.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/worker_threads.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/node/zlib.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/LICENSE +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/index.d.mts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/index.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/LICENSE +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/console.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/dom-events.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/events.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/globals.global.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/https.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/index.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/module.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/net.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/LICENSE +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/api.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/balanced-pool.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cache.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/client.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/connector.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/content-type.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/cookies.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/dispatcher.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/errors.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/eventsource.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/fetch.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/file.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/filereader.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/formdata.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-dispatcher.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/global-origin.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/handlers.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/header.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/index.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/interceptors.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-client.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-errors.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-interceptor.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/mock-pool.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/patch.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool-stats.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/pool.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/proxy-agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/readable.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/retry-handler.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/util.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/webidl.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types/websocket.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/os.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/path.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/process.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/test.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/url.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/util.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/@types/ws/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/bun.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/deprecated.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/fetch.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/ffi.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/globals.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/html-rewriter.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/index.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/jsc.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/overrides.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/sqlite.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/test.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/bun-types/wasm.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/README.md +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/api.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/balanced-pool.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/cache.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/client.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/connector.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/content-type.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/cookies.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/dispatcher.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/errors.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/fetch.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/file.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/filereader.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/formdata.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/global-dispatcher.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/global-origin.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/handlers.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/header.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/index.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/interceptors.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/mock-agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/mock-client.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/mock-errors.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/mock-interceptor.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/mock-pool.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/patch.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/pool-stats.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/pool.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/proxy-agent.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/readable.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/webidl.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/node_modules/undici-types/websocket.d.ts +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/nucleation-web.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/nucleation-web_bg.wasm +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/nucleation.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/nucleation_bg.js +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/nucleation_bg.wasm +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/package.json +0 -0
- {nucleation-0.1.140 → nucleation-0.1.141}/wasm-test/server.js +0 -0
|
@@ -234,9 +234,9 @@ dependencies = [
|
|
|
234
234
|
|
|
235
235
|
[[package]]
|
|
236
236
|
name = "blockpedia"
|
|
237
|
-
version = "0.1.
|
|
237
|
+
version = "0.1.7"
|
|
238
238
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
239
|
-
checksum = "
|
|
239
|
+
checksum = "9fd332d4a740078986617b2989e8d285b8e7b5e113b86732dbfd0fe168a0f878"
|
|
240
240
|
dependencies = [
|
|
241
241
|
"anyhow",
|
|
242
242
|
"console_error_panic_hook",
|
|
@@ -1845,7 +1845,7 @@ dependencies = [
|
|
|
1845
1845
|
|
|
1846
1846
|
[[package]]
|
|
1847
1847
|
name = "nucleation"
|
|
1848
|
-
version = "0.1.
|
|
1848
|
+
version = "0.1.141"
|
|
1849
1849
|
dependencies = [
|
|
1850
1850
|
"base64",
|
|
1851
1851
|
"blockpedia",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "nucleation"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.141"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
description = "A high-performance Minecraft schematic parser and utility library"
|
|
6
6
|
authors = ["Nano nano@schem.at"]
|
|
@@ -44,7 +44,7 @@ flate2 = "1.1.2"
|
|
|
44
44
|
log = "0.4.22"
|
|
45
45
|
console = "0.15.8"
|
|
46
46
|
insign = "0.1.1"
|
|
47
|
-
blockpedia = { version = "0.1.
|
|
47
|
+
blockpedia = { version = "0.1.7", default-features = false, features = ["wasm"] }
|
|
48
48
|
|
|
49
49
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
50
50
|
hematite-nbt = "*"
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nucleation"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.141"
|
|
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" }
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -446,7 +446,7 @@ mod tests {
|
|
|
446
446
|
let mut region = Region::new("TestRegion".to_string(), (0, 0, 0), (2, 2, 2));
|
|
447
447
|
|
|
448
448
|
let stone = BlockState::new("minecraft:stone".to_string());
|
|
449
|
-
let
|
|
449
|
+
let _air = BlockState::new("minecraft:air".to_string());
|
|
450
450
|
|
|
451
451
|
region.set_block(0, 0, 0, &stone.clone());
|
|
452
452
|
region.set_block(1, 1, 1, &stone.clone());
|
|
@@ -577,7 +577,7 @@ mod tests {
|
|
|
577
577
|
.expect("Failed to write to file");
|
|
578
578
|
|
|
579
579
|
// Read the .litematic file back
|
|
580
|
-
let
|
|
580
|
+
let _loaded_litematic_data =
|
|
581
581
|
std::fs::read("simple_cube.litematic").expect("Failed to read file");
|
|
582
582
|
|
|
583
583
|
// Clean up the generated file
|
|
@@ -592,7 +592,7 @@ mod tests {
|
|
|
592
592
|
let mut region = Region::new("TestRegion".to_string(), (0, 0, 0), (2, 2, 2));
|
|
593
593
|
|
|
594
594
|
let stone = BlockState::new("minecraft:stone".to_string());
|
|
595
|
-
let
|
|
595
|
+
let _air = BlockState::new("minecraft:air".to_string());
|
|
596
596
|
|
|
597
597
|
region.set_block(0, 0, 0, &stone.clone());
|
|
598
598
|
region.set_block(1, 1, 1, &stone.clone());
|
|
@@ -120,10 +120,12 @@ pub fn from_mcstructure(data: &[u8]) -> Result<UniversalSchematic, Box<dyn std::
|
|
|
120
120
|
for (key, val) in states.iter() {
|
|
121
121
|
let val_str = match val {
|
|
122
122
|
NbtValue::Byte(b) => {
|
|
123
|
-
if *b
|
|
123
|
+
if *b == 1 {
|
|
124
124
|
"true".to_string()
|
|
125
|
-
} else {
|
|
125
|
+
} else if *b == 0 {
|
|
126
126
|
"false".to_string()
|
|
127
|
+
} else {
|
|
128
|
+
b.to_string()
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
131
|
NbtValue::Int(i) => i.to_string(),
|
|
@@ -150,55 +152,73 @@ pub fn from_mcstructure(data: &[u8]) -> Result<UniversalSchematic, Box<dyn std::
|
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
|
|
153
|
-
//
|
|
155
|
+
// Construct Region
|
|
156
|
+
let mut region = Region::new("Main".to_string(), (0, 0, 0), (width, height, length));
|
|
157
|
+
|
|
158
|
+
// Parse Block Indices (Multi-layer support)
|
|
154
159
|
let block_indices_list = match structure.get("block_indices") {
|
|
155
160
|
Some(NbtValue::List(l)) => l,
|
|
156
161
|
_ => return Err("Missing block_indices".into()),
|
|
157
162
|
};
|
|
158
|
-
let mut indices_iter = block_indices_list.iter();
|
|
159
|
-
let primary_layer = indices_iter.next().ok_or("Missing primary layer")?;
|
|
160
|
-
|
|
161
|
-
let indices: Vec<i32> = match primary_layer {
|
|
162
|
-
NbtValue::List(list) => list
|
|
163
|
-
.iter()
|
|
164
|
-
.filter_map(|t| {
|
|
165
|
-
if let NbtValue::Int(i) = t {
|
|
166
|
-
Some(*i)
|
|
167
|
-
} else {
|
|
168
|
-
None
|
|
169
|
-
}
|
|
170
|
-
})
|
|
171
|
-
.collect(),
|
|
172
|
-
_ => return Err("Primary layer is not a list".into()),
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
// Construct Region
|
|
176
|
-
let mut region = Region::new("Main".to_string(), (0, 0, 0), (width, height, length));
|
|
177
|
-
|
|
178
|
-
// Set blocks
|
|
179
|
-
// Indices are ZYX order: X outer, Y middle, Z inner
|
|
180
|
-
// index = SZ*SY*X + SZ*Y + Z
|
|
181
163
|
|
|
182
|
-
for
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
164
|
+
for layer in block_indices_list {
|
|
165
|
+
let indices: Vec<i32> = match layer {
|
|
166
|
+
NbtValue::List(list) => list
|
|
167
|
+
.iter()
|
|
168
|
+
.filter_map(|t| {
|
|
169
|
+
if let NbtValue::Int(i) = t {
|
|
170
|
+
Some(*i)
|
|
171
|
+
} else {
|
|
172
|
+
None
|
|
173
|
+
}
|
|
174
|
+
})
|
|
175
|
+
.collect(),
|
|
176
|
+
_ => continue,
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
// Set blocks
|
|
180
|
+
// Indices are ZYX order: X outer, Y middle, Z inner
|
|
181
|
+
// index = SZ*SY*X + SZ*Y + Z
|
|
182
|
+
for (i, &palette_idx) in indices.iter().enumerate() {
|
|
183
|
+
if palette_idx < 0 {
|
|
184
|
+
continue;
|
|
185
|
+
} // -1 is void/air-skip
|
|
186
|
+
|
|
187
|
+
let i = i as i32;
|
|
188
|
+
let sz = length;
|
|
189
|
+
let sy = height;
|
|
190
|
+
|
|
191
|
+
if sz == 0 || sy == 0 {
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
let x = i / sz / sy;
|
|
196
|
+
let y = (i / sz) % sy;
|
|
197
|
+
let z = i % sz;
|
|
198
|
+
|
|
199
|
+
if palette_idx < palette.len() as i32 {
|
|
200
|
+
let block = palette[palette_idx as usize].clone();
|
|
201
|
+
|
|
202
|
+
// Simple merge logic:
|
|
203
|
+
// If the block is water/lava and we already have a block here,
|
|
204
|
+
// try to set waterlogged=true instead of overwriting.
|
|
205
|
+
if (block.name == "minecraft:water" || block.name == "minecraft:flowing_water")
|
|
206
|
+
&& region.get_block(x, y, z).is_some()
|
|
207
|
+
{
|
|
208
|
+
if let Some(existing_block) = region.get_block(x, y, z) {
|
|
209
|
+
if existing_block.name != "minecraft:air" {
|
|
210
|
+
let mut updated_block = existing_block.clone();
|
|
211
|
+
updated_block
|
|
212
|
+
.properties
|
|
213
|
+
.insert("waterlogged".to_string(), "true".to_string());
|
|
214
|
+
region.set_block(x, y, z, &updated_block);
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
198
219
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
region.set_block(x, y, z, &block);
|
|
220
|
+
region.set_block(x, y, z, &block);
|
|
221
|
+
}
|
|
202
222
|
}
|
|
203
223
|
}
|
|
204
224
|
|
|
@@ -268,6 +288,10 @@ pub fn from_mcstructure(data: &[u8]) -> Result<UniversalSchematic, Box<dyn std::
|
|
|
268
288
|
|
|
269
289
|
let mut schematic = UniversalSchematic::new("Unnamed".to_string());
|
|
270
290
|
schematic.add_region(region);
|
|
291
|
+
|
|
292
|
+
// Post-fix redstone connectivity
|
|
293
|
+
schematic.fix_redstone_connectivity();
|
|
294
|
+
|
|
271
295
|
Ok(schematic)
|
|
272
296
|
}
|
|
273
297
|
|
|
@@ -896,7 +896,7 @@ mod tests {
|
|
|
896
896
|
let schem_data =
|
|
897
897
|
fs::read(schem_path).expect(format!("Failed to read {}", input_path_str).as_str());
|
|
898
898
|
|
|
899
|
-
let
|
|
899
|
+
let schematic = from_schematic(&schem_data).expect("Failed to parse schematic");
|
|
900
900
|
assert_eq!(schematic.metadata.name, Some("Unnamed".to_string()));
|
|
901
901
|
}
|
|
902
902
|
|
|
@@ -1282,7 +1282,7 @@ mod tests {
|
|
|
1282
1282
|
for i in 1..=16 {
|
|
1283
1283
|
palette.push(BlockState::new(format!("minecraft:wool{}", i)));
|
|
1284
1284
|
}
|
|
1285
|
-
let
|
|
1285
|
+
let region = Region {
|
|
1286
1286
|
name: "Test".to_string(),
|
|
1287
1287
|
position: (0, 0, 0),
|
|
1288
1288
|
size: (16, 1, 1),
|
|
@@ -1715,7 +1715,7 @@ mod tests {
|
|
|
1715
1715
|
fn test_coords_to_index() {
|
|
1716
1716
|
let mut region = Region::new("Test".to_string(), (0, 0, 0), (2, 2, 2));
|
|
1717
1717
|
|
|
1718
|
-
let
|
|
1718
|
+
let volume1 = region.volume();
|
|
1719
1719
|
for i in 0..8 {
|
|
1720
1720
|
let coords = region.index_to_coords(i);
|
|
1721
1721
|
let index = region.coords_to_index(coords.0, coords.1, coords.2);
|
|
@@ -1725,7 +1725,7 @@ mod tests {
|
|
|
1725
1725
|
|
|
1726
1726
|
let region2 = Region::new("Test".to_string(), (0, 0, 0), (-2, -2, -2));
|
|
1727
1727
|
|
|
1728
|
-
let
|
|
1728
|
+
let volume2 = region2.volume();
|
|
1729
1729
|
for i in 0..8 {
|
|
1730
1730
|
let coords = region2.index_to_coords(i);
|
|
1731
1731
|
let index = region2.coords_to_index(coords.0, coords.1, coords.2);
|
|
@@ -1735,7 +1735,7 @@ mod tests {
|
|
|
1735
1735
|
|
|
1736
1736
|
region.merge(®ion2);
|
|
1737
1737
|
|
|
1738
|
-
let
|
|
1738
|
+
let volume3 = region.volume();
|
|
1739
1739
|
for i in 0..27 {
|
|
1740
1740
|
let coords = region.index_to_coords(i);
|
|
1741
1741
|
let index = region.coords_to_index(coords.0, coords.1, coords.2);
|
|
@@ -567,6 +567,119 @@ impl UniversalSchematic {
|
|
|
567
567
|
}
|
|
568
568
|
}
|
|
569
569
|
|
|
570
|
+
pub fn fix_redstone_connectivity(&mut self) {
|
|
571
|
+
let regions: Vec<String> = self.get_all_regions().keys().cloned().collect();
|
|
572
|
+
for region_name in regions {
|
|
573
|
+
self.fix_redstone_connectivity_for_region(®ion_name);
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
pub fn fix_redstone_connectivity_for_region(&mut self, region_name: &str) {
|
|
578
|
+
let (min, max) = {
|
|
579
|
+
let region = match self.get_region(region_name) {
|
|
580
|
+
Some(r) => r,
|
|
581
|
+
None => return,
|
|
582
|
+
};
|
|
583
|
+
let (width, height, length) = region.size;
|
|
584
|
+
let (pos_x, pos_y, pos_z) = region.position;
|
|
585
|
+
(
|
|
586
|
+
(pos_x, pos_y, pos_z),
|
|
587
|
+
(pos_x + width, pos_y + height, pos_z + length),
|
|
588
|
+
)
|
|
589
|
+
};
|
|
590
|
+
|
|
591
|
+
for y in min.1..max.1 {
|
|
592
|
+
for x in min.0..max.0 {
|
|
593
|
+
for z in min.2..max.2 {
|
|
594
|
+
let block = match self.get_block_from_region(region_name, x, y, z) {
|
|
595
|
+
Some(b) if b.name == "minecraft:redstone_wire" => b.clone(),
|
|
596
|
+
_ => continue,
|
|
597
|
+
};
|
|
598
|
+
|
|
599
|
+
let mut new_block = block.clone();
|
|
600
|
+
let directions = [
|
|
601
|
+
("north", 0, -1),
|
|
602
|
+
("south", 0, 1),
|
|
603
|
+
("east", 1, 0),
|
|
604
|
+
("west", -1, 0),
|
|
605
|
+
];
|
|
606
|
+
|
|
607
|
+
for (dir, dx, dz) in directions {
|
|
608
|
+
let side_val = if self.should_connect_redstone(region_name, x, y, z, dx, dz)
|
|
609
|
+
{
|
|
610
|
+
"side"
|
|
611
|
+
} else if self.should_connect_redstone_up(region_name, x, y, z, dx, dz) {
|
|
612
|
+
"up"
|
|
613
|
+
} else {
|
|
614
|
+
"none"
|
|
615
|
+
};
|
|
616
|
+
new_block
|
|
617
|
+
.properties
|
|
618
|
+
.insert(dir.to_string(), side_val.to_string());
|
|
619
|
+
}
|
|
620
|
+
self.set_block_in_region(region_name, x, y, z, &new_block);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
fn should_connect_redstone(
|
|
627
|
+
&self,
|
|
628
|
+
region_name: &str,
|
|
629
|
+
x: i32,
|
|
630
|
+
y: i32,
|
|
631
|
+
z: i32,
|
|
632
|
+
dx: i32,
|
|
633
|
+
dz: i32,
|
|
634
|
+
) -> bool {
|
|
635
|
+
// Same level
|
|
636
|
+
if let Some(neighbor) = self.get_block_from_region(region_name, x + dx, y, z + dz) {
|
|
637
|
+
if is_redstone_connectable(neighbor) {
|
|
638
|
+
return true;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
// One level down
|
|
642
|
+
if let Some(neighbor_down) = self.get_block_from_region(region_name, x + dx, y - 1, z + dz)
|
|
643
|
+
{
|
|
644
|
+
if neighbor_down.name == "minecraft:redstone_wire" {
|
|
645
|
+
// Only if the block above neighbor_down is air or non-opaque
|
|
646
|
+
if let Some(above_neighbor_down) =
|
|
647
|
+
self.get_block_from_region(region_name, x + dx, y, z + dz)
|
|
648
|
+
{
|
|
649
|
+
if !is_opaque(above_neighbor_down) {
|
|
650
|
+
return true;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
false
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
fn should_connect_redstone_up(
|
|
659
|
+
&self,
|
|
660
|
+
region_name: &str,
|
|
661
|
+
x: i32,
|
|
662
|
+
y: i32,
|
|
663
|
+
z: i32,
|
|
664
|
+
dx: i32,
|
|
665
|
+
dz: i32,
|
|
666
|
+
) -> bool {
|
|
667
|
+
// One level up
|
|
668
|
+
// Only if the block above the current wire is not opaque
|
|
669
|
+
if let Some(above_current) = self.get_block_from_region(region_name, x, y + 1, z) {
|
|
670
|
+
if is_opaque(above_current) {
|
|
671
|
+
return false;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
if let Some(neighbor_up) = self.get_block_from_region(region_name, x + dx, y + 1, z + dz) {
|
|
676
|
+
if neighbor_up.name == "minecraft:redstone_wire" {
|
|
677
|
+
return true;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
false
|
|
681
|
+
}
|
|
682
|
+
|
|
570
683
|
pub fn get_merged_region(&self) -> Region {
|
|
571
684
|
let mut merged_region = self.default_region.clone();
|
|
572
685
|
|
|
@@ -1958,6 +2071,40 @@ impl UniversalSchematic {
|
|
|
1958
2071
|
}
|
|
1959
2072
|
}
|
|
1960
2073
|
|
|
2074
|
+
pub fn is_redstone_connectable(block: &BlockState) -> bool {
|
|
2075
|
+
let name = block.name.as_str();
|
|
2076
|
+
name == "minecraft:redstone_wire"
|
|
2077
|
+
|| name == "minecraft:repeater"
|
|
2078
|
+
|| name == "minecraft:comparator"
|
|
2079
|
+
|| name == "minecraft:observer"
|
|
2080
|
+
|| name == "minecraft:target"
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
pub fn is_opaque(block: &BlockState) -> bool {
|
|
2084
|
+
let name = block.name.as_str();
|
|
2085
|
+
// Simplified opaque check - most common non-opaque blocks
|
|
2086
|
+
!(name == "minecraft:air"
|
|
2087
|
+
|| name == "minecraft:cave_air"
|
|
2088
|
+
|| name == "minecraft:void_air"
|
|
2089
|
+
|| name.contains("glass")
|
|
2090
|
+
|| name.contains("slab")
|
|
2091
|
+
|| name.contains("stairs")
|
|
2092
|
+
|| name.contains("fence")
|
|
2093
|
+
|| name.contains("wall")
|
|
2094
|
+
|| name.contains("iron_bars")
|
|
2095
|
+
|| name.contains("door")
|
|
2096
|
+
|| name.contains("trapdoor")
|
|
2097
|
+
|| name.contains("torch")
|
|
2098
|
+
|| name.contains("button")
|
|
2099
|
+
|| name.contains("pressure_plate")
|
|
2100
|
+
|| name.contains("sign")
|
|
2101
|
+
|| name == "minecraft:redstone_wire"
|
|
2102
|
+
|| name == "minecraft:repeater"
|
|
2103
|
+
|| name == "minecraft:comparator"
|
|
2104
|
+
|| name == "minecraft:lever"
|
|
2105
|
+
|| name == "minecraft:hopper")
|
|
2106
|
+
}
|
|
2107
|
+
|
|
1961
2108
|
#[cfg(test)]
|
|
1962
2109
|
mod tests {
|
|
1963
2110
|
use super::*;
|
|
Binary file
|
|
@@ -15,8 +15,7 @@ fn litematic_to_schem_conversion(name: &str) {
|
|
|
15
15
|
fs::read(litematic_path).expect(format!("Failed to read {}", input_path_str).as_str());
|
|
16
16
|
|
|
17
17
|
// Parse the .litematic data into a UniversalSchematic
|
|
18
|
-
let
|
|
19
|
-
litematic::from_litematic(&litematic_data).expect("Failed to parse litematic");
|
|
18
|
+
let schematic = litematic::from_litematic(&litematic_data).expect("Failed to parse litematic");
|
|
20
19
|
|
|
21
20
|
// let region_blocks = schematic.get_region_from_index(0).unwrap().blocks.clone();
|
|
22
21
|
|
|
@@ -73,7 +72,7 @@ fn litematic_to_schem_conversion(name: &str) {
|
|
|
73
72
|
println!("Successfully converted sample.litematic to .schem format and verified the contents.");
|
|
74
73
|
}
|
|
75
74
|
|
|
76
|
-
fn
|
|
75
|
+
fn _schema_to_litematic_conversion(name: &str) {
|
|
77
76
|
// Path to the sample .schem file
|
|
78
77
|
let input_path_str = format!("tests/samples/{}.schem", name);
|
|
79
78
|
let schem_path = Path::new(&input_path_str);
|
|
@@ -130,7 +129,7 @@ fn test_cube_schematic() {
|
|
|
130
129
|
}
|
|
131
130
|
|
|
132
131
|
// #[test]
|
|
133
|
-
fn
|
|
132
|
+
fn _time_load_large_schematic() {
|
|
134
133
|
let input_path_str = format!("tests/samples/large_schematic.schem");
|
|
135
134
|
let schem_path = Path::new(&input_path_str);
|
|
136
135
|
let schem_data =
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|