mettagrid 0.2.0.19__tar.gz → 0.2.0.20__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.19 → mettagrid-0.2.0.20}/MODULE.bazel +8 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/PKG-INFO +1 -1
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/bindings/mettagrid_c.cpp +6 -1
- mettagrid-0.2.0.20/cpp/include/mettagrid/actions/resource_mod.hpp +194 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/grid_object.hpp +2 -1
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/PKG-INFO +1 -1
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/SOURCES.txt +7 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/assembler.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/charger.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/chest.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_carbon.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_germanium.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_oxygen.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_silicon.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/resources/heart.png +0 -0
- mettagrid-0.2.0.20/nim/mettascope/data/resources/oxygen.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/mettagrid_c_config.py +18 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/mettagrid_config.py +10 -1
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mettagrid_c.pyi +15 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mettascope.py +4 -2
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_mettagrid.cpp +157 -2
- mettagrid-0.2.0.20/tests/test_resource_mod.py +680 -0
- mettagrid-0.2.0.20/tests/test_resource_mod_config.py +127 -0
- mettagrid-0.2.0.19/nim/mettascope/data/objects/assembler.png +0 -0
- mettagrid-0.2.0.19/nim/mettascope/data/objects/charger.png +0 -0
- mettagrid-0.2.0.19/nim/mettascope/data/objects/chest.png +0 -0
- mettagrid-0.2.0.19/nim/mettascope/data/resources/heart.png +0 -0
- mettagrid-0.2.0.19/nim/mettascope/data/resources/oxygen.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.bazelrc +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.clang-format +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.clang-tidy +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.gitignore +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/BUILD.bazel +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/CPPLINT.cfg +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/LICENSE +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/MANIFEST.in +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/Makefile +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/bazel_build.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/benchmarks/BUILD +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/benchmarks/test_mettagrid_env_benchmark.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/benchmarks/test_mettagrid_env_benchmark.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/boxout.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/choose_wisely.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/corners.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/corridors.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/cylinder.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/cylinder_easy.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/easy_memory.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/emptyspace_outofsight.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/hall_of_mirrors.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/hard_memory.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/honeypot.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/journey_home.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/knotty.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/labyrinth.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/little_landmark_easy.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/little_landmark_hard.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/lobster_legs.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/lobster_legs_cues.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/medium_memory.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory3.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory_palace.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory_swirls.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory_swirls_hard.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles0.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles1.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles2.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles3.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/passing_things.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_large.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_maze.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_mini.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_small.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/rooms.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/spacey_memory.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/spiral_chamber.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/swirls.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/tease.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/tease_small.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/thecube.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/venture_out.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/walkaround.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/walls_outofsight.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/walls_withinsight.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/wanderout.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/which_way.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/you_shall_not_pass.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/object_use/shoot_out.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/object_use/swap_in.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/object_use/swap_out.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/BUILD.bazel +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/bindings/mettagrid_c.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/action_handler.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/attack.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/change_color.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/change_glyph.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/get_output.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/move.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/noop.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/orientation.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/rotate.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/swap.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/event.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/grid.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/hash.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/types.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/agent.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/agent_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/assembler.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/assembler_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/chest.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/chest_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/constants.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/converter.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/converter_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/has_inventory.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/inventory.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/inventory_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/production_handler.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/recipe.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/usable.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/wall.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/renderer/hermes.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/clipper.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/clipper_config.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demo.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/demo_train_gym.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/demo_train_pettingzoo.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/demo_train_puffer.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/ensure_mettascope.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/BUILD +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/clang_tidy.bzl +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/clang_tidy_wrapper.sh +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/dependency_links.txt +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/entry_points.txt +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/requires.txt +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/top_level.txt +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/migrate_to_toplevel.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/AGENTS.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/bindings/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/bindings/bindings.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/cors_http_server.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/arrow.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack1.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack2.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack3.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack4.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack5.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack6.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack7.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack8.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack9.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack_nearest.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/converting.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/get_items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/attack.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/change_color.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/get_items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/move.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/noop.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/put_items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/rotate.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/swap.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/unknown.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/put_items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/swap.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/thoughts.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/unknown.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.e.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.n.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.s.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.w.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/footprints.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/frozen.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/future_arrow.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/past_arrow.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/path.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/crosshair.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/dash.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/effects/halo.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/alien.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/angry.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/down.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/happy.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/left.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/love.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/poo.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/right.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/sad.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/skull.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/sparkle.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/up.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/info.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/meta_grid_icon.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/minimapPip.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/agent.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/altar.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/armory.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/block.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/carbon_ex_dep.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/carbon_extractor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/clay_oven.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/converter.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/empty.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/factory.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/floor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator_blue.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator_green.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator_red.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/geranium_extractor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/germanium_ex_dep.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/germanium_extractor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/ice_tower.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/ice_vase.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/lab.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/lasery.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_blue.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_green.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_red-1.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_red.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/oxygen_ex_dep.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/oxygen_extractor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/palm_tree.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/silicon_ex_dep.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/silicon_extractor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/temple.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/unknown.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.0.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.e.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.fill.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.n.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.ne.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.ns.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nse.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nw.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nwe.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nws.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nwse.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.s.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.se.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.w.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.we.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.ws.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.wse.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/water_well.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/weaving_loom.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wheat_field.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/replays/pens.json.z +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/agent_id.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/armor.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.blue.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.green.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.red.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery_blue.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery_green.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery_red.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/blue_gem.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/blueprint.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/bread.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/carbon.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/coal.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/coconut.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/copper_ore.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/diamond.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/energy.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/germanium.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/gold_ore.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/green_gem.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ice_granade.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/iron_ore.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/laser.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/lizard_hide.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/oil.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.blue.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.green.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.red.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore_blue.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore_green.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore_red.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/palm_fiber.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/red_gem.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/reward.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/salt_water.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/sand.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/silicon.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/sisal.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/snake_skin.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/snow_ball.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/star.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/stone.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/straw_hat.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/turtle_shell.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/unknown.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/water.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/wheat.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/yellow_gem.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/yucca_fiber.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/selection.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/target.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/tile.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/attack.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/attack_nearest.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/change_color.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/frozen.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/get_items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/invalid.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/move.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/move_8way.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/move_cardinal.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/noop.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/put_items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/rotate.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/swap.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/unknown.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/view/grid.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/white.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/mettascope.nimble +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/actions.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/agenttable.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/agenttraces.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/common.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/envconfig.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/footer.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/minimap.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/objectinfo.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/panels.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/pathfinding.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/replays.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/settings.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/shell.html +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/sim.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/timeline.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/utils.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/worldmap.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope.nim +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope.nims +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/pyproject.toml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/building.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/empty_converters.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/envs.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/config.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/core.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/demo.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/gym_env.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/gym_wrapper.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/mettagrid_env.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/puffer_base.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/assembler_map_builder.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/map_builder.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/maze.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/random.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/utils.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/load.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/mapgen.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/mapgen_ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/random/float.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/random/int.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/auto.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/bsp.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/convchain.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/copy_grid.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/README.md +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dolorous_arrival_somebody's_watching_me.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dolorous_arrival_somebody's_watching_me.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/inline_ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/layout.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/maze.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/mirror.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/nop.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/spiral.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/transplant_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/wfc.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/yaml.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/gen.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/gen_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/view.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/types.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/ascii_grid.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/show.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/storable_map.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/nim/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/stopwatch.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/system_monitor.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/py.typed +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/altar.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/atlas.json +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/atlas.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/converter.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/generator.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/items.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/monsters.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/wall.png +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/buffer.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/info_panels.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/interactive.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/renderer.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/actions.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/mapgen.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/observation_helper.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/orientation.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/token_types.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/types.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/debug.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/dict_utils.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/diversity.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/grid_object_formatter.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/module.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/replay_writer.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/stats_writer.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/scripts/build_asan.sh +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/scripts/test_leaks.sh +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/setup.cfg +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_pointer_init +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_pointer_init.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_uninitialized.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_uninitialized.o +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/BUILD +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/cpplint.sh +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_map_builder.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_maze.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_polymorphic_serialization.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_random.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_utils.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/__init__.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/random/test_float.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/random/test_int.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/dir1/1.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/dir1/2.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/test.map +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/test.yaml +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_auto.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_bsp.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_convchain.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_inline_ascii.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_layout.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_make_connected.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_maze.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_mean_distance.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_mirror.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_multi_left_and_right.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_nop.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_radial_maze.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_objects.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_remove_agents.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_room_grid.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_wfc.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_yaml.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/test_mapgen.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/test_scene.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/test_validate_all_ascii_maps.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/utils/test_pattern.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/utils/test_storable_map_io.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/profiling/test_memory_monitor.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/profiling/test_stopwatch.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/profiling/test_system_monitor.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/renderer/test_miniscope.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/run_test.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_action_compatibility.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_actions.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_agent_resource_sharing.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_assembler_partial_usage.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_attack_resource_exception.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_buffer_reuse.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_buffers.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_chest.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_clipper.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_converter.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_diversity.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_env_config_serialization.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_env_map.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_forbidden_imports.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_global_obs_config.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_global_observations.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_grid_object.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_gym_env.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_interactive.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_inventory_regeneration.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_leaks.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_mettagrid.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_move.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_new_env_hierarchy.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_observations.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_observations.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_pufferlib_integration.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_resource_loss.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_rewards.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_rotate.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_set_inventory.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_stats_tracker.cpp +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_tags.py +0 -0
- {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_visitation_counts.py +0 -0
|
@@ -37,3 +37,11 @@ bazel_dep(name = "google_benchmark", version = "1.9.4")
|
|
|
37
37
|
|
|
38
38
|
# Abseil (dependency of some Google libraries)
|
|
39
39
|
bazel_dep(name = "abseil-cpp", version = "20250814.0")
|
|
40
|
+
|
|
41
|
+
# make compile_commands.json with: bazel run @hedron_compile_commands//:refresh_all
|
|
42
|
+
bazel_dep(name = "hedron_compile_commands", version = "")
|
|
43
|
+
git_override(
|
|
44
|
+
module_name = "hedron_compile_commands",
|
|
45
|
+
remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git",
|
|
46
|
+
commit = "abb61a688167623088f8768cc9264798df6a9d10",
|
|
47
|
+
)
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
#include "actions/change_color.hpp"
|
|
15
15
|
#include "actions/change_glyph.hpp"
|
|
16
16
|
#include "actions/get_output.hpp"
|
|
17
|
+
#include "actions/resource_mod.hpp"
|
|
17
18
|
#include "actions/move.hpp"
|
|
18
19
|
#include "actions/noop.hpp"
|
|
19
20
|
#include "actions/put_recipe_items.hpp"
|
|
@@ -106,6 +107,9 @@ MettaGrid::MettaGrid(const GameConfig& game_config, const py::list map, unsigned
|
|
|
106
107
|
_action_handlers.push_back(std::make_unique<Swap>(*action_config));
|
|
107
108
|
} else if (action_name == "change_color") {
|
|
108
109
|
_action_handlers.push_back(std::make_unique<ChangeColor>(*action_config));
|
|
110
|
+
} else if (action_name == "resource_mod") {
|
|
111
|
+
auto modify_config = std::static_pointer_cast<const ResourceModConfig>(action_config);
|
|
112
|
+
_action_handlers.push_back(std::make_unique<ResourceMod>(*modify_config, action_name));
|
|
109
113
|
} else {
|
|
110
114
|
throw std::runtime_error("Unknown action: " + action_name);
|
|
111
115
|
}
|
|
@@ -461,7 +465,7 @@ void MettaGrid::_step(Actions actions) {
|
|
|
461
465
|
}
|
|
462
466
|
|
|
463
467
|
// Tolerate invalid action arguments
|
|
464
|
-
if (arg > _max_action_args[action_idx]) {
|
|
468
|
+
if (arg < 0 || arg > _max_action_args[action_idx]) {
|
|
465
469
|
_handle_invalid_action(agent_idx, "action.invalid_arg", action, arg);
|
|
466
470
|
continue;
|
|
467
471
|
}
|
|
@@ -956,6 +960,7 @@ PYBIND11_MODULE(mettagrid_c, m) {
|
|
|
956
960
|
bind_action_config(m);
|
|
957
961
|
bind_attack_action_config(m);
|
|
958
962
|
bind_change_glyph_action_config(m);
|
|
963
|
+
bind_resource_mod_config(m);
|
|
959
964
|
bind_global_obs_config(m);
|
|
960
965
|
bind_clipper_config(m);
|
|
961
966
|
bind_game_config(m);
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
#ifndef PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_RESOURCE_MOD_HPP_
|
|
2
|
+
#define PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_RESOURCE_MOD_HPP_
|
|
3
|
+
|
|
4
|
+
#include <pybind11/pybind11.h>
|
|
5
|
+
#include <pybind11/stl.h>
|
|
6
|
+
|
|
7
|
+
#include <cmath>
|
|
8
|
+
#include <map>
|
|
9
|
+
#include <limits>
|
|
10
|
+
#include <stdexcept>
|
|
11
|
+
#include <string>
|
|
12
|
+
#include <vector>
|
|
13
|
+
|
|
14
|
+
#include "actions/action_handler.hpp"
|
|
15
|
+
#include "core/grid.hpp"
|
|
16
|
+
#include "core/grid_object.hpp"
|
|
17
|
+
#include "core/types.hpp"
|
|
18
|
+
#include "objects/agent.hpp"
|
|
19
|
+
#include "objects/converter.hpp"
|
|
20
|
+
|
|
21
|
+
struct ResourceModConfig : public ActionConfig {
|
|
22
|
+
std::map<InventoryItem, InventoryProbability> modifies;
|
|
23
|
+
GridCoord agent_radius;
|
|
24
|
+
GridCoord converter_radius;
|
|
25
|
+
bool scales;
|
|
26
|
+
|
|
27
|
+
ResourceModConfig(const std::map<InventoryItem, InventoryQuantity>& required_resources = {},
|
|
28
|
+
const std::map<InventoryItem, InventoryProbability>& consumed_resources = {},
|
|
29
|
+
const std::map<InventoryItem, InventoryProbability>& modifies = {},
|
|
30
|
+
GridCoord agent_radius = 0,
|
|
31
|
+
GridCoord converter_radius = 0,
|
|
32
|
+
bool scales = false)
|
|
33
|
+
: ActionConfig(required_resources, consumed_resources),
|
|
34
|
+
modifies(modifies),
|
|
35
|
+
agent_radius(agent_radius),
|
|
36
|
+
converter_radius(converter_radius),
|
|
37
|
+
scales(scales) {
|
|
38
|
+
// Validate modifies values for finiteness and magnitude
|
|
39
|
+
for (const auto& [item, value] : modifies) {
|
|
40
|
+
if (!std::isfinite(value)) {
|
|
41
|
+
throw std::invalid_argument("ResourceModConfig: modifies values must be finite");
|
|
42
|
+
}
|
|
43
|
+
// Check that absolute value when rounded up doesn't exceed 255
|
|
44
|
+
// (since inventories are uint8_t and deltas are int16_t)
|
|
45
|
+
if (std::ceil(std::abs(value)) > 255) {
|
|
46
|
+
throw std::invalid_argument("ResourceModConfig: modifies values must have |ceil(value)| <= 255");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
class ResourceMod : public ActionHandler {
|
|
53
|
+
public:
|
|
54
|
+
explicit ResourceMod(const ResourceModConfig& cfg, const std::string& name = "resource_mod")
|
|
55
|
+
: ActionHandler(cfg, name),
|
|
56
|
+
_modifies(cfg.modifies),
|
|
57
|
+
_agent_radius(cfg.agent_radius),
|
|
58
|
+
_converter_radius(cfg.converter_radius),
|
|
59
|
+
_scales(cfg.scales) {}
|
|
60
|
+
|
|
61
|
+
unsigned char max_arg() const override {
|
|
62
|
+
return std::numeric_limits<unsigned char>::max();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
protected:
|
|
66
|
+
bool _handle_action(Agent& actor, ActionArg /* arg */) override {
|
|
67
|
+
// Center AoE on actor's position
|
|
68
|
+
int center_row = static_cast<int>(actor.location.r);
|
|
69
|
+
int center_col = static_cast<int>(actor.location.c);
|
|
70
|
+
|
|
71
|
+
std::vector<Agent*> affected_agents;
|
|
72
|
+
std::vector<Converter*> affected_converters;
|
|
73
|
+
|
|
74
|
+
// Find all agents within agent_radius of the center
|
|
75
|
+
// radius=0 means skip agents entirely
|
|
76
|
+
if (_agent_radius > 0) {
|
|
77
|
+
for (int dr = -static_cast<int>(_agent_radius); dr <= static_cast<int>(_agent_radius); ++dr) {
|
|
78
|
+
for (int dc = -static_cast<int>(_agent_radius); dc <= static_cast<int>(_agent_radius); ++dc) {
|
|
79
|
+
// Manhattan distance
|
|
80
|
+
if (std::abs(dr) + std::abs(dc) > static_cast<int>(_agent_radius)) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
int target_row = center_row + dr;
|
|
85
|
+
int target_col = center_col + dc;
|
|
86
|
+
|
|
87
|
+
if (target_row >= 0 && target_row < static_cast<int>(_grid->height) &&
|
|
88
|
+
target_col >= 0 && target_col < static_cast<int>(_grid->width)) {
|
|
89
|
+
GridLocation loc(target_row, target_col, GridLayer::AgentLayer);
|
|
90
|
+
GridObject* obj = _grid->object_at(loc);
|
|
91
|
+
if (obj != nullptr) {
|
|
92
|
+
Agent* agent = static_cast<Agent*>(obj);
|
|
93
|
+
affected_agents.push_back(agent);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Find all converters within converter_radius of the center
|
|
101
|
+
// radius=0 means skip converters entirely
|
|
102
|
+
if (_converter_radius > 0) {
|
|
103
|
+
for (int dr = -static_cast<int>(_converter_radius); dr <= static_cast<int>(_converter_radius); ++dr) {
|
|
104
|
+
for (int dc = -static_cast<int>(_converter_radius); dc <= static_cast<int>(_converter_radius); ++dc) {
|
|
105
|
+
// Manhattan distance
|
|
106
|
+
if (std::abs(dr) + std::abs(dc) > static_cast<int>(_converter_radius)) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
int target_row = center_row + dr;
|
|
111
|
+
int target_col = center_col + dc;
|
|
112
|
+
|
|
113
|
+
if (target_row >= 0 && target_row < static_cast<int>(_grid->height) &&
|
|
114
|
+
target_col >= 0 && target_col < static_cast<int>(_grid->width)) {
|
|
115
|
+
GridLocation loc(target_row, target_col, GridLayer::ObjectLayer);
|
|
116
|
+
GridObject* obj = _grid->object_at(loc);
|
|
117
|
+
if (obj != nullptr) {
|
|
118
|
+
Converter* converter = dynamic_cast<Converter*>(obj);
|
|
119
|
+
if (converter != nullptr) {
|
|
120
|
+
affected_converters.push_back(converter);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// No targets found - still consume resources and succeed
|
|
129
|
+
if (affected_agents.empty() && affected_converters.empty()) {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Calculate total number of affected targets for scaling
|
|
134
|
+
size_t total_affected = affected_agents.size() + affected_converters.size();
|
|
135
|
+
|
|
136
|
+
// Apply modifications to all targets
|
|
137
|
+
for (const auto& [item, amount] : _modifies) {
|
|
138
|
+
InventoryProbability effective_amount = amount;
|
|
139
|
+
|
|
140
|
+
// Scale by number of targets if scales flag is true
|
|
141
|
+
if (_scales && total_affected > 1) {
|
|
142
|
+
effective_amount = amount / static_cast<float>(total_affected);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Apply to agents - compute delta independently for each target
|
|
146
|
+
for (Agent* agent : affected_agents) {
|
|
147
|
+
InventoryDelta delta = compute_probabilistic_delta(effective_amount);
|
|
148
|
+
if (delta != 0) {
|
|
149
|
+
agent->update_inventory(item, delta);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Apply to converters - compute delta independently for each target
|
|
154
|
+
for (Converter* converter : affected_converters) {
|
|
155
|
+
InventoryDelta delta = compute_probabilistic_delta(effective_amount);
|
|
156
|
+
if (delta != 0) {
|
|
157
|
+
converter->update_inventory(item, delta);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
private:
|
|
166
|
+
std::map<InventoryItem, InventoryProbability> _modifies;
|
|
167
|
+
GridCoord _agent_radius;
|
|
168
|
+
GridCoord _converter_radius;
|
|
169
|
+
bool _scales;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
namespace py = pybind11;
|
|
173
|
+
|
|
174
|
+
inline void bind_resource_mod_config(py::module& m) {
|
|
175
|
+
py::class_<ResourceModConfig, ActionConfig, std::shared_ptr<ResourceModConfig>>(m, "ResourceModConfig")
|
|
176
|
+
.def(py::init<const std::map<InventoryItem, InventoryQuantity>&,
|
|
177
|
+
const std::map<InventoryItem, InventoryProbability>&,
|
|
178
|
+
const std::map<InventoryItem, InventoryProbability>&,
|
|
179
|
+
GridCoord,
|
|
180
|
+
GridCoord,
|
|
181
|
+
bool>(),
|
|
182
|
+
py::arg("required_resources") = std::map<InventoryItem, InventoryQuantity>(),
|
|
183
|
+
py::arg("consumed_resources") = std::map<InventoryItem, InventoryProbability>(),
|
|
184
|
+
py::arg("modifies") = std::map<InventoryItem, InventoryProbability>(),
|
|
185
|
+
py::arg("agent_radius") = 0,
|
|
186
|
+
py::arg("converter_radius") = 0,
|
|
187
|
+
py::arg("scales") = false)
|
|
188
|
+
.def_readwrite("modifies", &ResourceModConfig::modifies)
|
|
189
|
+
.def_readwrite("agent_radius", &ResourceModConfig::agent_radius)
|
|
190
|
+
.def_readwrite("converter_radius", &ResourceModConfig::converter_radius)
|
|
191
|
+
.def_readwrite("scales", &ResourceModConfig::scales);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
#endif // PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_RESOURCE_MOD_HPP_
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
#ifndef PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_CORE_GRID_OBJECT_HPP_
|
|
2
2
|
#define PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_CORE_GRID_OBJECT_HPP_
|
|
3
3
|
|
|
4
|
-
#include <cstdint>
|
|
5
4
|
#include <span>
|
|
6
5
|
#include <string>
|
|
7
6
|
#include <vector>
|
|
8
7
|
|
|
8
|
+
#include <cstdint>
|
|
9
|
+
|
|
9
10
|
#include "objects/constants.hpp"
|
|
10
11
|
#include "core/types.hpp"
|
|
11
12
|
|
|
@@ -84,6 +84,7 @@ cpp/include/mettagrid/actions/move.hpp
|
|
|
84
84
|
cpp/include/mettagrid/actions/noop.hpp
|
|
85
85
|
cpp/include/mettagrid/actions/orientation.hpp
|
|
86
86
|
cpp/include/mettagrid/actions/put_recipe_items.hpp
|
|
87
|
+
cpp/include/mettagrid/actions/resource_mod.hpp
|
|
87
88
|
cpp/include/mettagrid/actions/rotate.hpp
|
|
88
89
|
cpp/include/mettagrid/actions/swap.hpp
|
|
89
90
|
cpp/include/mettagrid/config/mettagrid_config.hpp
|
|
@@ -222,6 +223,10 @@ nim/mettascope/data/objects/carbon_ex_dep.png
|
|
|
222
223
|
nim/mettascope/data/objects/carbon_extractor.png
|
|
223
224
|
nim/mettascope/data/objects/charger.png
|
|
224
225
|
nim/mettascope/data/objects/chest.png
|
|
226
|
+
nim/mettascope/data/objects/chest_carbon.png
|
|
227
|
+
nim/mettascope/data/objects/chest_germanium.png
|
|
228
|
+
nim/mettascope/data/objects/chest_oxygen.png
|
|
229
|
+
nim/mettascope/data/objects/chest_silicon.png
|
|
225
230
|
nim/mettascope/data/objects/clay_oven.png
|
|
226
231
|
nim/mettascope/data/objects/converter.png
|
|
227
232
|
nim/mettascope/data/objects/empty.png
|
|
@@ -799,6 +804,8 @@ tests/test_observations.py
|
|
|
799
804
|
tests/test_pettingzoo_env.py
|
|
800
805
|
tests/test_pufferlib_integration.py
|
|
801
806
|
tests/test_resource_loss.py
|
|
807
|
+
tests/test_resource_mod.py
|
|
808
|
+
tests/test_resource_mod_config.py
|
|
802
809
|
tests/test_rewards.py
|
|
803
810
|
tests/test_rotate.py
|
|
804
811
|
tests/test_set_inventory.py
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -23,6 +23,7 @@ from mettagrid.mettagrid_c import GameConfig as CppGameConfig
|
|
|
23
23
|
from mettagrid.mettagrid_c import GlobalObsConfig as CppGlobalObsConfig
|
|
24
24
|
from mettagrid.mettagrid_c import InventoryConfig as CppInventoryConfig
|
|
25
25
|
from mettagrid.mettagrid_c import Recipe as CppRecipe
|
|
26
|
+
from mettagrid.mettagrid_c import ResourceModConfig as CppResourceModConfig
|
|
26
27
|
from mettagrid.mettagrid_c import WallConfig as CppWallConfig
|
|
27
28
|
|
|
28
29
|
# Note that these are left to right, top to bottom.
|
|
@@ -401,6 +402,23 @@ def convert_to_cpp_game_config(mettagrid_config: dict | GameConfig):
|
|
|
401
402
|
"number_of_glyphs": action_config["number_of_glyphs"],
|
|
402
403
|
}
|
|
403
404
|
actions_cpp_params[action_name] = CppChangeGlyphActionConfig(**change_glyph_params)
|
|
405
|
+
elif action_name == "resource_mod":
|
|
406
|
+
# Extract the specific parameters needed for ResourceModConfig
|
|
407
|
+
modifies_dict = action_config.get("modifies", {})
|
|
408
|
+
unknown_modifies = set(modifies_dict.keys()) - set(resource_name_to_id.keys())
|
|
409
|
+
if unknown_modifies:
|
|
410
|
+
unknown_list = sorted(unknown_modifies)
|
|
411
|
+
raise ValueError(f"Unknown resource names in modifies for action '{action_name}': {unknown_list}")
|
|
412
|
+
|
|
413
|
+
resource_mod_params = {
|
|
414
|
+
"required_resources": action_cpp_params.get("required_resources", {}),
|
|
415
|
+
"consumed_resources": action_cpp_params.get("consumed_resources", {}),
|
|
416
|
+
"modifies": {resource_name_to_id[k]: float(v) for k, v in modifies_dict.items()},
|
|
417
|
+
"agent_radius": action_config.get("agent_radius", 0),
|
|
418
|
+
"converter_radius": action_config.get("converter_radius", 0),
|
|
419
|
+
"scales": action_config.get("scales", False),
|
|
420
|
+
}
|
|
421
|
+
actions_cpp_params[action_name] = CppResourceModConfig(**resource_mod_params)
|
|
404
422
|
else:
|
|
405
423
|
actions_cpp_params[action_name] = CppActionConfig(**action_cpp_params)
|
|
406
424
|
|
|
@@ -101,6 +101,15 @@ class ChangeGlyphActionConfig(ActionConfig):
|
|
|
101
101
|
number_of_glyphs: int = Field(default=0, ge=0, le=255)
|
|
102
102
|
|
|
103
103
|
|
|
104
|
+
class ResourceModActionConfig(ActionConfig):
|
|
105
|
+
"""Resource mod action configuration."""
|
|
106
|
+
|
|
107
|
+
modifies: dict[str, float] = Field(default_factory=dict)
|
|
108
|
+
agent_radius: int = Field(default=0, ge=0, le=255)
|
|
109
|
+
converter_radius: int = Field(default=0, ge=0, le=255)
|
|
110
|
+
scales: bool = Field(default=False)
|
|
111
|
+
|
|
112
|
+
|
|
104
113
|
class ActionsConfig(Config):
|
|
105
114
|
"""
|
|
106
115
|
Actions configuration.
|
|
@@ -117,6 +126,7 @@ class ActionsConfig(Config):
|
|
|
117
126
|
swap: ActionConfig = Field(default_factory=lambda: ActionConfig(enabled=False))
|
|
118
127
|
change_color: ActionConfig = Field(default_factory=lambda: ActionConfig(enabled=False))
|
|
119
128
|
change_glyph: ChangeGlyphActionConfig = Field(default_factory=lambda: ChangeGlyphActionConfig(enabled=False))
|
|
129
|
+
resource_mod: ResourceModActionConfig = Field(default_factory=lambda: ResourceModActionConfig(enabled=False))
|
|
120
130
|
|
|
121
131
|
|
|
122
132
|
class GlobalObsConfig(Config):
|
|
@@ -168,7 +178,6 @@ class RecipeConfig(Config):
|
|
|
168
178
|
input_resources: dict[str, int] = Field(default_factory=dict)
|
|
169
179
|
output_resources: dict[str, int] = Field(default_factory=dict)
|
|
170
180
|
cooldown: int = Field(ge=0, default=0)
|
|
171
|
-
max_use: Optional[int] = Field(ge=0, default=None)
|
|
172
181
|
|
|
173
182
|
|
|
174
183
|
class AssemblerConfig(GridObjectConfig):
|
|
@@ -167,6 +167,21 @@ class ChangeGlyphActionConfig(ActionConfig):
|
|
|
167
167
|
) -> None: ...
|
|
168
168
|
number_of_glyphs: int
|
|
169
169
|
|
|
170
|
+
class ResourceModConfig(ActionConfig):
|
|
171
|
+
def __init__(
|
|
172
|
+
self,
|
|
173
|
+
required_resources: dict[int, int] = {},
|
|
174
|
+
consumed_resources: dict[int, float] = {},
|
|
175
|
+
modifies: dict[int, float] = {},
|
|
176
|
+
agent_radius: int = 0,
|
|
177
|
+
converter_radius: int = 0,
|
|
178
|
+
scales: bool = False,
|
|
179
|
+
) -> None: ...
|
|
180
|
+
modifies: dict[int, float]
|
|
181
|
+
agent_radius: int
|
|
182
|
+
converter_radius: int
|
|
183
|
+
scales: bool
|
|
184
|
+
|
|
170
185
|
class GlobalObsConfig:
|
|
171
186
|
def __init__(
|
|
172
187
|
self,
|
|
@@ -13,9 +13,11 @@ from pathlib import Path
|
|
|
13
13
|
from typing import TYPE_CHECKING
|
|
14
14
|
|
|
15
15
|
# Find the nim/mettascope/bindings/generated directory
|
|
16
|
-
# This is
|
|
16
|
+
# This is in the nim package, not the python package
|
|
17
17
|
package_root = Path(__file__).resolve().parent
|
|
18
|
-
|
|
18
|
+
# Navigate up to the packages directory and then into the nim package
|
|
19
|
+
packages_dir = package_root.parent.parent.parent.parent
|
|
20
|
+
nim_root = packages_dir / "mettagrid" / "nim" / "mettascope"
|
|
19
21
|
nim_bindings_path = nim_root / "bindings" / "generated"
|
|
20
22
|
|
|
21
23
|
# Type stubs for static analysis
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#include "actions/get_output.hpp"
|
|
8
8
|
#include "actions/noop.hpp"
|
|
9
9
|
#include "actions/put_recipe_items.hpp"
|
|
10
|
+
#include "actions/resource_mod.hpp"
|
|
10
11
|
#include "config/mettagrid_config.hpp"
|
|
11
12
|
#include "core/event.hpp"
|
|
12
13
|
#include "core/grid.hpp"
|
|
@@ -1084,7 +1085,8 @@ TEST_F(MettaGridCppTest, EventManager) {
|
|
|
1084
1085
|
EXPECT_NO_THROW(event_manager.process_events(1));
|
|
1085
1086
|
}
|
|
1086
1087
|
|
|
1087
|
-
// Assembler Tests
|
|
1088
|
+
// ==================== Assembler Tests ====================
|
|
1089
|
+
|
|
1088
1090
|
TEST_F(MettaGridCppTest, AssemblerBasicObservationFeatures) {
|
|
1089
1091
|
AssemblerConfig config(1, "test_assembler", std::vector<int>{1, 2});
|
|
1090
1092
|
Assembler assembler(5, 5, config);
|
|
@@ -1672,5 +1674,158 @@ TEST_F(MettaGridCppTest, AssemblerExhaustion) {
|
|
|
1672
1674
|
EXPECT_TRUE(success) << "Fourth use should succeed";
|
|
1673
1675
|
// Fourth cooldown should be 10 * 3.375 = 33.75, rounded to 33
|
|
1674
1676
|
EXPECT_EQ(assembler.cooldown_end_timestep, 80) << "Fourth cooldown should end at 80 (47 + 33)";
|
|
1675
|
-
EXPECT_FLOAT_EQ(assembler.cooldown_multiplier, 5.0625f)
|
|
1677
|
+
EXPECT_FLOAT_EQ(assembler.cooldown_multiplier, 5.0625f)
|
|
1678
|
+
<< "Cooldown multiplier should be 5.0625 after fourth use";
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
// ==================== ResourceMod Tests ====================
|
|
1682
|
+
|
|
1683
|
+
TEST_F(MettaGridCppTest, ResourceModBasic) {
|
|
1684
|
+
Grid grid(5, 5);
|
|
1685
|
+
std::mt19937 rng(42);
|
|
1686
|
+
auto resource_names = create_test_resource_names();
|
|
1687
|
+
|
|
1688
|
+
// Create actor at center
|
|
1689
|
+
AgentConfig actor_cfg = create_test_agent_config();
|
|
1690
|
+
actor_cfg.initial_inventory[TestItems::ORE] = 10;
|
|
1691
|
+
Agent* actor = new Agent(2, 2, actor_cfg, &resource_names);
|
|
1692
|
+
float actor_reward = 0.0f;
|
|
1693
|
+
actor->init(&actor_reward);
|
|
1694
|
+
grid.add_object(actor);
|
|
1695
|
+
|
|
1696
|
+
// Create target agent nearby
|
|
1697
|
+
AgentConfig target_cfg = create_test_agent_config();
|
|
1698
|
+
target_cfg.initial_inventory[TestItems::HEART] = 10;
|
|
1699
|
+
Agent* target = new Agent(2, 3, target_cfg, &resource_names);
|
|
1700
|
+
float target_reward = 0.0f;
|
|
1701
|
+
target->init(&target_reward);
|
|
1702
|
+
grid.add_object(target);
|
|
1703
|
+
|
|
1704
|
+
// Create resource mod action that adds hearts with 100% probability
|
|
1705
|
+
ResourceModConfig modify_cfg({{TestItems::ORE, 1}}, // required_resources
|
|
1706
|
+
{{TestItems::ORE, 1.0f}}, // consumed_resources
|
|
1707
|
+
{{TestItems::HEART, 1.0f}}, // modifies - adds 1 heart
|
|
1708
|
+
1, // agent_radius
|
|
1709
|
+
0, // converter_radius
|
|
1710
|
+
false); // scales
|
|
1711
|
+
ResourceMod modify(modify_cfg);
|
|
1712
|
+
modify.init(&grid, &rng);
|
|
1713
|
+
|
|
1714
|
+
ActionArg arg = 0; // Unused
|
|
1715
|
+
bool success = modify.handle_action(*actor, arg);
|
|
1716
|
+
EXPECT_TRUE(success);
|
|
1717
|
+
|
|
1718
|
+
// Check that target gained 1 heart
|
|
1719
|
+
EXPECT_EQ(target->inventory.amount(TestItems::HEART), 11);
|
|
1720
|
+
// Check that actor lost 1 ore
|
|
1721
|
+
EXPECT_EQ(actor->inventory.amount(TestItems::ORE), 9);
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
TEST_F(MettaGridCppTest, ResourceModProbabilistic) {
|
|
1725
|
+
Grid grid(5, 5);
|
|
1726
|
+
std::mt19937 rng(42);
|
|
1727
|
+
auto resource_names = create_test_resource_names();
|
|
1728
|
+
|
|
1729
|
+
// Create actor
|
|
1730
|
+
AgentConfig actor_cfg = create_test_agent_config();
|
|
1731
|
+
actor_cfg.initial_inventory[TestItems::ORE] = 200;
|
|
1732
|
+
Agent* actor = new Agent(2, 2, actor_cfg, &resource_names);
|
|
1733
|
+
float actor_reward = 0.0f;
|
|
1734
|
+
actor->init(&actor_reward);
|
|
1735
|
+
grid.add_object(actor);
|
|
1736
|
+
|
|
1737
|
+
// Create target
|
|
1738
|
+
AgentConfig target_cfg = create_test_agent_config();
|
|
1739
|
+
target_cfg.initial_inventory[TestItems::HEART] = 10;
|
|
1740
|
+
Agent* target = new Agent(2, 3, target_cfg, &resource_names);
|
|
1741
|
+
float target_reward = 0.0f;
|
|
1742
|
+
target->init(&target_reward);
|
|
1743
|
+
grid.add_object(target);
|
|
1744
|
+
|
|
1745
|
+
// Create action with fractional modifications (30% chance)
|
|
1746
|
+
ResourceModConfig modify_cfg({{TestItems::ORE, 1}}, // required_resources must have ceil(0.5) = 1
|
|
1747
|
+
{{TestItems::ORE, 0.5f}}, // 50% chance to consume
|
|
1748
|
+
{{TestItems::HEART, 0.3f}}, // 30% chance to add 1 heart
|
|
1749
|
+
1,
|
|
1750
|
+
0,
|
|
1751
|
+
false); // radius 1, no converters, no scaling
|
|
1752
|
+
ResourceMod modify(modify_cfg);
|
|
1753
|
+
modify.init(&grid, &rng);
|
|
1754
|
+
|
|
1755
|
+
// Execute multiple times to test probabilistic behavior
|
|
1756
|
+
ActionArg arg = 0; // Unused
|
|
1757
|
+
int hearts_added = 0;
|
|
1758
|
+
int ore_consumed = 0;
|
|
1759
|
+
|
|
1760
|
+
for (int i = 0; i < 100; i++) {
|
|
1761
|
+
int ore_before = actor->inventory.amount(TestItems::ORE);
|
|
1762
|
+
int hearts_before = target->inventory.amount(TestItems::HEART);
|
|
1763
|
+
|
|
1764
|
+
// Check if actor has required resources
|
|
1765
|
+
if (ore_before < 1) {
|
|
1766
|
+
// Actor is out of ore, can't continue test
|
|
1767
|
+
break;
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
bool success = modify.handle_action(*actor, arg);
|
|
1771
|
+
EXPECT_TRUE(success);
|
|
1772
|
+
|
|
1773
|
+
ore_consumed += (ore_before - actor->inventory.amount(TestItems::ORE));
|
|
1774
|
+
hearts_added += (target->inventory.amount(TestItems::HEART) - hearts_before);
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
// With 30% probability for hearts and 50% for ore consumption
|
|
1778
|
+
// Expect around 30 hearts added and 50 ore consumed
|
|
1779
|
+
EXPECT_GE(hearts_added, 20); // At least 20
|
|
1780
|
+
EXPECT_LE(hearts_added, 40); // At most 40
|
|
1781
|
+
EXPECT_GE(ore_consumed, 40); // At least 40
|
|
1782
|
+
EXPECT_LE(ore_consumed, 60); // At most 60
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
TEST_F(MettaGridCppTest, ResourceModConverter) {
|
|
1786
|
+
Grid grid(5, 5);
|
|
1787
|
+
std::mt19937 rng(42);
|
|
1788
|
+
EventManager event_manager;
|
|
1789
|
+
auto resource_names = create_test_resource_names();
|
|
1790
|
+
|
|
1791
|
+
// Create actor
|
|
1792
|
+
AgentConfig actor_cfg = create_test_agent_config();
|
|
1793
|
+
Agent* actor = new Agent(2, 2, actor_cfg, &resource_names);
|
|
1794
|
+
float actor_reward = 0.0f;
|
|
1795
|
+
actor->init(&actor_reward);
|
|
1796
|
+
grid.add_object(actor);
|
|
1797
|
+
|
|
1798
|
+
// Create converter nearby
|
|
1799
|
+
ConverterConfig converter_cfg(TestItems::CONVERTER, // type_id
|
|
1800
|
+
"converter", // type_name
|
|
1801
|
+
{}, // input_resources
|
|
1802
|
+
{}, // output_resources
|
|
1803
|
+
-1, // max_output
|
|
1804
|
+
-1, // max_conversions
|
|
1805
|
+
0, // conversion_ticks
|
|
1806
|
+
0, // cooldown
|
|
1807
|
+
0, // initial_items
|
|
1808
|
+
0, // color
|
|
1809
|
+
false); // recipe_details_obs
|
|
1810
|
+
Converter* converter = new Converter(3, 2, converter_cfg);
|
|
1811
|
+
grid.add_object(converter);
|
|
1812
|
+
converter->set_event_manager(&event_manager);
|
|
1813
|
+
|
|
1814
|
+
// Create action that modifies converter resources
|
|
1815
|
+
ResourceModConfig modify_cfg({},
|
|
1816
|
+
{},
|
|
1817
|
+
{{TestItems::ORE, 1.0f}}, // Add 1 ore to converter
|
|
1818
|
+
0,
|
|
1819
|
+
1,
|
|
1820
|
+
false); // No agents, converters within radius 1
|
|
1821
|
+
ResourceMod modify(modify_cfg);
|
|
1822
|
+
modify.init(&grid, &rng);
|
|
1823
|
+
|
|
1824
|
+
// Target converter at (3, 2) from actor at (2, 2)
|
|
1825
|
+
ActionArg arg = 0; // Unused
|
|
1826
|
+
bool success = modify.handle_action(*actor, arg);
|
|
1827
|
+
EXPECT_TRUE(success);
|
|
1828
|
+
|
|
1829
|
+
// Check that converter gained 1 ore
|
|
1830
|
+
EXPECT_EQ(converter->inventory.amount(TestItems::ORE), 1);
|
|
1676
1831
|
}
|