mettagrid 0.2.0.15__tar.gz → 0.2.0.17__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.15 → mettagrid-0.2.0.17}/.gitignore +2 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/PKG-INFO +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/labyrinth.map +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/mettagrid.egg-info/PKG-INFO +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/mettagrid.egg-info/SOURCES.txt +1 -5
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/bindings/bindings.nim +24 -18
- mettagrid-0.2.0.17/nim/mettascope/src/mettascope/actions.nim +127 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/common.nim +18 -5
- mettagrid-0.2.0.17/nim/mettascope/src/mettascope/pathfinding.nim +113 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/timeline.nim +14 -5
- mettagrid-0.2.0.17/nim/mettascope/src/mettascope/utils.nim +150 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/worldmap.nim +56 -2
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/builder/building.py +55 -2
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/builder/empty_converters.py +38 -2
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/config/mettagrid_config.py +49 -20
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/core.py +18 -9
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/ascii.py +20 -4
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/map_builder.py +2 -14
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/utils.py +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/mapgen.py +5 -3
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/inline_ascii.py +6 -3
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/types.py +9 -2
- mettagrid-0.2.0.17/python/src/mettagrid/mapgen/utils/ascii_grid.py +87 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/utils/storable_map.py +20 -6
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/miniscope/buffer.py +36 -4
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/miniscope/interactive.py +13 -3
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/miniscope/renderer.py +39 -5
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/test_support/mapgen.py +27 -8
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/test_ascii.py +11 -17
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/test_map_builder.py +2 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/test_polymorphic_serialization.py +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/test_utils.py +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_inline_ascii.py +1 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/test_mapgen.py +1 -2
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/test_validate_all_ascii_maps.py +38 -6
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/utils/test_storable_map_io.py +6 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/renderer/test_miniscope.py +27 -4
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_actions.py +8 -23
- mettagrid-0.2.0.17/tests/test_attack_resource_exception.py +118 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_buffers.py +35 -38
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_converter.py +59 -49
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_global_obs_config.py +46 -34
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_move.py +21 -20
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_pettingzoo_env.py +3 -1
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_rewards.py +50 -37
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_rotate.py +41 -38
- mettagrid-0.2.0.15/MODULE.bazel.lock +0 -391
- mettagrid-0.2.0.15/nim/mettascope/src/mettascope/actions.nim +0 -54
- mettagrid-0.2.0.15/nim/mettascope/src/mettascope/utils.nim +0 -59
- mettagrid-0.2.0.15/python/src/mettagrid/mapgen/utils/ascii_grid.py +0 -55
- mettagrid-0.2.0.15/python/src/mettagrid/renderer/miniscope/symbols.py +0 -86
- mettagrid-0.2.0.15/python/src/mettagrid/util/char_encoder.py +0 -67
- mettagrid-0.2.0.15/tests/diagnose.py +0 -228
- mettagrid-0.2.0.15/tests/test_attack_resource_exception.py +0 -104
- mettagrid-0.2.0.15/tests/test_swap.py +0 -302
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/.bazelrc +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/.clang-format +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/.clang-tidy +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/BUILD.bazel +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/CPPLINT.cfg +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/LICENSE +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/MANIFEST.in +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/MODULE.bazel +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/Makefile +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/bazel_build.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/benchmarks/BUILD +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/benchmarks/test_mettagrid_env_benchmark.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/benchmarks/test_mettagrid_env_benchmark.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/boxout.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/choose_wisely.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/corners.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/corridors.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/cylinder.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/cylinder_easy.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/easy_memory.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/emptyspace_outofsight.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/hall_of_mirrors.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/hard_memory.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/honeypot.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/journey_home.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/knotty.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/little_landmark_easy.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/little_landmark_hard.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/lobster_legs.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/lobster_legs_cues.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/medium_memory.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/memory3.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/memory_palace.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/memory_swirls.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/memory_swirls_hard.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/obstacles0.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/obstacles1.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/obstacles2.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/obstacles3.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/passing_things.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/radial_large.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/radial_maze.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/radial_mini.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/radial_small.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/rooms.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/spacey_memory.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/spiral_chamber.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/swirls.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/tease.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/tease_small.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/thecube.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/venture_out.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/walkaround.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/walls_outofsight.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/walls_withinsight.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/wanderout.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/which_way.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/navigation_sequence/you_shall_not_pass.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/object_use/shoot_out.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/object_use/swap_in.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/configs/maps/object_use/swap_out.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/BUILD.bazel +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/bindings/mettagrid_c.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/bindings/mettagrid_c.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/action_handler.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/attack.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/change_color.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/change_glyph.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/get_output.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/move.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/noop.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/orientation.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/rotate.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/actions/swap.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/core/event.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/core/grid.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/core/grid_object.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/core/hash.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/core/types.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/agent.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/agent_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/assembler.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/assembler_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/chest.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/chest_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/constants.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/converter.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/converter_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/has_inventory.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/inventory.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/inventory_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/production_handler.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/recipe.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/usable.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/objects/wall.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/renderer/hermes.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/systems/clipper.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/systems/clipper_config.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/demo.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/demos/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/demos/demo_train_gym.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/demos/demo_train_pettingzoo.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/demos/demo_train_puffer.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/ensure_mettascope.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/lint/BUILD +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/lint/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/lint/clang_tidy.bzl +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/lint/clang_tidy_wrapper.sh +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/mettagrid.egg-info/dependency_links.txt +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/mettagrid.egg-info/entry_points.txt +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/mettagrid.egg-info/requires.txt +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/mettagrid.egg-info/top_level.txt +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/migrate_to_toplevel.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/AGENTS.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/bindings/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/cors_http_server.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/arrow.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack1.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack2.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack3.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack4.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack5.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack6.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack7.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack8.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack9.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/attack_nearest.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/converting.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/get_items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/attack.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/change_color.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/get_items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/move.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/noop.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/put_items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/rotate.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/swap.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/icons/unknown.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/put_items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/swap.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/thoughts.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/actions/unknown.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/agent.e.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/agent.n.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/agent.s.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/agent.w.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/footprints.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/frozen.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/future_arrow.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/past_arrow.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/agents/path.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/crosshair.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/dash.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/effects/halo.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/alien.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/angry.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/down.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/happy.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/left.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/love.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/poo.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/right.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/sad.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/skull.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/sparkle.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/emoji/up.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/info.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/meta_grid_icon.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/minimapPip.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/agent.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/altar.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/armory.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/assembler.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/block.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/carbon_ex_dep.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/carbon_extractor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/charger.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/chest.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/clay_oven.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/converter.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/empty.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/factory.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/floor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/generator.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/generator_blue.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/generator_green.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/generator_red.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/geranium_extractor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/germanium_ex_dep.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/germanium_extractor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/ice_tower.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/ice_vase.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/lab.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/lasery.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/mine.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/mine_blue.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/mine_green.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/mine_red-1.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/mine_red.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/oxygen_ex_dep.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/oxygen_extractor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/palm_tree.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/silicon_ex_dep.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/silicon_extractor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/temple.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/unknown.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.0.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.e.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.fill.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.n.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.ne.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.ns.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.nse.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.nw.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.nwe.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.nws.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.nwse.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.s.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.se.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.w.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.we.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.ws.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wall.wse.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/water_well.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/weaving_loom.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/objects/wheat_field.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/replays/pens.json.z +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/agent_id.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/armor.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery.blue.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery.green.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery.red.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery_blue.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery_green.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/battery_red.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/blue_gem.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/blueprint.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/bread.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/carbon.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/coal.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/coconut.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/copper_ore.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/diamond.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/energy.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/germanium.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/gold_ore.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/green_gem.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/heart.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ice_granade.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/iron_ore.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/laser.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/lizard_hide.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/oil.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore.blue.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore.green.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore.red.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore_blue.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore_green.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/ore_red.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/oxygen.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/palm_fiber.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/red_gem.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/reward.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/salt_water.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/sand.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/silicon.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/sisal.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/snake_skin.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/snow_ball.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/star.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/stone.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/straw_hat.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/turtle_shell.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/unknown.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/water.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/wheat.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/yellow_gem.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/resources/yucca_fiber.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/selection.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/target.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/tile.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/attack.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/attack_nearest.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/change_color.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/frozen.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/get_items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/invalid.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/move.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/move_8way.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/move_cardinal.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/noop.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/put_items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/rotate.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/swap.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/trace/unknown.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/view/grid.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/data/white.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/mettascope.nimble +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/agenttable.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/agenttraces.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/envconfig.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/footer.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/minimap.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/objectinfo.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/panels.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/replays.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/settings.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/shell.html +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope/sim.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope.nim +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/nim/mettascope/src/mettascope.nims +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/pyproject.toml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/builder/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/builder/envs.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/config/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/config/config.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/config/mettagrid_c_config.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/demo.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/envs/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/envs/gym_env.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/envs/gym_wrapper.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/envs/mettagrid_env.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/envs/pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/envs/puffer_base.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/assembler_map_builder.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/maze.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/map_builder/random.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/load.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/mapgen_ascii.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/random/float.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/random/int.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/ascii.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/auto.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/bsp.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/convchain.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/copy_grid.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/README.md +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dolorous_arrival_somebody's_watching_me.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dolorous_arrival_somebody's_watching_me.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/layout.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/maze.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/mirror.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/nop.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/random.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/random_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/spiral.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/transplant_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/wfc.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/scenes/yaml.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/tools/gen.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/tools/gen_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/tools/view.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/utils/show.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mettagrid_c.pyi +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/mettascope.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/profiling/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/profiling/stopwatch.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/profiling/system_monitor.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/py.typed +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/altar.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/atlas.json +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/atlas.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/converter.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/generator.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/items.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/monsters.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/assets/wall.png +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/miniscope/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/renderer/miniscope/info_panels.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/test_support/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/test_support/actions.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/test_support/observation_helper.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/test_support/orientation.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/test_support/token_types.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/types.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/debug.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/dict_utils.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/diversity.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/grid_object_formatter.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/module.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/replay_writer.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/python/src/mettagrid/util/stats_writer.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/scripts/build_asan.sh +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/scripts/test_leaks.sh +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/setup.cfg +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/test_pointer_init +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/test_pointer_init.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/test_uninitialized.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/test_uninitialized.o +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/BUILD +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/cpplint.sh +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/test_maze.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/map_builder/test_random.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/__init__.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/random/test_float.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/random/test_int.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/fixtures/dir1/1.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/fixtures/dir1/2.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/fixtures/test.map +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/fixtures/test.yaml +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_ascii.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_auto.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_bsp.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_convchain.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_layout.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_make_connected.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_maze.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_mean_distance.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_mirror.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_multi_left_and_right.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_nop.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_radial_maze.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_random.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_random_objects.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_random_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_remove_agents.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_room_grid.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_wfc.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/scenes/test_yaml.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/test_scene.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/mapgen/utils/test_pattern.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/profiling/test_memory_monitor.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/profiling/test_stopwatch.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/profiling/test_system_monitor.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/run_test.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_action_compatibility.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_agent_resource_sharing.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_assembler_partial_usage.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_buffer_reuse.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_chest.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_clipper.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_diversity.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_env_config_serialization.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_env_map.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_forbidden_imports.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_global_observations.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_grid_object.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_gym_env.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_interactive.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_inventory_regeneration.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_leaks.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_mettagrid.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_mettagrid.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_new_env_hierarchy.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_observations.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_observations.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_pufferlib_integration.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_resource_loss.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_set_inventory.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_stats_tracker.cpp +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_tags.py +0 -0
- {mettagrid-0.2.0.15 → mettagrid-0.2.0.17}/tests/test_visitation_counts.py +0 -0
|
@@ -7,7 +7,6 @@ CPPLINT.cfg
|
|
|
7
7
|
LICENSE
|
|
8
8
|
MANIFEST.in
|
|
9
9
|
MODULE.bazel
|
|
10
|
-
MODULE.bazel.lock
|
|
11
10
|
Makefile
|
|
12
11
|
README.md
|
|
13
12
|
bazel_build.py
|
|
@@ -352,6 +351,7 @@ nim/mettascope/src/mettascope/footer.nim
|
|
|
352
351
|
nim/mettascope/src/mettascope/minimap.nim
|
|
353
352
|
nim/mettascope/src/mettascope/objectinfo.nim
|
|
354
353
|
nim/mettascope/src/mettascope/panels.nim
|
|
354
|
+
nim/mettascope/src/mettascope/pathfinding.nim
|
|
355
355
|
nim/mettascope/src/mettascope/replays.nim
|
|
356
356
|
nim/mettascope/src/mettascope/settings.nim
|
|
357
357
|
nim/mettascope/src/mettascope/shell.html
|
|
@@ -748,7 +748,6 @@ python/src/mettagrid/renderer/miniscope/buffer.py
|
|
|
748
748
|
python/src/mettagrid/renderer/miniscope/info_panels.py
|
|
749
749
|
python/src/mettagrid/renderer/miniscope/interactive.py
|
|
750
750
|
python/src/mettagrid/renderer/miniscope/renderer.py
|
|
751
|
-
python/src/mettagrid/renderer/miniscope/symbols.py
|
|
752
751
|
python/src/mettagrid/test_support/__init__.py
|
|
753
752
|
python/src/mettagrid/test_support/actions.py
|
|
754
753
|
python/src/mettagrid/test_support/mapgen.py
|
|
@@ -756,7 +755,6 @@ python/src/mettagrid/test_support/observation_helper.py
|
|
|
756
755
|
python/src/mettagrid/test_support/orientation.py
|
|
757
756
|
python/src/mettagrid/test_support/token_types.py
|
|
758
757
|
python/src/mettagrid/util/__init__.py
|
|
759
|
-
python/src/mettagrid/util/char_encoder.py
|
|
760
758
|
python/src/mettagrid/util/debug.py
|
|
761
759
|
python/src/mettagrid/util/dict_utils.py
|
|
762
760
|
python/src/mettagrid/util/diversity.py
|
|
@@ -769,7 +767,6 @@ scripts/test_leaks.sh
|
|
|
769
767
|
tests/BUILD
|
|
770
768
|
tests/__init__.py
|
|
771
769
|
tests/cpplint.sh
|
|
772
|
-
tests/diagnose.py
|
|
773
770
|
tests/run_test.py
|
|
774
771
|
tests/test_action_compatibility.py
|
|
775
772
|
tests/test_actions.py
|
|
@@ -805,7 +802,6 @@ tests/test_rewards.py
|
|
|
805
802
|
tests/test_rotate.py
|
|
806
803
|
tests/test_set_inventory.py
|
|
807
804
|
tests/test_stats_tracker.cpp
|
|
808
|
-
tests/test_swap.py
|
|
809
805
|
tests/test_tags.py
|
|
810
806
|
tests/test_visitation_counts.py
|
|
811
807
|
tests/map_builder/__init__.py
|
|
@@ -4,15 +4,18 @@ import
|
|
|
4
4
|
envconfig]
|
|
5
5
|
|
|
6
6
|
type
|
|
7
|
-
|
|
7
|
+
ActionRequest* = object
|
|
8
|
+
agentId*: int
|
|
9
|
+
actionId*: int
|
|
10
|
+
argument*: int
|
|
11
|
+
|
|
12
|
+
RenderResponse* = ref object
|
|
8
13
|
shouldClose*: bool
|
|
9
|
-
|
|
10
|
-
actionAgentId*: int
|
|
11
|
-
actionActionId*: int
|
|
12
|
-
actionArgument*: int
|
|
14
|
+
actions*: seq[ActionRequest]
|
|
13
15
|
|
|
14
16
|
proc init(dataDir: string, replay: string): RenderResponse =
|
|
15
17
|
try:
|
|
18
|
+
result = RenderResponse(shouldClose: false, actions: @[])
|
|
16
19
|
#echo "Replay from python: ", replay
|
|
17
20
|
echo "Data dir: ", dataDir
|
|
18
21
|
playMode = Realtime
|
|
@@ -40,8 +43,10 @@ proc render(currentStep: int, replayStep: string): RenderResponse =
|
|
|
40
43
|
common.replay.apply(replayStep)
|
|
41
44
|
step = currentStep
|
|
42
45
|
stepFloat = currentStep.float32
|
|
46
|
+
previousStep = currentStep
|
|
43
47
|
onStepChanged()
|
|
44
48
|
requestPython = false
|
|
49
|
+
result = RenderResponse(shouldClose: false, actions: @[])
|
|
45
50
|
while true:
|
|
46
51
|
if window.closeRequested:
|
|
47
52
|
window.close()
|
|
@@ -49,18 +54,14 @@ proc render(currentStep: int, replayStep: string): RenderResponse =
|
|
|
49
54
|
return
|
|
50
55
|
mainLoop()
|
|
51
56
|
if requestPython:
|
|
52
|
-
|
|
53
|
-
result.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
requestActionArgument = 0
|
|
61
|
-
return
|
|
62
|
-
else:
|
|
63
|
-
return
|
|
57
|
+
for action in requestActions:
|
|
58
|
+
result.actions.add(ActionRequest(
|
|
59
|
+
agentId: action.agentId,
|
|
60
|
+
actionId: action.actionId,
|
|
61
|
+
argument: action.argument
|
|
62
|
+
))
|
|
63
|
+
requestActions.setLen(0)
|
|
64
|
+
return
|
|
64
65
|
except Exception:
|
|
65
66
|
echo "############## Error rendering Mettascope ##################"
|
|
66
67
|
echo getCurrentException().getStackTrace()
|
|
@@ -69,9 +70,14 @@ proc render(currentStep: int, replayStep: string): RenderResponse =
|
|
|
69
70
|
result.shouldClose = true
|
|
70
71
|
return
|
|
71
72
|
|
|
72
|
-
exportObject
|
|
73
|
+
exportObject ActionRequest:
|
|
73
74
|
discard
|
|
74
75
|
|
|
76
|
+
exportRefObject RenderResponse:
|
|
77
|
+
fields:
|
|
78
|
+
shouldClose
|
|
79
|
+
actions
|
|
80
|
+
|
|
75
81
|
exportProcs:
|
|
76
82
|
init
|
|
77
83
|
render
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import
|
|
2
|
+
std/[tables],
|
|
3
|
+
windy, fidget2, vmath,
|
|
4
|
+
common, replays, pathfinding
|
|
5
|
+
|
|
6
|
+
type
|
|
7
|
+
Orientation* = enum
|
|
8
|
+
N = 0
|
|
9
|
+
S = 1
|
|
10
|
+
W = 2
|
|
11
|
+
E = 3
|
|
12
|
+
|
|
13
|
+
QueuedAction = object
|
|
14
|
+
agentId: int
|
|
15
|
+
actionId: int
|
|
16
|
+
argument: int
|
|
17
|
+
|
|
18
|
+
var
|
|
19
|
+
## Action queue for each agent. Only one action per step.
|
|
20
|
+
actionQueue = initTable[int, QueuedAction]()
|
|
21
|
+
|
|
22
|
+
proc queueAction(agentId, actionId, argument: int) =
|
|
23
|
+
## Queue an action for the agent. Will be sent on next step.
|
|
24
|
+
actionQueue[agentId] = QueuedAction(
|
|
25
|
+
agentId: agentId,
|
|
26
|
+
actionId: actionId,
|
|
27
|
+
argument: argument
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
proc sendAction*(agentId, actionId, argument: int) =
|
|
31
|
+
## Send an action to the Python from the user.
|
|
32
|
+
requestActions.add(ActionRequest(
|
|
33
|
+
agentId: agentId,
|
|
34
|
+
actionId: actionId,
|
|
35
|
+
argument: argument
|
|
36
|
+
))
|
|
37
|
+
requestPython = true
|
|
38
|
+
|
|
39
|
+
proc getOrientationFromDelta(dx, dy: int): Orientation =
|
|
40
|
+
## Get the orientation from a movement delta.
|
|
41
|
+
if dx == 0 and dy == -1:
|
|
42
|
+
return N
|
|
43
|
+
elif dx == 0 and dy == 1:
|
|
44
|
+
return S
|
|
45
|
+
elif dx == -1 and dy == 0:
|
|
46
|
+
return W
|
|
47
|
+
elif dx == 1 and dy == 0:
|
|
48
|
+
return E
|
|
49
|
+
else:
|
|
50
|
+
return N
|
|
51
|
+
|
|
52
|
+
proc processActions*() =
|
|
53
|
+
## Process pathfinding and action queue. Called on step change.
|
|
54
|
+
if not (play or requestPython):
|
|
55
|
+
return
|
|
56
|
+
|
|
57
|
+
for agentId, path in agentPaths:
|
|
58
|
+
if path.len > 1:
|
|
59
|
+
var agent: Entity = nil
|
|
60
|
+
for obj in replay.objects:
|
|
61
|
+
if obj.isAgent and obj.agentId == agentId:
|
|
62
|
+
agent = obj
|
|
63
|
+
break
|
|
64
|
+
|
|
65
|
+
if agent != nil:
|
|
66
|
+
let currentPos = agent.location.at(step).xy
|
|
67
|
+
|
|
68
|
+
if path[0] == currentPos:
|
|
69
|
+
if path.len > 1:
|
|
70
|
+
let nextPos = path[1]
|
|
71
|
+
let dx = nextPos.x - currentPos.x
|
|
72
|
+
let dy = nextPos.y - currentPos.y
|
|
73
|
+
let orientation = getOrientationFromDelta(dx.int, dy.int)
|
|
74
|
+
queueAction(agentId, replay.moveActionId, orientation.int)
|
|
75
|
+
agentPaths[agentId].delete(0)
|
|
76
|
+
else:
|
|
77
|
+
recomputePath(agentId, currentPos)
|
|
78
|
+
else:
|
|
79
|
+
recomputePath(agentId, currentPos)
|
|
80
|
+
|
|
81
|
+
if actionQueue.len > 0:
|
|
82
|
+
for agentId, action in actionQueue:
|
|
83
|
+
requestActions.add(ActionRequest(
|
|
84
|
+
agentId: action.agentId,
|
|
85
|
+
actionId: action.actionId,
|
|
86
|
+
argument: action.argument
|
|
87
|
+
))
|
|
88
|
+
actionQueue.clear()
|
|
89
|
+
|
|
90
|
+
proc agentControls*() =
|
|
91
|
+
## Manual controls with WASD for selected agent.
|
|
92
|
+
if selection != nil and selection.isAgent:
|
|
93
|
+
let agent = selection
|
|
94
|
+
|
|
95
|
+
# Move
|
|
96
|
+
if window.buttonPressed[KeyW] or window.buttonPressed[KeyUp]:
|
|
97
|
+
sendAction(agent.agentId, replay.moveActionId, N.int)
|
|
98
|
+
clearPath(agent.agentId)
|
|
99
|
+
|
|
100
|
+
elif window.buttonPressed[KeyS] or window.buttonPressed[KeyDown]:
|
|
101
|
+
sendAction(agent.agentId, replay.moveActionId, S.int)
|
|
102
|
+
clearPath(agent.agentId)
|
|
103
|
+
|
|
104
|
+
elif window.buttonPressed[KeyD] or window.buttonPressed[KeyRight]:
|
|
105
|
+
sendAction(agent.agentId, replay.moveActionId, E.int)
|
|
106
|
+
clearPath(agent.agentId)
|
|
107
|
+
|
|
108
|
+
elif window.buttonPressed[KeyA] or window.buttonPressed[KeyLeft]:
|
|
109
|
+
sendAction(agent.agentId, replay.moveActionId, W.int)
|
|
110
|
+
clearPath(agent.agentId)
|
|
111
|
+
|
|
112
|
+
# Put items
|
|
113
|
+
elif window.buttonPressed[KeyQ]:
|
|
114
|
+
sendAction(agent.agentId, replay.putItemsActionId, 0)
|
|
115
|
+
|
|
116
|
+
# Get items
|
|
117
|
+
elif window.buttonPressed[KeyE]:
|
|
118
|
+
sendAction(agent.agentId, replay.getItemsActionId, 0)
|
|
119
|
+
|
|
120
|
+
# Attack
|
|
121
|
+
elif window.buttonPressed[KeyZ]:
|
|
122
|
+
# TODO: Get implementation attack selection ui.
|
|
123
|
+
sendAction(agent.agentId, replay.attackActionId, 0)
|
|
124
|
+
|
|
125
|
+
# Noop
|
|
126
|
+
elif window.buttonPressed[KeyX]:
|
|
127
|
+
sendAction(agent.agentId, replay.noopActionId, 0)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import
|
|
2
|
+
std/[times, tables],
|
|
2
3
|
boxy, windy, vmath, fidget2,
|
|
3
4
|
replays
|
|
4
5
|
|
|
@@ -81,6 +82,7 @@ var
|
|
|
81
82
|
|
|
82
83
|
step*: int = 0
|
|
83
84
|
stepFloat*: float32 = 0
|
|
85
|
+
previousStep*: int = -1
|
|
84
86
|
replay*: Replay
|
|
85
87
|
play*: bool
|
|
86
88
|
playSpeed*: float32 = 0.1
|
|
@@ -89,15 +91,26 @@ var
|
|
|
89
91
|
|
|
90
92
|
## Signals when we want to give control back to Python (DLL mode only).
|
|
91
93
|
requestPython*: bool = false
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
|
|
95
|
+
type
|
|
96
|
+
ActionRequest* = object
|
|
97
|
+
agentId*: int
|
|
98
|
+
actionId*: int
|
|
99
|
+
argument*: int
|
|
100
|
+
|
|
101
|
+
var
|
|
102
|
+
requestActions*: seq[ActionRequest]
|
|
96
103
|
|
|
97
104
|
followSelection*: bool = false
|
|
98
105
|
mouseCaptured*: bool = false
|
|
99
106
|
mouseCapturedPanel*: Panel = nil
|
|
100
107
|
|
|
108
|
+
var
|
|
109
|
+
## Path queue for each agent. Maps agentId to a sequence of grid positions.
|
|
110
|
+
agentPaths* = initTable[int, seq[IVec2]]()
|
|
111
|
+
## Destination queue for each agent. Maps agentId to a sequence of destinations.
|
|
112
|
+
agentDestinations* = initTable[int, seq[IVec2]]()
|
|
113
|
+
|
|
101
114
|
proc at*[T](sequence: seq[T], step: int): T =
|
|
102
115
|
# Get the value at the given step.
|
|
103
116
|
if sequence.len == 0:
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import
|
|
2
|
+
std/[algorithm, tables],
|
|
3
|
+
vmath,
|
|
4
|
+
common, replays
|
|
5
|
+
|
|
6
|
+
type
|
|
7
|
+
PathNode = object
|
|
8
|
+
pos: IVec2
|
|
9
|
+
gCost: int
|
|
10
|
+
hCost: int
|
|
11
|
+
parent: int
|
|
12
|
+
|
|
13
|
+
proc fCost(node: PathNode): int =
|
|
14
|
+
## Calculate the total cost of a node.
|
|
15
|
+
node.gCost + node.hCost
|
|
16
|
+
|
|
17
|
+
proc heuristic(a, b: IVec2): int =
|
|
18
|
+
## Calculate the Manhattan distance heuristic.
|
|
19
|
+
abs(a.x - b.x) + abs(a.y - b.y)
|
|
20
|
+
|
|
21
|
+
proc isWalkablePos*(pos: IVec2): bool =
|
|
22
|
+
## Check if a position is walkable.
|
|
23
|
+
if pos.x < 0 or pos.x >= replay.mapSize[0] or pos.y < 0 or pos.y >= replay.mapSize[1]:
|
|
24
|
+
return false
|
|
25
|
+
for obj in replay.objects:
|
|
26
|
+
if obj.location.at(step).xy == pos:
|
|
27
|
+
let typeName = replay.typeNames[obj.typeId]
|
|
28
|
+
if typeName != "agent":
|
|
29
|
+
return false
|
|
30
|
+
return true
|
|
31
|
+
|
|
32
|
+
proc findPath*(start, goal: IVec2): seq[IVec2] =
|
|
33
|
+
## Find a path from start to goal using A* pathfinding.
|
|
34
|
+
if start == goal:
|
|
35
|
+
return @[]
|
|
36
|
+
if not isWalkablePos(goal):
|
|
37
|
+
return @[]
|
|
38
|
+
var openList: seq[PathNode] = @[PathNode(pos: start, gCost: 0, hCost: heuristic(start, goal), parent: -1)]
|
|
39
|
+
var closedSet: seq[IVec2] = @[]
|
|
40
|
+
var allNodes: seq[PathNode] = @[]
|
|
41
|
+
while openList.len > 0:
|
|
42
|
+
var currentIdx = 0
|
|
43
|
+
for i in 1 ..< openList.len:
|
|
44
|
+
if openList[i].fCost < openList[currentIdx].fCost:
|
|
45
|
+
currentIdx = i
|
|
46
|
+
let current = openList[currentIdx]
|
|
47
|
+
openList.delete(currentIdx)
|
|
48
|
+
closedSet.add(current.pos)
|
|
49
|
+
let currentNodeIdx = allNodes.len
|
|
50
|
+
allNodes.add(current)
|
|
51
|
+
if current.pos == goal:
|
|
52
|
+
var path: seq[IVec2] = @[]
|
|
53
|
+
var node = current
|
|
54
|
+
var nodeIdx = currentNodeIdx
|
|
55
|
+
while nodeIdx >= 0 and node.parent >= 0:
|
|
56
|
+
path.add(node.pos)
|
|
57
|
+
nodeIdx = node.parent
|
|
58
|
+
if nodeIdx >= 0:
|
|
59
|
+
node = allNodes[nodeIdx]
|
|
60
|
+
else:
|
|
61
|
+
break
|
|
62
|
+
path.add(start)
|
|
63
|
+
path.reverse()
|
|
64
|
+
return path
|
|
65
|
+
const directions = [ivec2(0, -1), ivec2(0, 1), ivec2(-1, 0), ivec2(1, 0)]
|
|
66
|
+
for dir in directions:
|
|
67
|
+
let neighborPos = ivec2(current.pos.x + dir.x, current.pos.y + dir.y)
|
|
68
|
+
if neighborPos.x < 0 or neighborPos.x >= replay.mapSize[0] or neighborPos.y < 0 or neighborPos.y >= replay.mapSize[1]:
|
|
69
|
+
continue
|
|
70
|
+
if neighborPos in closedSet:
|
|
71
|
+
continue
|
|
72
|
+
if not isWalkablePos(neighborPos):
|
|
73
|
+
continue
|
|
74
|
+
let newGCost = current.gCost + 1
|
|
75
|
+
var foundInOpen = false
|
|
76
|
+
for i in 0 ..< openList.len:
|
|
77
|
+
if openList[i].pos == neighborPos:
|
|
78
|
+
foundInOpen = true
|
|
79
|
+
if newGCost < openList[i].gCost:
|
|
80
|
+
openList[i].gCost = newGCost
|
|
81
|
+
openList[i].parent = currentNodeIdx
|
|
82
|
+
break
|
|
83
|
+
if not foundInOpen:
|
|
84
|
+
openList.add(PathNode(
|
|
85
|
+
pos: neighborPos,
|
|
86
|
+
gCost: newGCost,
|
|
87
|
+
hCost: heuristic(neighborPos, goal),
|
|
88
|
+
parent: currentNodeIdx
|
|
89
|
+
))
|
|
90
|
+
return @[]
|
|
91
|
+
|
|
92
|
+
proc clearPath*(agentId: int) =
|
|
93
|
+
## Clear the path and destination for an agent.
|
|
94
|
+
agentPaths.del(agentId)
|
|
95
|
+
agentDestinations.del(agentId)
|
|
96
|
+
|
|
97
|
+
proc recomputePath*(agentId: int, currentPos: IVec2) =
|
|
98
|
+
## Recompute the path for an agent to their current destination.
|
|
99
|
+
if not agentDestinations.hasKey(agentId) or agentDestinations[agentId].len == 0:
|
|
100
|
+
return
|
|
101
|
+
let destination = agentDestinations[agentId][0]
|
|
102
|
+
if currentPos == destination:
|
|
103
|
+
agentDestinations[agentId].delete(0)
|
|
104
|
+
agentPaths.del(agentId)
|
|
105
|
+
if agentDestinations[agentId].len > 0:
|
|
106
|
+
recomputePath(agentId, currentPos)
|
|
107
|
+
return
|
|
108
|
+
let newPath = findPath(currentPos, destination)
|
|
109
|
+
if newPath.len > 0:
|
|
110
|
+
agentPaths[agentId] = newPath
|
|
111
|
+
else:
|
|
112
|
+
clearPath(agentId)
|
|
113
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import
|
|
2
2
|
std/[times, math],
|
|
3
3
|
boxy, vmath, windy, fidget2, fidget2/[hybridrender, common],
|
|
4
|
-
common, panels, objectinfo
|
|
4
|
+
common, panels, actions, objectinfo
|
|
5
5
|
|
|
6
6
|
const
|
|
7
7
|
BgColor = parseHtmlColor("#1D1D1D")
|
|
@@ -29,6 +29,7 @@ proc onStepChanged*() =
|
|
|
29
29
|
## Must be called when the step changes so that UI is updated.
|
|
30
30
|
echo "step: ", step
|
|
31
31
|
updateObjectInfo()
|
|
32
|
+
processActions()
|
|
32
33
|
|
|
33
34
|
proc bindTimelineNodes() =
|
|
34
35
|
if nodesBound or globalTimelinePanel.isNil or globalTimelinePanel.node.isNil:
|
|
@@ -67,17 +68,22 @@ proc playControls*() =
|
|
|
67
68
|
stepFloat = replay.maxSteps.float32 - 1
|
|
68
69
|
step = stepFloat.int
|
|
69
70
|
step = step.clamp(0, replay.maxSteps - 1)
|
|
70
|
-
onStepChanged()
|
|
71
71
|
|
|
72
72
|
if window.buttonPressed[KeyLeftBracket]:
|
|
73
73
|
step -= 1
|
|
74
74
|
step = clamp(step, 0, replay.maxSteps - 1)
|
|
75
75
|
stepFloat = step.float32
|
|
76
|
-
onStepChanged()
|
|
77
76
|
if window.buttonPressed[KeyRightBracket]:
|
|
78
77
|
step += 1
|
|
78
|
+
if playMode == Realtime and step >= replay.maxSteps:
|
|
79
|
+
requestPython = true
|
|
80
|
+
step = replay.maxSteps - 1
|
|
79
81
|
step = clamp(step, 0, replay.maxSteps - 1)
|
|
80
82
|
stepFloat = step.float32
|
|
83
|
+
|
|
84
|
+
# Fire onStepChanged once and only once when step changes.
|
|
85
|
+
if step != previousStep:
|
|
86
|
+
previousStep = step
|
|
81
87
|
onStepChanged()
|
|
82
88
|
|
|
83
89
|
proc getStepFromX(localX, panelWidth: float32): int =
|
|
@@ -95,8 +101,11 @@ proc getStepFromX(localX, panelWidth: float32): int =
|
|
|
95
101
|
proc onScrubberChange(localX, panelWidth: float32) =
|
|
96
102
|
## Updates global step based on local X.
|
|
97
103
|
let s = getStepFromX(localX, panelWidth)
|
|
98
|
-
|
|
99
|
-
|
|
104
|
+
if s != step:
|
|
105
|
+
step = s
|
|
106
|
+
stepFloat = step.float32
|
|
107
|
+
previousStep = step
|
|
108
|
+
onStepChanged()
|
|
100
109
|
|
|
101
110
|
proc centerTracesOnStep(targetStep: int) =
|
|
102
111
|
## Recenters the Agent Traces panel on the given step.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import
|
|
2
|
+
std/[algorithm],
|
|
3
|
+
boxy, vmath, windy, fidget2/hybridrender
|
|
4
|
+
|
|
5
|
+
var
|
|
6
|
+
typeface*: Typeface
|
|
7
|
+
|
|
8
|
+
proc drawText*(
|
|
9
|
+
bxy: Boxy,
|
|
10
|
+
imageKey: string,
|
|
11
|
+
transform: Mat3,
|
|
12
|
+
typeface: Typeface,
|
|
13
|
+
text: string,
|
|
14
|
+
size: float32,
|
|
15
|
+
color: Color
|
|
16
|
+
) =
|
|
17
|
+
## Draw text on the screen.
|
|
18
|
+
var font = newFont(typeface)
|
|
19
|
+
font.size = size
|
|
20
|
+
font.paint = color
|
|
21
|
+
let
|
|
22
|
+
arrangement = typeset(@[newSpan(text, font)], bounds = vec2(1280, 800))
|
|
23
|
+
globalBounds = arrangement.computeBounds(transform).snapToPixels()
|
|
24
|
+
textImage = newImage(globalBounds.w.int, globalBounds.h.int)
|
|
25
|
+
imageSpace = translate(-globalBounds.xy) * transform
|
|
26
|
+
textImage.fillText(arrangement, imageSpace)
|
|
27
|
+
|
|
28
|
+
bxy.addImage(imageKey, textImage)
|
|
29
|
+
bxy.drawImage(imageKey, globalBounds.xy)
|
|
30
|
+
|
|
31
|
+
proc measureText*(
|
|
32
|
+
text: string,
|
|
33
|
+
size: float32,
|
|
34
|
+
typeface: Typeface
|
|
35
|
+
): Vec2 =
|
|
36
|
+
var font = newFont(typeface)
|
|
37
|
+
font.size = size
|
|
38
|
+
let arrangement = typeset(@[newSpan(text, font)], bounds = vec2(1280, 800))
|
|
39
|
+
let transform = translate(vec2(0, 0))
|
|
40
|
+
let bounds = arrangement.computeBounds(transform).snapToPixels()
|
|
41
|
+
return vec2(bounds.w, bounds.h)
|
|
42
|
+
|
|
43
|
+
proc drawBubbleLine*(bxy: Boxy, start: Vec2, stop: Vec2, color: Color) =
|
|
44
|
+
## Draw a line with circles.
|
|
45
|
+
let
|
|
46
|
+
dir = (stop - start).normalize
|
|
47
|
+
for i in 0 ..< int(dist(start, stop) / 5):
|
|
48
|
+
let pos = start + dir * i.float32 * 5
|
|
49
|
+
# bxy.drawImage(
|
|
50
|
+
# "bubble",
|
|
51
|
+
# pos,
|
|
52
|
+
# angle = 0,
|
|
53
|
+
# scale = 0.25,
|
|
54
|
+
# tint = color
|
|
55
|
+
# )
|
|
56
|
+
|
|
57
|
+
proc newSeq2D*[T](width: int, height: int): seq[seq[T]] =
|
|
58
|
+
result = newSeq[seq[T]](width)
|
|
59
|
+
for i in 0 ..< width:
|
|
60
|
+
result[i] = newSeq[T](height)
|
|
61
|
+
|
|
62
|
+
type
|
|
63
|
+
PathNode* = object
|
|
64
|
+
pos*: IVec2
|
|
65
|
+
gCost*: int
|
|
66
|
+
hCost*: int
|
|
67
|
+
parent*: int
|
|
68
|
+
|
|
69
|
+
proc fCost(node: PathNode): int =
|
|
70
|
+
## Calculate the total cost of a node.
|
|
71
|
+
node.gCost + node.hCost
|
|
72
|
+
|
|
73
|
+
proc heuristic(a, b: IVec2): int =
|
|
74
|
+
## Calculate the Manhattan distance heuristic.
|
|
75
|
+
abs(a.x - b.x) + abs(a.y - b.y)
|
|
76
|
+
|
|
77
|
+
proc findPath*(start, goal: IVec2, mapWidth, mapHeight: int, isWalkable: proc(pos: IVec2): bool): seq[IVec2] =
|
|
78
|
+
## Find a path from start to goal using A* pathfinding.
|
|
79
|
+
if start == goal:
|
|
80
|
+
return @[]
|
|
81
|
+
|
|
82
|
+
if not isWalkable(goal):
|
|
83
|
+
return @[]
|
|
84
|
+
|
|
85
|
+
var openList: seq[PathNode] = @[PathNode(pos: start, gCost: 0, hCost: heuristic(start, goal), parent: -1)]
|
|
86
|
+
var closedSet: seq[IVec2] = @[]
|
|
87
|
+
var allNodes: seq[PathNode] = @[]
|
|
88
|
+
|
|
89
|
+
while openList.len > 0:
|
|
90
|
+
var currentIdx = 0
|
|
91
|
+
for i in 1 ..< openList.len:
|
|
92
|
+
if openList[i].fCost < openList[currentIdx].fCost:
|
|
93
|
+
currentIdx = i
|
|
94
|
+
|
|
95
|
+
let current = openList[currentIdx]
|
|
96
|
+
openList.delete(currentIdx)
|
|
97
|
+
closedSet.add(current.pos)
|
|
98
|
+
|
|
99
|
+
let currentNodeIdx = allNodes.len
|
|
100
|
+
allNodes.add(current)
|
|
101
|
+
|
|
102
|
+
if current.pos == goal:
|
|
103
|
+
var path: seq[IVec2] = @[]
|
|
104
|
+
var node = current
|
|
105
|
+
var nodeIdx = currentNodeIdx
|
|
106
|
+
while nodeIdx >= 0 and node.parent >= 0:
|
|
107
|
+
path.add(node.pos)
|
|
108
|
+
nodeIdx = node.parent
|
|
109
|
+
if nodeIdx >= 0:
|
|
110
|
+
node = allNodes[nodeIdx]
|
|
111
|
+
else:
|
|
112
|
+
break
|
|
113
|
+
path.add(start)
|
|
114
|
+
path.reverse()
|
|
115
|
+
return path
|
|
116
|
+
|
|
117
|
+
const directions = [ivec2(0, -1), ivec2(0, 1), ivec2(-1, 0), ivec2(1, 0)]
|
|
118
|
+
|
|
119
|
+
for dir in directions:
|
|
120
|
+
let neighborPos = ivec2(current.pos.x + dir.x, current.pos.y + dir.y)
|
|
121
|
+
|
|
122
|
+
if neighborPos.x < 0 or neighborPos.x >= mapWidth or neighborPos.y < 0 or neighborPos.y >= mapHeight:
|
|
123
|
+
continue
|
|
124
|
+
|
|
125
|
+
if neighborPos in closedSet:
|
|
126
|
+
continue
|
|
127
|
+
|
|
128
|
+
if not isWalkable(neighborPos):
|
|
129
|
+
continue
|
|
130
|
+
|
|
131
|
+
let newGCost = current.gCost + 1
|
|
132
|
+
|
|
133
|
+
var foundInOpen = false
|
|
134
|
+
for i in 0 ..< openList.len:
|
|
135
|
+
if openList[i].pos == neighborPos:
|
|
136
|
+
foundInOpen = true
|
|
137
|
+
if newGCost < openList[i].gCost:
|
|
138
|
+
openList[i].gCost = newGCost
|
|
139
|
+
openList[i].parent = currentNodeIdx
|
|
140
|
+
break
|
|
141
|
+
|
|
142
|
+
if not foundInOpen:
|
|
143
|
+
openList.add(PathNode(
|
|
144
|
+
pos: neighborPos,
|
|
145
|
+
gCost: newGCost,
|
|
146
|
+
hCost: heuristic(neighborPos, goal),
|
|
147
|
+
parent: currentNodeIdx
|
|
148
|
+
))
|
|
149
|
+
|
|
150
|
+
return @[]
|