mettagrid 0.2.0.21__tar.gz → 0.2.0.22__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.
Potentially problematic release.
This version of mettagrid might be problematic. Click here for more details.
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/PKG-INFO +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/bindings/mettagrid_c.cpp +11 -8
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/assembler.hpp +4 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/assembler_config.hpp +7 -2
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/systems/clipper.hpp +48 -9
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/mettagrid.egg-info/PKG-INFO +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/mettagrid.egg-info/SOURCES.txt +4 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/actions.nim +28 -17
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/common.nim +1 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/pathfinding.nim +44 -41
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/worldmap.nim +78 -17
- mettagrid-0.2.0.21/python/src/mettagrid/config/config.py → mettagrid-0.2.0.22/python/src/mettagrid/base_config.py +1 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/config/__init__.py +0 -2
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/config/mettagrid_c_config.py +1 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/config/mettagrid_config.py +35 -43
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/__init__.py +2 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/map_builder.py +1 -1
- mettagrid-0.2.0.22/python/src/mettagrid/mapgen/area.py +91 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/load.py +2 -5
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/mapgen.py +15 -17
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/mapgen_ascii.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scene.py +149 -25
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/auto.py +2 -2
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/bsp.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/copy_grid.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/maze.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/mirror.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/random_scene.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/transplant_scene.py +2 -11
- mettagrid-0.2.0.22/python/src/mettagrid/mapgen/types.py +9 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/ascii_grid.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/storable_map.py +1 -1
- mettagrid-0.2.0.22/python/src/mettagrid/renderer/miniscope/help.py +92 -0
- mettagrid-0.2.0.22/python/src/mettagrid/renderer/miniscope/info_panels.py +265 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/miniscope/interactive.py +205 -20
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/miniscope/renderer.py +21 -2
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/test_support/mapgen.py +3 -3
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/module.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_layout.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_room_grid.py +1 -1
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/test_scene.py +2 -2
- mettagrid-0.2.0.22/tests/mapgen/test_transform.py +229 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/test_validate_all_ascii_maps.py +4 -5
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_clipper.cpp +206 -14
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_grid_objects_properties.py +5 -6
- mettagrid-0.2.0.21/python/src/mettagrid/mapgen/types.py +0 -88
- mettagrid-0.2.0.21/python/src/mettagrid/renderer/miniscope/info_panels.py +0 -131
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/.bazelrc +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/.clang-format +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/.clang-tidy +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/.gitignore +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/BUILD.bazel +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/CPPLINT.cfg +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/LICENSE +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/MANIFEST.in +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/MODULE.bazel +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/Makefile +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/bazel_build.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/benchmarks/BUILD +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/benchmarks/test_mettagrid_env_benchmark.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/benchmarks/test_mettagrid_env_benchmark.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/boxout.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/choose_wisely.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/corners.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/corridors.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/cylinder.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/cylinder_easy.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/easy_memory.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/emptyspace_outofsight.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/hall_of_mirrors.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/hard_memory.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/honeypot.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/journey_home.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/knotty.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/labyrinth.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/little_landmark_easy.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/little_landmark_hard.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/lobster_legs.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/lobster_legs_cues.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/medium_memory.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/memory3.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/memory_palace.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/memory_swirls.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/memory_swirls_hard.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/obstacles0.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/obstacles1.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/obstacles2.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/obstacles3.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/passing_things.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/radial_large.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/radial_maze.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/radial_mini.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/radial_small.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/rooms.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/spacey_memory.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/spiral_chamber.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/swirls.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/tease.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/tease_small.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/thecube.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/venture_out.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/walkaround.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/walls_outofsight.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/walls_withinsight.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/wanderout.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/which_way.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/navigation_sequence/you_shall_not_pass.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/object_use/shoot_out.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/object_use/swap_in.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/configs/maps/object_use/swap_out.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/BUILD.bazel +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/bindings/mettagrid_c.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/action_handler.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/attack.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/change_color.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/change_glyph.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/get_output.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/move.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/noop.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/orientation.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/resource_mod.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/rotate.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/actions/swap.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/core/event.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/core/grid.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/core/grid_object.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/core/hash.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/core/types.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/agent.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/agent_config.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/chest.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/chest_config.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/constants.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/converter.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/converter_config.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/has_inventory.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/inventory.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/inventory_config.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/production_handler.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/recipe.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/usable.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/wall.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/renderer/hermes.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/systems/clipper_config.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/demo.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/demos/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/demos/demo_train_gym.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/demos/demo_train_pettingzoo.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/demos/demo_train_puffer.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/ensure_mettascope.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/lint/BUILD +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/lint/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/lint/clang_tidy.bzl +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/lint/clang_tidy_wrapper.sh +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/mettagrid.egg-info/dependency_links.txt +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/mettagrid.egg-info/entry_points.txt +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/mettagrid.egg-info/requires.txt +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/mettagrid.egg-info/top_level.txt +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/migrate_to_toplevel.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/AGENTS.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/bindings/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/bindings/bindings.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/cors_http_server.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/arrow.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack1.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack2.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack3.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack4.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack5.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack6.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack7.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack8.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack9.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/attack_nearest.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/converting.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/get_items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/attack.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/change_color.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/get_items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/move.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/noop.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/put_items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/rotate.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/swap.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/icons/unknown.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/put_items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/swap.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/thoughts.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/actions/unknown.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/agent.e.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/agent.n.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/agent.s.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/agent.w.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/footprints.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/frozen.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/future_arrow.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/past_arrow.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/agents/path.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/crosshair.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/dash.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/effects/halo.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/alien.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/angry.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/down.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/happy.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/left.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/love.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/poo.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/right.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/sad.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/skull.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/sparkle.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/emoji/up.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/info.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/meta_grid_icon.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/minimapPip.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/agent.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/altar.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/armory.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/assembler.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/block.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/carbon_ex_dep.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/carbon_extractor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/charger.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/chest.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/chest_carbon.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/chest_germanium.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/chest_oxygen.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/chest_silicon.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/clay_oven.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/converter.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/empty.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/factory.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/floor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/generator.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/generator_blue.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/generator_green.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/generator_red.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/geranium_extractor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/germanium_ex_dep.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/germanium_extractor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/ice_tower.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/ice_vase.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/lab.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/lasery.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/mine.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/mine_blue.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/mine_green.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/mine_red-1.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/mine_red.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/oxygen_ex_dep.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/oxygen_extractor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/palm_tree.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/silicon_ex_dep.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/silicon_extractor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/temple.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/unknown.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.0.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.e.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.fill.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.n.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.ne.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.ns.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.nse.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.nw.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.nwe.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.nws.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.nwse.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.s.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.se.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.w.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.we.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.ws.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wall.wse.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/water_well.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/weaving_loom.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/objects/wheat_field.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/replays/pens.json.z +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/agent_id.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/armor.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery.blue.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery.green.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery.red.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery_blue.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery_green.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/battery_red.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/blue_gem.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/blueprint.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/bread.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/carbon.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/coal.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/coconut.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/copper_ore.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/diamond.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/energy.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/germanium.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/gold_ore.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/green_gem.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/heart.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ice_granade.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/iron_ore.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/laser.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/lizard_hide.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/oil.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore.blue.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore.green.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore.red.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore_blue.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore_green.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/ore_red.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/oxygen.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/palm_fiber.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/red_gem.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/reward.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/salt_water.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/sand.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/silicon.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/sisal.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/snake_skin.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/snow_ball.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/star.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/stone.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/straw_hat.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/turtle_shell.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/unknown.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/water.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/wheat.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/yellow_gem.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/resources/yucca_fiber.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/selection.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/target.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/tile.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/attack.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/attack_nearest.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/change_color.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/frozen.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/get_items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/invalid.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/move.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/move_8way.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/move_cardinal.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/noop.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/put_items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/rotate.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/swap.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/trace/unknown.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/view/grid.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/data/white.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/mettascope.nimble +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/agenttable.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/agenttraces.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/envconfig.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/footer.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/minimap.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/objectinfo.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/panels.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/replays.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/settings.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/shell.html +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/sim.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/timeline.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope/utils.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope.nim +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/nim/mettascope/src/mettascope.nims +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/pyproject.toml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/builder/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/builder/building.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/builder/empty_converters.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/builder/envs.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/core.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/demo.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/envs/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/envs/gym_env.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/envs/gym_wrapper.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/envs/mettagrid_env.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/envs/pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/envs/puffer_base.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/ascii.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/assembler_map_builder.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/maze.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/random.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/map_builder/utils.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/random/float.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/random/int.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/ascii.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/convchain.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/README.md +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dolorous_arrival_somebody's_watching_me.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dolorous_arrival_somebody's_watching_me.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/inline_ascii.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/layout.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/nop.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/random.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/spiral.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/wfc.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/scenes/yaml.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/tools/gen.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/tools/gen_scene.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/tools/view.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/show.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mettagrid_c.pyi +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/mettascope.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/nim/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/profiling/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/profiling/stopwatch.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/profiling/system_monitor.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/py.typed +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/altar.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/atlas.json +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/atlas.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/converter.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/generator.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/items.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/monsters.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/assets/wall.png +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/miniscope/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/renderer/miniscope/buffer.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/test_support/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/test_support/actions.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/test_support/observation_helper.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/test_support/orientation.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/test_support/token_types.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/types.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/debug.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/dict_utils.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/diversity.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/grid_object_formatter.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/replay_writer.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/python/src/mettagrid/util/stats_writer.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/scripts/build_asan.sh +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/scripts/test_leaks.sh +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/setup.cfg +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/test_pointer_init +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/test_pointer_init.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/test_uninitialized.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/test_uninitialized.o +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/BUILD +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/cpplint.sh +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/test_ascii.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/test_map_builder.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/test_maze.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/test_polymorphic_serialization.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/test_random.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/map_builder/test_utils.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/__init__.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/random/test_float.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/random/test_int.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/fixtures/dir1/1.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/fixtures/dir1/2.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/fixtures/test.map +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/fixtures/test.yaml +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_ascii.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_auto.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_bsp.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_convchain.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_inline_ascii.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_make_connected.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_maze.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_mean_distance.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_mirror.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_multi_left_and_right.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_nop.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_radial_maze.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_random.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_random_objects.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_random_scene.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_remove_agents.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_wfc.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/scenes/test_yaml.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/test_mapgen.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/utils/test_pattern.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/mapgen/utils/test_storable_map_io.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/profiling/test_memory_monitor.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/profiling/test_stopwatch.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/profiling/test_system_monitor.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/renderer/test_miniscope.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/run_test.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_action_compatibility.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_actions.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_agent_resource_sharing.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_assembler_partial_usage.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_attack_resource_exception.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_buffer_reuse.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_buffers.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_chest.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_converter.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_diversity.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_env_config_serialization.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_env_map.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_forbidden_imports.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_global_obs_config.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_global_observations.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_grid_object.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_gym_env.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_interactive.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_inventory_regeneration.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_leaks.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_mettagrid.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_mettagrid.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_move.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_new_env_hierarchy.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_observations.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_observations.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_pufferlib_integration.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_resource_loss.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_resource_mod.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_resource_mod_config.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_rewards.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_rotate.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_set_inventory.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_stats_tracker.cpp +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_tags.py +0 -0
- {mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/tests/test_visitation_counts.py +0 -0
|
@@ -260,8 +260,8 @@ MettaGrid::MettaGrid(const GameConfig& game_config, const py::list map, unsigned
|
|
|
260
260
|
if (clipper_cfg.unclipping_recipes.empty()) {
|
|
261
261
|
throw std::runtime_error("Clipper config provided but unclipping_recipes is empty");
|
|
262
262
|
}
|
|
263
|
-
_clipper = std::make_unique<Clipper>(
|
|
264
|
-
|
|
263
|
+
_clipper = std::make_unique<Clipper>(*_grid, clipper_cfg.unclipping_recipes, clipper_cfg.length_scale,
|
|
264
|
+
clipper_cfg.cutoff_distance, clipper_cfg.clip_rate, _rng);
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
267
|
|
|
@@ -515,7 +515,7 @@ void MettaGrid::_step(Actions actions) {
|
|
|
515
515
|
|
|
516
516
|
// Apply global systems
|
|
517
517
|
if (_clipper) {
|
|
518
|
-
_clipper->maybe_clip_new_assembler(
|
|
518
|
+
_clipper->maybe_clip_new_assembler();
|
|
519
519
|
}
|
|
520
520
|
|
|
521
521
|
// Compute observations for next step
|
|
@@ -801,13 +801,16 @@ py::dict MettaGrid::grid_objects(int min_row, int max_row, int min_col, int max_
|
|
|
801
801
|
obj_dict["cooldown_duration"] = assembler->cooldown_duration;
|
|
802
802
|
obj_dict["cooldown_progress"] = assembler->cooldown_progress();
|
|
803
803
|
obj_dict["is_clipped"] = assembler->is_clipped;
|
|
804
|
-
obj_dict["
|
|
804
|
+
obj_dict["is_clip_immune"] = assembler->clip_immune;
|
|
805
805
|
obj_dict["uses_count"] = assembler->uses_count;
|
|
806
806
|
obj_dict["max_uses"] = assembler->max_uses;
|
|
807
807
|
obj_dict["allow_partial_usage"] = assembler->allow_partial_usage;
|
|
808
808
|
obj_dict["exhaustion"] = assembler->exhaustion;
|
|
809
809
|
obj_dict["cooldown_multiplier"] = assembler->cooldown_multiplier;
|
|
810
810
|
|
|
811
|
+
// Add current recipe ID (pattern byte)
|
|
812
|
+
obj_dict["current_recipe_id"] = static_cast<int>(assembler->get_agent_pattern_byte());
|
|
813
|
+
|
|
811
814
|
// Add current recipe information
|
|
812
815
|
const Recipe* current_recipe = assembler->get_current_recipe();
|
|
813
816
|
if (current_recipe) {
|
|
@@ -825,25 +828,25 @@ py::dict MettaGrid::grid_objects(int min_row, int max_row, int min_col, int max_
|
|
|
825
828
|
obj_dict["current_recipe_cooldown"] = current_recipe->cooldown;
|
|
826
829
|
}
|
|
827
830
|
|
|
828
|
-
// Add all recipes information
|
|
831
|
+
// Add all recipes information (only non-null recipes)
|
|
829
832
|
const std::vector<std::shared_ptr<Recipe>>& active_recipes = assembler->is_clipped ? assembler->unclip_recipes : assembler->recipes;
|
|
830
833
|
py::list recipes_list;
|
|
834
|
+
|
|
831
835
|
for (size_t i = 0; i < active_recipes.size(); ++i) {
|
|
832
836
|
if (active_recipes[i]) {
|
|
833
837
|
py::dict recipe_dict;
|
|
834
|
-
recipe_dict["pattern_index"] = static_cast<int>(i);
|
|
835
838
|
|
|
836
839
|
py::dict input_resources_dict;
|
|
837
840
|
for (const auto& [resource, quantity] : active_recipes[i]->input_resources) {
|
|
838
841
|
input_resources_dict[py::int_(resource)] = quantity;
|
|
839
842
|
}
|
|
840
|
-
recipe_dict["
|
|
843
|
+
recipe_dict["inputs"] = input_resources_dict;
|
|
841
844
|
|
|
842
845
|
py::dict output_resources_dict;
|
|
843
846
|
for (const auto& [resource, quantity] : active_recipes[i]->output_resources) {
|
|
844
847
|
output_resources_dict[py::int_(resource)] = quantity;
|
|
845
848
|
}
|
|
846
|
-
recipe_dict["
|
|
849
|
+
recipe_dict["outputs"] = output_resources_dict;
|
|
847
850
|
recipe_dict["cooldown"] = active_recipes[i]->cooldown;
|
|
848
851
|
|
|
849
852
|
recipes_list.append(recipe_dict);
|
|
@@ -111,6 +111,9 @@ public:
|
|
|
111
111
|
// Clip immunity - if true, cannot be clipped
|
|
112
112
|
bool clip_immune;
|
|
113
113
|
|
|
114
|
+
// Start clipped - if true, starts in clipped state
|
|
115
|
+
bool start_clipped;
|
|
116
|
+
|
|
114
117
|
// Current cooldown state
|
|
115
118
|
unsigned int cooldown_end_timestep;
|
|
116
119
|
unsigned int cooldown_duration; // Total duration of current cooldown
|
|
@@ -145,6 +148,7 @@ public:
|
|
|
145
148
|
unclip_recipes(),
|
|
146
149
|
is_clipped(false),
|
|
147
150
|
clip_immune(cfg.clip_immune),
|
|
151
|
+
start_clipped(cfg.start_clipped),
|
|
148
152
|
cooldown_end_timestep(0),
|
|
149
153
|
cooldown_duration(0),
|
|
150
154
|
uses_count(0),
|
{mettagrid-0.2.0.21 → mettagrid-0.2.0.22}/cpp/include/mettagrid/objects/assembler_config.hpp
RENAMED
|
@@ -22,7 +22,8 @@ struct AssemblerConfig : public GridObjectConfig {
|
|
|
22
22
|
allow_partial_usage(false),
|
|
23
23
|
max_uses(0), // 0 means unlimited uses
|
|
24
24
|
exhaustion(0.0f), // 0 means no exhaustion
|
|
25
|
-
clip_immune(false)
|
|
25
|
+
clip_immune(false), // Not immune by default
|
|
26
|
+
start_clipped(false) {} // Not clipped at start by default
|
|
26
27
|
|
|
27
28
|
// Recipes will be set separately via initialize_recipes()
|
|
28
29
|
std::vector<std::shared_ptr<Recipe>> recipes;
|
|
@@ -42,6 +43,9 @@ struct AssemblerConfig : public GridObjectConfig {
|
|
|
42
43
|
|
|
43
44
|
// Clip immunity - if true, this assembler cannot be clipped
|
|
44
45
|
bool clip_immune;
|
|
46
|
+
|
|
47
|
+
// Start clipped - if true, this assembler starts in a clipped state
|
|
48
|
+
bool start_clipped;
|
|
45
49
|
};
|
|
46
50
|
|
|
47
51
|
namespace py = pybind11;
|
|
@@ -60,7 +64,8 @@ inline void bind_assembler_config(py::module& m) {
|
|
|
60
64
|
.def_readwrite("allow_partial_usage", &AssemblerConfig::allow_partial_usage)
|
|
61
65
|
.def_readwrite("max_uses", &AssemblerConfig::max_uses)
|
|
62
66
|
.def_readwrite("exhaustion", &AssemblerConfig::exhaustion)
|
|
63
|
-
.def_readwrite("clip_immune", &AssemblerConfig::clip_immune)
|
|
67
|
+
.def_readwrite("clip_immune", &AssemblerConfig::clip_immune)
|
|
68
|
+
.def_readwrite("start_clipped", &AssemblerConfig::start_clipped);
|
|
64
69
|
}
|
|
65
70
|
|
|
66
71
|
#endif // PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_OBJECTS_ASSEMBLER_CONFIG_HPP_
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#include <cmath>
|
|
5
5
|
#include <memory>
|
|
6
|
+
#include <numbers>
|
|
6
7
|
#include <random>
|
|
7
8
|
#include <vector>
|
|
8
9
|
|
|
@@ -18,23 +19,61 @@ public:
|
|
|
18
19
|
float cutoff_distance;
|
|
19
20
|
Grid& grid;
|
|
20
21
|
float clip_rate;
|
|
22
|
+
std::mt19937 rng;
|
|
21
23
|
|
|
22
|
-
Clipper(Grid& grid, std::vector<std::shared_ptr<Recipe>> recipe_ptrs, float length_scale, float cutoff_distance, float clip_rate)
|
|
24
|
+
Clipper(Grid& grid, std::vector<std::shared_ptr<Recipe>> recipe_ptrs, float length_scale, float cutoff_distance, float clip_rate, std::mt19937 rng_init)
|
|
23
25
|
: unclipping_recipes(std::move(recipe_ptrs)),
|
|
24
26
|
length_scale(length_scale),
|
|
25
27
|
cutoff_distance(cutoff_distance),
|
|
26
28
|
grid(grid),
|
|
27
|
-
clip_rate(clip_rate)
|
|
29
|
+
clip_rate(clip_rate),
|
|
30
|
+
rng(std::move(rng_init)) {
|
|
28
31
|
for (size_t obj_id = 1; obj_id < grid.objects.size(); obj_id++) {
|
|
29
32
|
auto* obj = grid.object(static_cast<GridObjectId>(obj_id));
|
|
30
33
|
if (!obj) continue;
|
|
31
34
|
if (auto* assembler = dynamic_cast<Assembler*>(obj)) {
|
|
32
35
|
// Skip clip-immune assemblers
|
|
33
36
|
if (assembler->clip_immune) continue;
|
|
37
|
+
|
|
34
38
|
assembler_infection_weight[assembler] = 0.0f;
|
|
35
|
-
|
|
39
|
+
|
|
40
|
+
// Check if this assembler should start clipped
|
|
41
|
+
if (assembler->start_clipped) {
|
|
42
|
+
// Clip it immediately without adding to unclipped set
|
|
43
|
+
clip_assembler(*assembler);
|
|
44
|
+
} else {
|
|
45
|
+
// Add to unclipped assemblers set
|
|
46
|
+
unclipped_assemblers.insert(assembler);
|
|
47
|
+
}
|
|
36
48
|
}
|
|
37
49
|
}
|
|
50
|
+
|
|
51
|
+
// Auto-calculate length_scale based on percolation theory if length_scale <= 0
|
|
52
|
+
if (length_scale <= 0.0f && !assembler_infection_weight.empty()) {
|
|
53
|
+
// Get grid dimensions
|
|
54
|
+
GridCoord grid_width = grid.width;
|
|
55
|
+
GridCoord grid_height = grid.height;
|
|
56
|
+
float grid_size = static_cast<float>(std::max(grid_width, grid_height));
|
|
57
|
+
|
|
58
|
+
// Calculate percolation-based length scale
|
|
59
|
+
// The constant 4.51 is the critical percolation density λ_c for 2D continuum percolation,
|
|
60
|
+
// empirically determined through Monte Carlo simulations (not analytically derivable).
|
|
61
|
+
// Reference:
|
|
62
|
+
// https://en.wikipedia.org/wiki/Percolation_threshold#Thresholds_for_2D_continuum_models
|
|
63
|
+
// Note: Wikipedia provides a value of ~1.127 when defined in terms of radius,
|
|
64
|
+
// We use diameter basis which becomes 4.51
|
|
65
|
+
|
|
66
|
+
constexpr float PERCOLATION_CONSTANT = 4.51f;
|
|
67
|
+
this->length_scale =
|
|
68
|
+
(grid_size / std::sqrt(static_cast<float>(assembler_infection_weight.size()))) * std::sqrt(PERCOLATION_CONSTANT / (4.0f * std::numbers::pi_v<float>));
|
|
69
|
+
}
|
|
70
|
+
// else: use the provided positive length_scale value as-is
|
|
71
|
+
|
|
72
|
+
// Auto-calculate cutoff_distance if not provided (cutoff_distance <= 0)
|
|
73
|
+
// At 3*length_scale, exp(-3) ≈ 0.05, so weights beyond this are negligible
|
|
74
|
+
if (cutoff_distance <= 0.0f) {
|
|
75
|
+
this->cutoff_distance = 3.0f * this->length_scale;
|
|
76
|
+
}
|
|
38
77
|
}
|
|
39
78
|
|
|
40
79
|
float infection_weight(Assembler& from, Assembler& to) const {
|
|
@@ -50,7 +89,7 @@ public:
|
|
|
50
89
|
return std::sqrt(std::pow(location_a.r - location_b.r, 2) + std::pow(location_a.c - location_b.c, 2));
|
|
51
90
|
}
|
|
52
91
|
|
|
53
|
-
void clip_assembler(Assembler& to_infect
|
|
92
|
+
void clip_assembler(Assembler& to_infect) {
|
|
54
93
|
for (auto& [other, weight] : assembler_infection_weight) {
|
|
55
94
|
if (other == &to_infect) continue;
|
|
56
95
|
weight += infection_weight(to_infect, *other);
|
|
@@ -76,7 +115,7 @@ public:
|
|
|
76
115
|
unclipped_assemblers.insert(&to_unclip);
|
|
77
116
|
}
|
|
78
117
|
|
|
79
|
-
Assembler* pick_assembler_to_clip(
|
|
118
|
+
Assembler* pick_assembler_to_clip() {
|
|
80
119
|
float total_weight = 0.0f;
|
|
81
120
|
for (auto& candidate_assembler : unclipped_assemblers) {
|
|
82
121
|
total_weight += assembler_infection_weight.at(candidate_assembler);
|
|
@@ -91,7 +130,7 @@ public:
|
|
|
91
130
|
return nullptr;
|
|
92
131
|
}
|
|
93
132
|
|
|
94
|
-
Assembler* pick_initial_assembler_to_clip(
|
|
133
|
+
Assembler* pick_initial_assembler_to_clip() {
|
|
95
134
|
// Pick an assembler uniformly at random.
|
|
96
135
|
float total_weight = unclipped_assemblers.size();
|
|
97
136
|
float random_weight = std::generate_canonical<float, 10>(rng) * total_weight;
|
|
@@ -106,10 +145,10 @@ public:
|
|
|
106
145
|
return nullptr;
|
|
107
146
|
}
|
|
108
147
|
|
|
109
|
-
void maybe_clip_new_assembler(
|
|
148
|
+
void maybe_clip_new_assembler() {
|
|
110
149
|
if (std::generate_canonical<float, 10>(rng) < clip_rate) {
|
|
111
|
-
Assembler* assembler = pick_assembler_to_clip(
|
|
112
|
-
if (assembler) clip_assembler(*assembler
|
|
150
|
+
Assembler* assembler = pick_assembler_to_clip();
|
|
151
|
+
if (assembler) clip_assembler(*assembler);
|
|
113
152
|
}
|
|
114
153
|
}
|
|
115
154
|
};
|
|
@@ -366,6 +366,7 @@ nim/mettascope/src/mettascope/utils.nim
|
|
|
366
366
|
nim/mettascope/src/mettascope/worldmap.nim
|
|
367
367
|
python/README.md
|
|
368
368
|
python/src/mettagrid/__init__.py
|
|
369
|
+
python/src/mettagrid/base_config.py
|
|
369
370
|
python/src/mettagrid/core.py
|
|
370
371
|
python/src/mettagrid/demo.py
|
|
371
372
|
python/src/mettagrid/mettagrid_c.pyi
|
|
@@ -377,7 +378,6 @@ python/src/mettagrid/builder/building.py
|
|
|
377
378
|
python/src/mettagrid/builder/empty_converters.py
|
|
378
379
|
python/src/mettagrid/builder/envs.py
|
|
379
380
|
python/src/mettagrid/config/__init__.py
|
|
380
|
-
python/src/mettagrid/config/config.py
|
|
381
381
|
python/src/mettagrid/config/mettagrid_c_config.py
|
|
382
382
|
python/src/mettagrid/config/mettagrid_config.py
|
|
383
383
|
python/src/mettagrid/envs/__init__.py
|
|
@@ -395,6 +395,7 @@ python/src/mettagrid/map_builder/perimeter_incontext.py
|
|
|
395
395
|
python/src/mettagrid/map_builder/random.py
|
|
396
396
|
python/src/mettagrid/map_builder/utils.py
|
|
397
397
|
python/src/mettagrid/mapgen/__init__.py
|
|
398
|
+
python/src/mettagrid/mapgen/area.py
|
|
398
399
|
python/src/mettagrid/mapgen/load.py
|
|
399
400
|
python/src/mettagrid/mapgen/mapgen.py
|
|
400
401
|
python/src/mettagrid/mapgen/mapgen_ascii.py
|
|
@@ -751,6 +752,7 @@ python/src/mettagrid/renderer/assets/puffer_chars.png
|
|
|
751
752
|
python/src/mettagrid/renderer/assets/wall.png
|
|
752
753
|
python/src/mettagrid/renderer/miniscope/__init__.py
|
|
753
754
|
python/src/mettagrid/renderer/miniscope/buffer.py
|
|
755
|
+
python/src/mettagrid/renderer/miniscope/help.py
|
|
754
756
|
python/src/mettagrid/renderer/miniscope/info_panels.py
|
|
755
757
|
python/src/mettagrid/renderer/miniscope/interactive.py
|
|
756
758
|
python/src/mettagrid/renderer/miniscope/renderer.py
|
|
@@ -823,6 +825,7 @@ tests/map_builder/test_utils.py
|
|
|
823
825
|
tests/mapgen/__init__.py
|
|
824
826
|
tests/mapgen/test_mapgen.py
|
|
825
827
|
tests/mapgen/test_scene.py
|
|
828
|
+
tests/mapgen/test_transform.py
|
|
826
829
|
tests/mapgen/test_validate_all_ascii_maps.py
|
|
827
830
|
tests/mapgen/random/test_float.py
|
|
828
831
|
tests/mapgen/random/test_int.py
|
|
@@ -50,31 +50,42 @@ proc processActions*() =
|
|
|
50
50
|
|
|
51
51
|
if agentDestinations.hasKey(agentId) and agentDestinations[agentId].len > 0:
|
|
52
52
|
let dest = agentDestinations[agentId][0]
|
|
53
|
-
|
|
54
|
-
#
|
|
55
|
-
if dest.destinationType ==
|
|
56
|
-
# TODO: Chests have special behavior.
|
|
57
|
-
# You must deposit on the right side and take out on the left side.
|
|
58
|
-
# This is not implemented yet.
|
|
59
|
-
let dx = dest.pos.x - currentPos.x
|
|
60
|
-
let dy = dest.pos.y - currentPos.y
|
|
61
|
-
let targetOrientation = getOrientationFromDelta(dx.int, dy.int)
|
|
62
|
-
sendAction(agentId, replay.moveActionId, targetOrientation.int)
|
|
63
|
-
# after bumping, the current destination is fulfilled.
|
|
53
|
+
|
|
54
|
+
# Check if we've reached a Move destination and remove it.
|
|
55
|
+
if dest.destinationType == Move and dest.pos == currentPos:
|
|
64
56
|
agentDestinations[agentId].delete(0)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
if agentDestinations[agentId].len == 0:
|
|
58
|
+
agentPaths.del(agentId)
|
|
59
|
+
continue
|
|
60
|
+
else:
|
|
68
61
|
recomputePath(agentId, currentPos)
|
|
69
|
-
|
|
62
|
+
|
|
63
|
+
# If this is a Bump destination and we are at the approach position, bump it once.
|
|
64
|
+
if dest.destinationType == Bump:
|
|
65
|
+
let approachPos = ivec2(dest.pos.x + dest.approachDir.x, dest.pos.y + dest.approachDir.y)
|
|
66
|
+
if currentPos == approachPos:
|
|
67
|
+
# TODO: Chests have special behavior.
|
|
68
|
+
# You must deposit on the right side and take out on the left side.
|
|
69
|
+
# This is not implemented yet.
|
|
70
|
+
let dx = dest.pos.x - currentPos.x
|
|
71
|
+
let dy = dest.pos.y - currentPos.y
|
|
72
|
+
let targetOrientation = getOrientationFromDelta(dx.int, dy.int)
|
|
73
|
+
sendAction(agentId, replay.moveActionId, targetOrientation.int)
|
|
74
|
+
# After bumping, the current destination is fulfilled.
|
|
75
|
+
agentDestinations[agentId].delete(0)
|
|
76
|
+
agentPaths.del(agentId)
|
|
77
|
+
# If there's another destination, pathfind to it.
|
|
78
|
+
if agentDestinations[agentId].len > 0:
|
|
79
|
+
recomputePath(agentId, currentPos)
|
|
80
|
+
continue
|
|
70
81
|
|
|
71
82
|
if not agentPaths.hasKey(agentId):
|
|
72
83
|
continue
|
|
73
84
|
let path = agentPaths[agentId]
|
|
74
85
|
|
|
75
|
-
if path.len >
|
|
86
|
+
if path.len > 0:
|
|
76
87
|
# If we are still on the expected path, continue moving.
|
|
77
|
-
#
|
|
88
|
+
# Otherwise, assume something is blocking the path and recompute.
|
|
78
89
|
if path[0] == currentPos:
|
|
79
90
|
if path.len > 1:
|
|
80
91
|
let nextPos = path[1]
|
|
@@ -105,6 +105,7 @@ type
|
|
|
105
105
|
Destination* = object
|
|
106
106
|
pos*: IVec2
|
|
107
107
|
destinationType*: DestinationType
|
|
108
|
+
approachDir*: IVec2 ## Direction to approach from for Bump actions (e.g., ivec2(-1, 0) means approach from the left).
|
|
108
109
|
|
|
109
110
|
var
|
|
110
111
|
requestActions*: seq[ActionRequest]
|
|
@@ -94,52 +94,55 @@ proc clearPath*(agentId: int) =
|
|
|
94
94
|
agentPaths.del(agentId)
|
|
95
95
|
agentDestinations.del(agentId)
|
|
96
96
|
|
|
97
|
-
proc findAdjacentWalkable*(target: IVec2): seq[IVec2] =
|
|
98
|
-
## Find walkable positions adjacent to the target position.
|
|
99
|
-
## mainly used to path to an object before bumping it.
|
|
100
|
-
const directions = [ivec2(0, -1), ivec2(0, 1), ivec2(-1, 0), ivec2(1, 0)]
|
|
101
|
-
var adjacent: seq[IVec2] = @[]
|
|
102
|
-
for dir in directions:
|
|
103
|
-
let pos = ivec2(target.x + dir.x, target.y + dir.y)
|
|
104
|
-
if isWalkablePos(pos):
|
|
105
|
-
adjacent.add(pos)
|
|
106
|
-
return adjacent
|
|
107
97
|
|
|
108
98
|
proc recomputePath*(agentId: int, currentPos: IVec2) =
|
|
109
|
-
## Recompute the path for an agent
|
|
99
|
+
## Recompute the path for an agent through all their queued destinations.
|
|
110
100
|
if not agentDestinations.hasKey(agentId) or agentDestinations[agentId].len == 0:
|
|
101
|
+
agentPaths.del(agentId)
|
|
111
102
|
return
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
103
|
+
|
|
104
|
+
# Compute path through all destinations.
|
|
105
|
+
var fullPath: seq[IVec2] = @[]
|
|
106
|
+
var lastPos = currentPos
|
|
107
|
+
|
|
108
|
+
for i, dest in agentDestinations[agentId]:
|
|
109
|
+
var segmentPath: seq[IVec2] = @[]
|
|
110
|
+
|
|
111
|
+
case dest.destinationType
|
|
112
|
+
of Move:
|
|
113
|
+
# For moving, path directly to the destination.
|
|
114
|
+
segmentPath = findPath(lastPos, dest.pos)
|
|
115
|
+
lastPos = dest.pos
|
|
116
|
+
of Bump:
|
|
117
|
+
# For bumping, path to the specified approach position.
|
|
118
|
+
let approachPos = ivec2(dest.pos.x + dest.approachDir.x, dest.pos.y + dest.approachDir.y)
|
|
119
|
+
if not isWalkablePos(approachPos):
|
|
120
|
+
# Approach position is not walkable, clear path.
|
|
121
|
+
clearPath(agentId)
|
|
122
|
+
return
|
|
123
|
+
if lastPos == approachPos:
|
|
124
|
+
# Already at the approach position, use current position.
|
|
125
|
+
segmentPath = @[lastPos]
|
|
126
|
+
else:
|
|
127
|
+
# Path to the approach position.
|
|
128
|
+
segmentPath = findPath(lastPos, approachPos)
|
|
129
|
+
lastPos = approachPos
|
|
130
|
+
|
|
131
|
+
if segmentPath.len == 0:
|
|
131
132
|
clearPath(agentId)
|
|
132
133
|
return
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
var bestPath: seq[IVec2] = @[]
|
|
137
|
-
for adjacent in adjacentTiles:
|
|
138
|
-
let path = findPath(currentPos, adjacent)
|
|
139
|
-
if path.len > 0 and (bestPath.len == 0 or path.len < bestPath.len):
|
|
140
|
-
bestPath = path
|
|
141
|
-
if bestPath.len > 0:
|
|
142
|
-
agentPaths[agentId] = bestPath
|
|
134
|
+
|
|
135
|
+
if i == 0:
|
|
136
|
+
fullPath = segmentPath
|
|
143
137
|
else:
|
|
144
|
-
|
|
138
|
+
if segmentPath.len > 1:
|
|
139
|
+
for j in 1 ..< segmentPath.len:
|
|
140
|
+
fullPath.add(segmentPath[j])
|
|
141
|
+
elif segmentPath.len == 1 and segmentPath[0] != fullPath[fullPath.len - 1]:
|
|
142
|
+
fullPath.add(segmentPath[0])
|
|
143
|
+
|
|
144
|
+
if fullPath.len > 0:
|
|
145
|
+
agentPaths[agentId] = fullPath
|
|
146
|
+
else:
|
|
147
|
+
clearPath(agentId)
|
|
145
148
|
|
|
@@ -27,6 +27,8 @@ proc useSelections*(panel: Panel) =
|
|
|
27
27
|
else:
|
|
28
28
|
window.buttonDown[KeyLeftControl] or window.buttonDown[KeyRightControl]
|
|
29
29
|
|
|
30
|
+
let shiftDown = window.buttonDown[KeyLeftShift] or window.buttonDown[KeyRightShift]
|
|
31
|
+
|
|
30
32
|
# Track mouse down position to distinguish clicks from drags.
|
|
31
33
|
if window.buttonPressed[MouseLeft] and not modifierDown:
|
|
32
34
|
mouseDownPos = window.mousePos.vec2
|
|
@@ -54,22 +56,55 @@ proc useSelections*(panel: Panel) =
|
|
|
54
56
|
if gridPos.x >= 0 and gridPos.x < replay.mapSize[0] and
|
|
55
57
|
gridPos.y >= 0 and gridPos.y < replay.mapSize[1]:
|
|
56
58
|
let startPos = selection.location.at(step).xy
|
|
59
|
+
|
|
60
|
+
# Determine if this is a Bump or Move destination.
|
|
57
61
|
let targetObj = getObjectAtLocation(gridPos)
|
|
62
|
+
var destType = Move
|
|
63
|
+
var approachDir = ivec2(0, 0)
|
|
58
64
|
if targetObj != nil:
|
|
59
65
|
let typeName = replay.typeNames[targetObj.typeId]
|
|
60
66
|
if typeName != "agent" and typeName != "wall":
|
|
61
|
-
|
|
67
|
+
destType = Bump
|
|
68
|
+
# Calculate which quadrant of the tile was clicked.
|
|
69
|
+
# The tile center is at gridPos, and mousePos has fractional parts.
|
|
70
|
+
let
|
|
71
|
+
tileCenterX = gridPos.x.float32
|
|
72
|
+
tileCenterY = gridPos.y.float32
|
|
73
|
+
offsetX = mousePos.x - tileCenterX
|
|
74
|
+
offsetY = mousePos.y - tileCenterY
|
|
75
|
+
# Divide the tile into 4 quadrants at 45-degree angles (diamond shape).
|
|
76
|
+
# If the click is more horizontal than vertical, use left/right approach.
|
|
77
|
+
# If the click is more vertical than horizontal, use top/bottom approach.
|
|
78
|
+
if abs(offsetX) > abs(offsetY):
|
|
79
|
+
# Left or right quadrant.
|
|
80
|
+
if offsetX > 0:
|
|
81
|
+
approachDir = ivec2(1, 0) # Clicked right, approach from right.
|
|
82
|
+
else:
|
|
83
|
+
approachDir = ivec2(-1, 0) # Clicked left, approach from left.
|
|
84
|
+
else:
|
|
85
|
+
# Top or bottom quadrant.
|
|
86
|
+
if offsetY > 0:
|
|
87
|
+
approachDir = ivec2(0, 1) # Clicked bottom, approach from bottom.
|
|
88
|
+
else:
|
|
89
|
+
approachDir = ivec2(0, -1) # Clicked top, approach from top.
|
|
90
|
+
|
|
91
|
+
let destination = Destination(pos: gridPos, destinationType: destType, approachDir: approachDir)
|
|
92
|
+
|
|
93
|
+
if shiftDown:
|
|
94
|
+
# Queue up additional destinations.
|
|
95
|
+
if not agentDestinations.hasKey(selection.agentId) or agentDestinations[selection.agentId].len == 0:
|
|
96
|
+
# No existing destinations, start fresh.
|
|
97
|
+
agentDestinations[selection.agentId] = @[destination]
|
|
62
98
|
recomputePath(selection.agentId, startPos)
|
|
63
99
|
else:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
100
|
+
# Append to existing destinations.
|
|
101
|
+
agentDestinations[selection.agentId].add(destination)
|
|
102
|
+
# Recompute path to include all destinations.
|
|
103
|
+
recomputePath(selection.agentId, startPos)
|
|
68
104
|
else:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
agentDestinations[selection.agentId] = @[Destination(pos: gridPos, destinationType: Move)]
|
|
105
|
+
# Replace the entire destination queue.
|
|
106
|
+
agentDestinations[selection.agentId] = @[destination]
|
|
107
|
+
recomputePath(selection.agentId, startPos)
|
|
73
108
|
|
|
74
109
|
proc drawFloor*() =
|
|
75
110
|
# Draw the floor tiles.
|
|
@@ -389,15 +424,41 @@ proc drawPlannedPath*() =
|
|
|
389
424
|
scale = 1/200,
|
|
390
425
|
tint = color(1, 1, 1, alpha)
|
|
391
426
|
)
|
|
427
|
+
|
|
428
|
+
# Draw final queued destination.
|
|
429
|
+
if agentDestinations.hasKey(agentId):
|
|
430
|
+
let destinations = agentDestinations[agentId]
|
|
431
|
+
if destinations.len > 0:
|
|
432
|
+
let dest = destinations[^1]
|
|
433
|
+
bxy.drawImage(
|
|
434
|
+
"selection",
|
|
435
|
+
dest.pos.vec2,
|
|
436
|
+
angle = 0,
|
|
437
|
+
scale = 1.0 / 200.0,
|
|
438
|
+
tint = color(1, 1, 1, 0.5)
|
|
439
|
+
)
|
|
392
440
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
441
|
+
# Draw approach arrows for bump destinations.
|
|
442
|
+
for dest in destinations:
|
|
443
|
+
if dest.destinationType == Bump and (dest.approachDir.x != 0 or dest.approachDir.y != 0):
|
|
444
|
+
let approachPos = ivec2(dest.pos.x + dest.approachDir.x, dest.pos.y + dest.approachDir.y)
|
|
445
|
+
let offset = vec2(-dest.approachDir.x.float32 * 0.35, -dest.approachDir.y.float32 * 0.35)
|
|
446
|
+
var rotation: float32 = 0
|
|
447
|
+
if dest.approachDir.x > 0:
|
|
448
|
+
rotation = Pi / 2
|
|
449
|
+
elif dest.approachDir.x < 0:
|
|
450
|
+
rotation = -Pi / 2
|
|
451
|
+
elif dest.approachDir.y > 0:
|
|
452
|
+
rotation = 0
|
|
453
|
+
elif dest.approachDir.y < 0:
|
|
454
|
+
rotation = Pi
|
|
455
|
+
bxy.drawImage(
|
|
456
|
+
"actions/arrow",
|
|
457
|
+
approachPos.vec2 + offset,
|
|
458
|
+
angle = rotation,
|
|
459
|
+
scale = 1/200,
|
|
460
|
+
tint = color(1, 1, 1, 0.7)
|
|
461
|
+
)
|
|
401
462
|
|
|
402
463
|
proc drawSelection*() =
|
|
403
464
|
# Draw selection.
|
|
@@ -5,6 +5,7 @@ from typing import Any, NoReturn, Self, Union, get_args, get_origin
|
|
|
5
5
|
from pydantic import BaseModel, ConfigDict, TypeAdapter
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
# Please don't move this class to mettagrid.config, it creates circular imports.
|
|
8
9
|
class Config(BaseModel):
|
|
9
10
|
"""
|
|
10
11
|
Common extension of Pydantic's BaseModel that:
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from .config import Config
|
|
2
1
|
from .mettagrid_c_config import from_mettagrid_config
|
|
3
2
|
from .mettagrid_config import (
|
|
4
3
|
ActionConfig,
|
|
@@ -24,7 +23,6 @@ __all__ = [
|
|
|
24
23
|
"AssemblerConfig",
|
|
25
24
|
"AttackActionConfig",
|
|
26
25
|
"ChangeGlyphActionConfig",
|
|
27
|
-
"Config",
|
|
28
26
|
"ConverterConfig",
|
|
29
27
|
"from_mettagrid_config",
|
|
30
28
|
"GameConfig",
|
|
@@ -319,6 +319,7 @@ def convert_to_cpp_game_config(mettagrid_config: dict | GameConfig):
|
|
|
319
319
|
cpp_assembler_config.max_uses = object_config.max_uses
|
|
320
320
|
cpp_assembler_config.exhaustion = object_config.exhaustion
|
|
321
321
|
cpp_assembler_config.clip_immune = object_config.clip_immune
|
|
322
|
+
cpp_assembler_config.start_clipped = object_config.start_clipped
|
|
322
323
|
objects_cpp_params[object_type] = cpp_assembler_config
|
|
323
324
|
elif isinstance(object_config, ChestConfig):
|
|
324
325
|
# Convert resource type name to ID
|