mettagrid 0.2.0.7__tar.gz → 0.2.0.36__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.
- mettagrid-0.2.0.36/.bazelrc +93 -0
- mettagrid-0.2.0.36/.clang-format +23 -0
- mettagrid-0.2.0.36/.clang-tidy +19 -0
- mettagrid-0.2.0.36/.gitignore +7 -0
- mettagrid-0.2.0.36/BUILD.bazel +46 -0
- mettagrid-0.2.0.36/CPPLINT.cfg +2 -0
- mettagrid-0.2.0.36/MANIFEST.in +15 -0
- mettagrid-0.2.0.36/MODULE.bazel +44 -0
- mettagrid-0.2.0.36/Makefile +58 -0
- mettagrid-0.2.0.36/PKG-INFO +366 -0
- mettagrid-0.2.0.36/README.md +345 -0
- mettagrid-0.2.0.36/bazel_build.py +247 -0
- mettagrid-0.2.0.36/benchmarks/test_mettagrid_env_benchmark.cpp +302 -0
- mettagrid-0.2.0.36/benchmarks/test_mettagrid_env_benchmark.py +151 -0
- mettagrid-0.2.0.36/configs/README.md +4 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/boxout.map +28 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/choose_wisely.map +39 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/corners.map +28 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/corridors.map +35 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/cylinder.map +45 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/cylinder_easy.map +30 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/easy_memory.map +43 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/emptyspace_outofsight.map +56 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/hall_of_mirrors.map +36 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/hard_memory.map +74 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/honeypot.map +34 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/journey_home.map +41 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/knotty.map +38 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/labyrinth.map +35 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/little_landmark_easy.map +24 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/little_landmark_hard.map +29 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/lobster_legs.map +52 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/lobster_legs_cues.map +56 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/medium_memory.map +52 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/memory3.map +25 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/memory_palace.map +32 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/memory_swirls.map +30 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/memory_swirls_hard.map +39 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/obstacles0.map +32 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/obstacles1.map +41 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/obstacles2.map +34 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/obstacles3.map +39 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/passing_things.map +41 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/radial_large.map +40 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/radial_maze.map +32 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/radial_mini.map +20 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/radial_small.map +28 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/rooms.map +56 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/spacey_memory.map +34 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/spiral_chamber.map +39 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/swirls.map +34 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/tease.map +53 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/tease_small.map +26 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/thecube.map +28 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/venture_out.map +35 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/walkaround.map +28 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/walls_outofsight.map +30 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/walls_withinsight.map +19 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/wanderout.map +38 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/which_way.map +19 -0
- mettagrid-0.2.0.36/configs/maps/navigation_sequence/you_shall_not_pass.map +44 -0
- mettagrid-0.2.0.36/configs/maps/object_use/shoot_out.map +20 -0
- mettagrid-0.2.0.36/configs/maps/object_use/swap_in.map +20 -0
- mettagrid-0.2.0.36/configs/maps/object_use/swap_out.map +20 -0
- mettagrid-0.2.0.36/cpp/BUILD.bazel +63 -0
- mettagrid-0.2.0.36/cpp/README.md +3 -0
- mettagrid-0.2.0.36/cpp/bindings/mettagrid_c.cpp +992 -0
- mettagrid-0.2.0.36/cpp/bindings/mettagrid_c.hpp +173 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/action_handler.hpp +241 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/attack.hpp +218 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/change_vibe.hpp +66 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/move.hpp +104 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/move_config.hpp +36 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/noop.hpp +26 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/orientation.hpp +102 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/actions/resource_mod.hpp +154 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/config/mettagrid_config.hpp +153 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/config/observation_features.hpp +112 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/core/grid.hpp +102 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/core/grid_object.hpp +89 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/core/types.hpp +65 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/agent.hpp +81 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/agent_config.hpp +113 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/assembler.hpp +520 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/assembler_config.hpp +58 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/chest.hpp +139 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/chest_config.hpp +48 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/constants.hpp +17 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/has_inventory.hpp +42 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/has_vibe.hpp +20 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/inventory.hpp +43 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/inventory_config.hpp +30 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/protocol.hpp +38 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/objects/wall.hpp +55 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/renderer/hermes.hpp +57 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/systems/clipper.hpp +241 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/systems/clipper_config.hpp +38 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/systems/observation_encoder.hpp +115 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/systems/packed_coordinate.hpp +172 -0
- mettagrid-0.2.0.36/cpp/include/mettagrid/systems/stats_tracker.hpp +67 -0
- mettagrid-0.2.0.36/cpp/src/mettagrid/config/observation_features.cpp +36 -0
- mettagrid-0.2.0.36/cpp/src/mettagrid/objects/agent.cpp +204 -0
- mettagrid-0.2.0.36/cpp/src/mettagrid/objects/has_inventory.cpp +118 -0
- mettagrid-0.2.0.36/cpp/src/mettagrid/objects/inventory.cpp +94 -0
- mettagrid-0.2.0.36/demo.py +35 -0
- mettagrid-0.2.0.36/demos/README.md +218 -0
- mettagrid-0.2.0.36/demos/demo_train_pettingzoo.py +231 -0
- mettagrid-0.2.0.36/demos/demo_train_puffer.py +271 -0
- mettagrid-0.2.0.36/docs/actions.md +167 -0
- mettagrid-0.2.0.36/docs/observations.md +121 -0
- mettagrid-0.2.0.36/docs/simulator_api.md +477 -0
- mettagrid-0.2.0.36/lint/README.md +67 -0
- mettagrid-0.2.0.36/nim/mettascope/AGENTS.md +167 -0
- mettagrid-0.2.0.36/nim/mettascope/README.md +28 -0
- mettagrid-0.2.0.36/nim/mettascope/bindings/bindings.nim +95 -0
- mettagrid-0.2.0.36/nim/mettascope/bindings/bindings.nims +16 -0
- mettagrid-0.2.0.36/nim/mettascope/cors_http_server.py +57 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/arrow.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack1.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack2.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack3.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack4.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack5.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack6.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack7.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack8.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack9.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/attack_nearest.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/converting.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/get_items.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/attack.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/change_color.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/get_items.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/move.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/noop.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/put_items.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/rotate.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/swap.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/icons/unknown.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/put_items.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/swap.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/thoughts.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/actions/unknown.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/agent.e.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/agent.n.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/agent.s.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/agent.w.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/footprints.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/frozen.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/future_arrow.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/past_arrow.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/agents/path.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/atlas.json +425 -0
- mettagrid-0.2.0.36/nim/mettascope/data/atlas.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/blob7x8.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/crosshair.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/dash.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/effects/halo.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/alien.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/angry.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/down.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/happy.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/left.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/love.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/poo.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/right.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/sad.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/skull.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/sparkle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/emoji/up.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +86175 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +1 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/2d993430f151c64eae41bc886ec16271d2feab6c.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fog7x8.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/info.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/meta_grid_icon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/minimapPip.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/agent.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/altar.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/armory.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/assembler.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/assembler.working.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/block.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/carbon_ex_dep.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/carbon_extractor.clipped.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/carbon_extractor.clipped2.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/carbon_extractor.clipped3.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/carbon_extractor.full.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/carbon_extractor.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/charger-1.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/charger.clipped.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/charger.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/charger_ex_dep.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/chest.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/chest_carbon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/chest_germanium.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/chest_oxygen.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/chest_silicon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/clay_oven.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/converter.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/factory.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/generator.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/generator_blue.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/generator_green.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/generator_red.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/germanium_ex_dep.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/germanium_extractor.clipped.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/germanium_extractor.clipped2.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/germanium_extractor.clipped3.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/germanium_extractor.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/ice_tower.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/ice_vase.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/lab.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/lasery.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/mine.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/mine_blue.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/mine_green.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/mine_red.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/oxygen_ex_dep.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/oxygen_extractor.clipped.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/oxygen_extractor.clipped2.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/oxygen_extractor.clipped3.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/oxygen_extractor.full.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/oxygen_extractor.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/palm_tree.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/silicon_ex_dep.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/silicon_extractor.clipped.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/silicon_extractor.clipped2.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/silicon_extractor.clipped3.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/silicon_extractor.full.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/silicon_extractor.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/temple.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/trash.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/unknown.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/water_well.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/weaving_loom.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/objects/wheat_field.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/replays/pens.json.z +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/agent_id.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/armor.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery.blue.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery.green.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery.red.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery_blue.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery_green.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/battery_red.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/blue_gem.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/blueprint.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/bread.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/carbon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/coal.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/coconut.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/copper_ore.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/decoder.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/diamond.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/energy.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/germanium.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/gold_ore.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/green_gem.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ice_granade.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/iron_ore.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/laser.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/lizard_hide.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/modulator.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/oil.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore.blue.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore.green.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore.red.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore_blue.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore_green.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/ore_red.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/oxygen.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/palm_fiber.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/red_gem.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/resonator.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/reward.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/salt_water.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/sand.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/scrambler.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/silicon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/sisal.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/snake_skin.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/snow_ball.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/star.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/stone.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/straw_hat.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/turtle_shell.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/unknown.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/water.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/wheat.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/yellow_gem.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/resources/yucca_fiber.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/selection.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/target.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/tile.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/attack.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/attack_nearest.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/change_color.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/frozen.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/get_items.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/invalid.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/move.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/move_8way.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/move_cardinal.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/noop.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/put_items.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/rotate.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/swap.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/trace/unknown.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/LICENSE.md +58 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/alembic.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/angry.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/anxious.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/assembler.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/asterisk.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/backpack.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/beaming.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/black-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/black-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/blue-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/blue-diamond.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/blue-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/bow.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/broken-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/brown-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/brown-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/brown-square.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/carbon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/carbon_a.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/carbon_b.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/carrot.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/charger.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/chart-down.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/chart-up.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/chest.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/clown.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/coin.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/compass.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/confused.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/corn.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/crying-cat.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/crying.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/dagger.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/default.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/diamond.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/divide.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/down-left.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/down-right.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/down.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/drooling.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/eight.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/factory.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/fearful.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/fire.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/five.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/four.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/fuel.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/gear.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/germanium.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/germanium_a.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/germanium_b.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/ghost.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/green-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/green-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/grinning-big-eyes.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/grinning-smiling-eyes.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/grinning.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/growing-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/halo.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/hammer.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/hash.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart-arrow.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart-decoration.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart-exclamation.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart-eyes.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart-ribbon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart_a.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/heart_b.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/hundred.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/kiss.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/left.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/light-shade.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/lightning.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/love-letter.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/medium-shade.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/minus.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/moai.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/money.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/monocle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/mountain.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/multiply.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/nine.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/numbers.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/oil.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/one.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/orange-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/orange-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/orange-square.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/oxygen.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/oxygen_a.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/oxygen_b.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/package.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/paperclip.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/pin.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/plug.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/plus.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/pouting.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/purple-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/purple-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/purple-square.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/pushpin.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/red-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/red-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/red-triangle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/revolving-hearts.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/right.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/rock.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/rocket.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/rofl.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/rolling-eyes.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/rotate-clockwise.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/rotate.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/savoring.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/seahorse.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/seven.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/shield.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/silicon.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/silicon_a.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/silicon_b.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/six.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/skull-crossbones.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/sleepy.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/small-blue-diamond.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/smiling.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/smirking.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/sobbing.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/sparkle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/sparkling-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/squinting.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/star-struck.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/swearing.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/swords.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/target.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/tears-of-joy.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/ten.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/test-tube.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/three.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/tree.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/two-hearts.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/two.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/up-left.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/up-right.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/up.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/wall.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/water.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/wave.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/wheat.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/white-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/white-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/white-square.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/wood.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/wrench.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/yawning.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/yellow-circle.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/yellow-heart.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/yellow-square.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/vibe/zero.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/view/fog.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/view/grid.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/view/grid10.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/data/white.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/docs/replay_spec.md +251 -0
- mettagrid-0.2.0.36/nim/mettascope/mettascope.nimble +28 -0
- mettagrid-0.2.0.36/nim/mettascope/nimby.lock +22 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/actions.nim +158 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/agenttable.nim +12 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/agenttraces.nim +114 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/allocator.nim +137 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/common.nim +201 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/envconfig.nim +24 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/footer.nim +69 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/minimap.nim +46 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/objectinfo.nim +129 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/panels.nim +514 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/pathfinding.nim +147 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/pixelator.nim +236 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/replays.nim +756 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/shaderquad.nim +124 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/shell.html +100 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/sim.nim +831 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/tilemap.nim +405 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/timeline.nim +270 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/utils.nim +136 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/validation.nim +716 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/vibes.nim +75 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope/worldmap.nim +822 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope.nim +208 -0
- mettagrid-0.2.0.36/nim/mettascope/src/mettascope.nims +52 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/bench_pathfinding.nim +113 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/config.nims +2 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/manual_pixelator.nim +88 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/manual_tilemap.nim +161 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/manual_url_replay.nim +95 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/perlin.nim +71 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/test_pathfinding.nim +202 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/test_replay.nim +61 -0
- mettagrid-0.2.0.36/nim/mettascope/tests/test_validation.nim +133 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/blob7x7.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/blob7x7plain.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/blob7x8.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/floor_tiles.png +0 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/gen_atlas.nim +13 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/genvibes.nim +30 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/patterngen.nim +86 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/tilepuzzle.nim +194 -0
- mettagrid-0.2.0.36/nim/mettascope/tools/tilepuzzle.png +0 -0
- mettagrid-0.2.0.36/pyproject.toml +90 -0
- mettagrid-0.2.0.36/python/README.md +3 -0
- mettagrid-0.2.0.36/python/src/mettagrid/__init__.py +97 -0
- mettagrid-0.2.0.36/python/src/mettagrid/base_config.py +148 -0
- mettagrid-0.2.0.36/python/src/mettagrid/builder/building.py +72 -0
- mettagrid-0.2.0.36/python/src/mettagrid/builder/empty_assemblers.py +84 -0
- mettagrid-0.2.0.36/python/src/mettagrid/builder/envs.py +176 -0
- mettagrid-0.2.0.36/python/src/mettagrid/config/__init__.py +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/config/id_map.py +137 -0
- mettagrid-0.2.0.36/python/src/mettagrid/config/mettagrid_c_config.py +460 -0
- mettagrid-0.2.0.36/python/src/mettagrid/config/mettagrid_config.py +487 -0
- mettagrid-0.2.0.36/python/src/mettagrid/config/obs_config.py +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/config/vibes.py +192 -0
- mettagrid-0.2.0.36/python/src/mettagrid/demo.py +116 -0
- mettagrid-0.2.0.36/python/src/mettagrid/envs/early_reset_handler.py +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/envs/mettagrid_puffer_env.py +251 -0
- mettagrid-0.2.0.36/python/src/mettagrid/envs/pettingzoo_env.py +216 -0
- mettagrid-0.2.0.36/python/src/mettagrid/envs/stats_tracker.py +165 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/__init__.py +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/ascii.py +72 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/assembler_map_builder.py +268 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/map_builder.py +254 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/maze.py +112 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/perimeter_incontext.py +313 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/random.py +96 -0
- mettagrid-0.2.0.36/python/src/mettagrid/map_builder/utils.py +94 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/area.py +91 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/mapgen.py +462 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/mapgen_ascii.py +51 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scene.py +511 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/ascii.py +37 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/auto.py +155 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/base_hub.py +430 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/biome_caves.py +83 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/biome_city.py +117 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/biome_desert.py +76 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/biome_forest.py +82 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/bounded_layout.py +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/bsp.py +429 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/building_distributions.py +450 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/convchain.py +188 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/copy_grid.py +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/README.md +7 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +41 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +39 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +41 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +39 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +43 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dolorous_arrival_somebody's_watching_me.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +41 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +47 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +39 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +5 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +9 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +11 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +15 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +15 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +15 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +9 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +9 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +43 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +27 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +27 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +41 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +37 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +49 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +37 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +45 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +11 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +27 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +15 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +39 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +53 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +41 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +37 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +45 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +29 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +39 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +9 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +15 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +27 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +31 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +15 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +21 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +17 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +13 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +38 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +36 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +38 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +36 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +40 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dolorous_arrival_somebody's_watching_me.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +38 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +44 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +36 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +2 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +6 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +8 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +12 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +12 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +12 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +6 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +6 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +40 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +24 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +24 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +38 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +34 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +34 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +28 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +42 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +8 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +24 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +12 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +36 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +28 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +28 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +50 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +38 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +34 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +42 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +26 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +36 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +6 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +12 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +24 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +22 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +28 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +28 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +28 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +16 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +12 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +18 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +10 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/grid_altars.py +117 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/inline_ascii.py +44 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/layout.py +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/make_connected.py +162 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/maze.py +224 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/mean_distance.py +47 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/mirror.py +154 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +105 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/nop.py +14 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/radial_maze.py +74 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/random.py +68 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +46 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/random_objects.py +33 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/random_scene.py +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +30 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/remove_agents.py +25 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/room_grid.py +76 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/spiral.py +103 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/transplant_scene.py +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/varied_terrain.py +373 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/wfc.py +268 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/scenes/yaml.py +20 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/tools/gen.py +48 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/tools/gen_scene.py +45 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/types.py +9 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/utils/ascii_grid.py +109 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/utils/make_scene_config.py +32 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/utils/show.py +19 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/utils/storable_map.py +109 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mapgen/utils/thumbnail.py +367 -0
- mettagrid-0.2.0.36/python/src/mettagrid/mettagrid_c.pyi +244 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/loader.py +200 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/lstm.py +265 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/noop.py +37 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/policy.py +390 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/policy_env_interface.py +89 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/policy_registry.py +46 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/random_agent.py +45 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/stateless.py +104 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/token_encoder.py +179 -0
- mettagrid-0.2.0.36/python/src/mettagrid/policy/utils.py +98 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/altar.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/atlas.json +920 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/atlas.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/converter.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/generator.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/items.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/monsters.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/assets/wall.png +0 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/log_renderer.py +48 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/mettascope.py +233 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/buffer.py +262 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/__init__.py +23 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/agent_control.py +107 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/agent_info.py +174 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/base.py +93 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/help_panel.py +152 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/map.py +127 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/object_info.py +161 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/sim_control.py +136 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/symbols_table.py +101 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/components/vibe_picker.py +159 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/miniscope.py +420 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/miniscope_panel.py +265 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/miniscope_state.py +256 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/miniscope/symbol.py +45 -0
- mettagrid-0.2.0.36/python/src/mettagrid/renderer/renderer.py +76 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/__init__.py +35 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/interface.py +56 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/map_cache.py +418 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/multi_episode/rollout.py +130 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/multi_episode/summary.py +120 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/replay_log_writer.py +195 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/rollout.py +83 -0
- mettagrid-0.2.0.36/python/src/mettagrid/simulator/simulator.py +425 -0
- mettagrid-0.2.0.36/python/src/mettagrid/test_support/__init__.py +6 -0
- mettagrid-0.2.0.36/python/src/mettagrid/test_support/actions.py +335 -0
- mettagrid-0.2.0.36/python/src/mettagrid/test_support/map_builders.py +27 -0
- mettagrid-0.2.0.36/python/src/mettagrid/test_support/mapgen.py +94 -0
- mettagrid-0.2.0.36/python/src/mettagrid/types.py +48 -0
- mettagrid-0.2.0.36/python/src/mettagrid/util/file.py +154 -0
- mettagrid-0.2.0.36/python/src/mettagrid/util/grid_object_formatter.py +146 -0
- mettagrid-0.2.0.36/python/src/mettagrid/util/module.py +34 -0
- mettagrid-0.2.0.36/python/src/mettagrid/util/stats_writer.py +69 -0
- mettagrid-0.2.0.36/python/src/mettagrid.egg-info/PKG-INFO +366 -0
- mettagrid-0.2.0.36/python/src/mettagrid.egg-info/SOURCES.txt +1086 -0
- mettagrid-0.2.0.36/python/src/mettagrid.egg-info/dependency_links.txt +1 -0
- mettagrid-0.2.0.36/python/src/mettagrid.egg-info/requires.txt +7 -0
- mettagrid-0.2.0.36/scripts/build_asan.sh +3 -0
- mettagrid-0.2.0.36/scripts/test_leaks.sh +3 -0
- mettagrid-0.2.0.36/tests/BUILD +165 -0
- mettagrid-0.2.0.36/tests/__init__.py +1 -0
- mettagrid-0.2.0.36/tests/cpplint.sh +14 -0
- mettagrid-0.2.0.36/tests/map_builder/__init__.py +1 -0
- mettagrid-0.2.0.36/tests/map_builder/test_ascii.py +313 -0
- mettagrid-0.2.0.36/tests/map_builder/test_map_builder.py +84 -0
- mettagrid-0.2.0.36/tests/map_builder/test_polymorphic_serialization.py +240 -0
- mettagrid-0.2.0.36/tests/map_builder/test_utils.py +237 -0
- mettagrid-0.2.0.36/tests/mapgen/__init__.py +1 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/__init__.py +1 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/fixtures/dir1/1.yaml +2 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/fixtures/dir1/2.yaml +2 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/fixtures/test.map +10 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/fixtures/test.yaml +4 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_ascii.py +30 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_auto.py +52 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_bsp.py +22 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_convchain.py +21 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_inline_ascii.py +59 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_layout.py +77 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_make_connected.py +17 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_maze.py +38 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_mean_distance.py +87 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_mirror.py +71 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_multi_left_and_right.py +11 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_nop.py +8 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_radial_maze.py +167 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_random.py +28 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_random_dcss_scene.py +11 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_random_objects.py +13 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_random_scene.py +25 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_random_yaml_scene.py +29 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_remove_agents.py +40 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_room_grid.py +70 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_utils.py +26 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_wfc.py +18 -0
- mettagrid-0.2.0.36/tests/mapgen/scenes/test_yaml.py +12 -0
- mettagrid-0.2.0.36/tests/mapgen/test_mapgen.py +224 -0
- mettagrid-0.2.0.36/tests/mapgen/test_scene.py +166 -0
- mettagrid-0.2.0.36/tests/mapgen/test_transform.py +229 -0
- mettagrid-0.2.0.36/tests/mapgen/utils/test_pattern.py +240 -0
- mettagrid-0.2.0.36/tests/mapgen/utils/test_storable_map.py +80 -0
- mettagrid-0.2.0.36/tests/policy/test_lstm.py +172 -0
- mettagrid-0.2.0.36/tests/profiling/test_stopwatch.py +1400 -0
- mettagrid-0.2.0.36/tests/profiling/test_system_monitor.py +65 -0
- mettagrid-0.2.0.36/tests/renderer/test_miniscope_interactions.py +229 -0
- mettagrid-0.2.0.36/tests/renderer/test_miniscope_panel.py +265 -0
- mettagrid-0.2.0.36/tests/renderer/test_miniscope_state.py +371 -0
- mettagrid-0.2.0.36/tests/test_action_compatibility.py +368 -0
- mettagrid-0.2.0.36/tests/test_actions.py +327 -0
- mettagrid-0.2.0.36/tests/test_agent_resource_sharing.py +107 -0
- mettagrid-0.2.0.36/tests/test_assembler_partial_usage.py +199 -0
- mettagrid-0.2.0.36/tests/test_attack_resource_exception.py +104 -0
- mettagrid-0.2.0.36/tests/test_buffer_reuse.py +176 -0
- mettagrid-0.2.0.36/tests/test_buffers.py +508 -0
- mettagrid-0.2.0.36/tests/test_chest.py +82 -0
- mettagrid-0.2.0.36/tests/test_clipper.cpp +347 -0
- mettagrid-0.2.0.36/tests/test_env_config_serialization.py +97 -0
- mettagrid-0.2.0.36/tests/test_env_map.py +11 -0
- mettagrid-0.2.0.36/tests/test_global_obs_config.py +180 -0
- mettagrid-0.2.0.36/tests/test_global_observations.py +141 -0
- mettagrid-0.2.0.36/tests/test_grid_object.cpp +61 -0
- mettagrid-0.2.0.36/tests/test_grid_objects_properties.py +318 -0
- mettagrid-0.2.0.36/tests/test_has_inventory.cpp +237 -0
- mettagrid-0.2.0.36/tests/test_inventory_regeneration.py +158 -0
- mettagrid-0.2.0.36/tests/test_leaks.py +79 -0
- mettagrid-0.2.0.36/tests/test_map_cache.py +290 -0
- mettagrid-0.2.0.36/tests/test_mettagrid.cpp +1980 -0
- mettagrid-0.2.0.36/tests/test_mettagrid.py +141 -0
- mettagrid-0.2.0.36/tests/test_mettagrid_puffer_env.py +352 -0
- mettagrid-0.2.0.36/tests/test_move.py +671 -0
- mettagrid-0.2.0.36/tests/test_observations.py +545 -0
- mettagrid-0.2.0.36/tests/test_pettingzoo_env.py +364 -0
- mettagrid-0.2.0.36/tests/test_resource_loss.py +172 -0
- mettagrid-0.2.0.36/tests/test_resource_mod_config.py +125 -0
- mettagrid-0.2.0.36/tests/test_rewards.py +178 -0
- mettagrid-0.2.0.36/tests/test_set_inventory.py +100 -0
- mettagrid-0.2.0.36/tests/test_sim_agent.py +299 -0
- mettagrid-0.2.0.36/tests/test_stats_tracker.cpp +68 -0
- mettagrid-0.2.0.36/tests/test_summary_generation.py +110 -0
- mettagrid-0.2.0.36/tests/test_tags.py +739 -0
- mettagrid-0.2.0.36/tests/test_vibe_based_sharing.py +183 -0
- mettagrid-0.2.0.36/tests/test_wall_visibility_default.py +43 -0
- mettagrid-0.2.0.7/.bazelrc +0 -79
- mettagrid-0.2.0.7/BUILD.bazel +0 -45
- mettagrid-0.2.0.7/MANIFEST.in +0 -12
- mettagrid-0.2.0.7/MODULE.bazel +0 -30
- mettagrid-0.2.0.7/MODULE.bazel.lock +0 -420
- mettagrid-0.2.0.7/PKG-INFO +0 -256
- mettagrid-0.2.0.7/README.md +0 -226
- mettagrid-0.2.0.7/bazel_build.py +0 -143
- mettagrid-0.2.0.7/benchmarks/test_mettagrid_env_benchmark.cpp +0 -298
- mettagrid-0.2.0.7/benchmarks/test_mettagrid_env_benchmark.py +0 -180
- mettagrid-0.2.0.7/cpp/BUILD.bazel +0 -64
- mettagrid-0.2.0.7/cpp/bindings/mettagrid_c.cpp +0 -973
- mettagrid-0.2.0.7/cpp/bindings/mettagrid_c.hpp +0 -181
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/action_handler.hpp +0 -200
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/attack.hpp +0 -235
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/change_color.hpp +0 -40
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/change_glyph.hpp +0 -54
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/get_output.hpp +0 -58
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/move.hpp +0 -79
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/noop.hpp +0 -24
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/orientation.hpp +0 -128
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -56
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/rotate.hpp +0 -49
- mettagrid-0.2.0.7/cpp/include/mettagrid/actions/swap.hpp +0 -42
- mettagrid-0.2.0.7/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -130
- mettagrid-0.2.0.7/cpp/include/mettagrid/core/event.hpp +0 -87
- mettagrid-0.2.0.7/cpp/include/mettagrid/core/grid.hpp +0 -194
- mettagrid-0.2.0.7/cpp/include/mettagrid/core/grid_object.hpp +0 -88
- mettagrid-0.2.0.7/cpp/include/mettagrid/core/hash.hpp +0 -130
- mettagrid-0.2.0.7/cpp/include/mettagrid/core/types.hpp +0 -63
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/agent.hpp +0 -257
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/agent_config.hpp +0 -103
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/assembler.hpp +0 -229
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/assembler_config.hpp +0 -36
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/chest.hpp +0 -170
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/chest_config.hpp +0 -48
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/constants.hpp +0 -109
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/converter.hpp +0 -223
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/converter_config.hpp +0 -95
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/has_inventory.hpp +0 -38
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/production_handler.hpp +0 -53
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/recipe.hpp +0 -38
- mettagrid-0.2.0.7/cpp/include/mettagrid/objects/wall.hpp +0 -65
- mettagrid-0.2.0.7/cpp/include/mettagrid/renderer/hermes.hpp +0 -50
- mettagrid-0.2.0.7/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -98
- mettagrid-0.2.0.7/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -173
- mettagrid-0.2.0.7/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -165
- mettagrid-0.2.0.7/cpp/src/renderer/hermes.cpp +0 -1245
- mettagrid-0.2.0.7/mettagrid.egg-info/PKG-INFO +0 -256
- mettagrid-0.2.0.7/mettagrid.egg-info/SOURCES.txt +0 -240
- mettagrid-0.2.0.7/mettagrid.egg-info/requires.txt +0 -16
- mettagrid-0.2.0.7/pyproject.toml +0 -78
- mettagrid-0.2.0.7/python/src/mettagrid/__init__.py +0 -62
- mettagrid-0.2.0.7/python/src/mettagrid/builder/__init__.py +0 -7
- mettagrid-0.2.0.7/python/src/mettagrid/builder/building.py +0 -176
- mettagrid-0.2.0.7/python/src/mettagrid/builder/empty_converters.py +0 -85
- mettagrid-0.2.0.7/python/src/mettagrid/builder/envs.py +0 -261
- mettagrid-0.2.0.7/python/src/mettagrid/config/__init__.py +0 -35
- mettagrid-0.2.0.7/python/src/mettagrid/config/config.py +0 -106
- mettagrid-0.2.0.7/python/src/mettagrid/config/mettagrid_c_config.py +0 -422
- mettagrid-0.2.0.7/python/src/mettagrid/config/mettagrid_config.py +0 -243
- mettagrid-0.2.0.7/python/src/mettagrid/core.py +0 -297
- mettagrid-0.2.0.7/python/src/mettagrid/demo.py +0 -35
- mettagrid-0.2.0.7/python/src/mettagrid/envs/__init__.py +0 -13
- mettagrid-0.2.0.7/python/src/mettagrid/envs/gym_env.py +0 -127
- mettagrid-0.2.0.7/python/src/mettagrid/envs/gym_wrapper.py +0 -63
- mettagrid-0.2.0.7/python/src/mettagrid/envs/mettagrid_env.py +0 -310
- mettagrid-0.2.0.7/python/src/mettagrid/envs/pettingzoo_env.py +0 -213
- mettagrid-0.2.0.7/python/src/mettagrid/envs/puffer_base.py +0 -143
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/__init__.py +0 -10
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/ascii.py +0 -38
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/map_builder.py +0 -147
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/maze.py +0 -122
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -330
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/random.py +0 -95
- mettagrid-0.2.0.7/python/src/mettagrid/map_builder/utils.py +0 -94
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/load.py +0 -35
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/mapgen.py +0 -322
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/mapgen_ascii.py +0 -51
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scene.py +0 -323
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/ascii.py +0 -41
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/auto.py +0 -149
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/bsp.py +0 -417
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/convchain.py +0 -180
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/copy_grid.py +0 -36
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -118
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/inline_ascii.py +0 -42
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/layout.py +0 -31
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -163
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/maze.py +0 -212
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -48
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/mirror.py +0 -120
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -117
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/nop.py +0 -15
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -50
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/random.py +0 -65
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -48
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -35
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/random_scene.py +0 -31
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -32
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -26
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -77
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/spiral.py +0 -104
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/transplant_scene.py +0 -42
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -376
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/wfc.py +0 -269
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/scenes/yaml.py +0 -22
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/tools/gen.py +0 -94
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/tools/gen_scene.py +0 -51
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/tools/view.py +0 -25
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/types.py +0 -81
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/ascii_grid.py +0 -55
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -36
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/s3utils.py +0 -44
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/show.py +0 -21
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/storable_map.py +0 -117
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/storable_map_index.py +0 -92
- mettagrid-0.2.0.7/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -360
- mettagrid-0.2.0.7/python/src/mettagrid/mettagrid_c.pyi +0 -226
- mettagrid-0.2.0.7/python/src/mettagrid/mettagrid_c.so +0 -0
- mettagrid-0.2.0.7/python/src/mettagrid/profiling/__init__.py +0 -1
- mettagrid-0.2.0.7/python/src/mettagrid/renderer/miniscope.py +0 -138
- mettagrid-0.2.0.7/python/src/mettagrid/renderer/nethack.py +0 -101
- mettagrid-0.2.0.7/python/src/mettagrid/test_support/__init__.py +0 -7
- mettagrid-0.2.0.7/python/src/mettagrid/test_support/actions.py +0 -426
- mettagrid-0.2.0.7/python/src/mettagrid/test_support/mapgen.py +0 -77
- mettagrid-0.2.0.7/python/src/mettagrid/util/char_encoder.py +0 -55
- mettagrid-0.2.0.7/python/src/mettagrid/util/episode_stats_db.py +0 -157
- mettagrid-0.2.0.7/python/src/mettagrid/util/file.py +0 -503
- mettagrid-0.2.0.7/python/src/mettagrid/util/grid_object_formatter.py +0 -95
- mettagrid-0.2.0.7/python/src/mettagrid/util/module.py +0 -12
- mettagrid-0.2.0.7/python/src/mettagrid/util/replay_writer.py +0 -136
- mettagrid-0.2.0.7/python/src/mettagrid/util/stats_writer.py +0 -55
- mettagrid-0.2.0.7/python/src/mettagrid/util/uri.py +0 -162
- mettagrid-0.2.0.7/tests/BUILD +0 -117
- mettagrid-0.2.0.7/tests/diagnose.py +0 -228
- mettagrid-0.2.0.7/tests/map_builder/test_ascii.py +0 -208
- mettagrid-0.2.0.7/tests/map_builder/test_map_builder.py +0 -75
- mettagrid-0.2.0.7/tests/map_builder/test_polymorphic_serialization.py +0 -165
- mettagrid-0.2.0.7/tests/map_builder/test_utils.py +0 -237
- mettagrid-0.2.0.7/tests/mapgen/__init__.py +0 -0
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_ascii.py +0 -19
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_auto.py +0 -55
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_bsp.py +0 -24
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_convchain.py +0 -23
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_inline_ascii.py +0 -63
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_layout.py +0 -81
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_make_connected.py +0 -19
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_maze.py +0 -42
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_mean_distance.py +0 -87
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_mirror.py +0 -71
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_multi_left_and_right.py +0 -11
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_nop.py +0 -8
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_radial_maze.py +0 -173
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_random.py +0 -28
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_random_dcss_scene.py +0 -11
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_random_objects.py +0 -15
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_random_scene.py +0 -27
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_random_yaml_scene.py +0 -31
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_remove_agents.py +0 -40
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_room_grid.py +0 -68
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_wfc.py +0 -20
- mettagrid-0.2.0.7/tests/mapgen/scenes/test_yaml.py +0 -12
- mettagrid-0.2.0.7/tests/mapgen/test_mapgen.py +0 -139
- mettagrid-0.2.0.7/tests/mapgen/test_scene.py +0 -168
- mettagrid-0.2.0.7/tests/mapgen/test_validate_all_ascii_maps.py +0 -114
- mettagrid-0.2.0.7/tests/mapgen/utils/test_pattern.py +0 -241
- mettagrid-0.2.0.7/tests/mapgen/utils/test_storable_map_io.py +0 -32
- mettagrid-0.2.0.7/tests/profiling/test_stopwatch.py +0 -1189
- mettagrid-0.2.0.7/tests/profiling/test_system_monitor.py +0 -117
- mettagrid-0.2.0.7/tests/renderer/test_miniscope.py +0 -209
- mettagrid-0.2.0.7/tests/renderer/test_nethack.py +0 -423
- mettagrid-0.2.0.7/tests/test_action_compatibility.py +0 -466
- mettagrid-0.2.0.7/tests/test_actions.py +0 -430
- mettagrid-0.2.0.7/tests/test_attack_resource_exception.py +0 -104
- mettagrid-0.2.0.7/tests/test_buffer_reuse.py +0 -122
- mettagrid-0.2.0.7/tests/test_buffers.py +0 -458
- mettagrid-0.2.0.7/tests/test_converter.py +0 -176
- mettagrid-0.2.0.7/tests/test_env_config_serialization.py +0 -97
- mettagrid-0.2.0.7/tests/test_env_map.py +0 -11
- mettagrid-0.2.0.7/tests/test_gdrive.py +0 -64
- mettagrid-0.2.0.7/tests/test_global_obs_config.py +0 -156
- mettagrid-0.2.0.7/tests/test_global_observations.py +0 -15
- mettagrid-0.2.0.7/tests/test_global_reward_observations.py +0 -236
- mettagrid-0.2.0.7/tests/test_grid_object.cpp +0 -72
- mettagrid-0.2.0.7/tests/test_gym_env.py +0 -113
- mettagrid-0.2.0.7/tests/test_interactive.py +0 -244
- mettagrid-0.2.0.7/tests/test_leaks.py +0 -79
- mettagrid-0.2.0.7/tests/test_mettagrid.cpp +0 -947
- mettagrid-0.2.0.7/tests/test_mettagrid.py +0 -141
- mettagrid-0.2.0.7/tests/test_move.py +0 -835
- mettagrid-0.2.0.7/tests/test_new_env_hierarchy.py +0 -219
- mettagrid-0.2.0.7/tests/test_observations.py +0 -778
- mettagrid-0.2.0.7/tests/test_pettingzoo_env.py +0 -357
- mettagrid-0.2.0.7/tests/test_pufferlib_integration.py +0 -136
- mettagrid-0.2.0.7/tests/test_resource_loss.py +0 -186
- mettagrid-0.2.0.7/tests/test_rewards.py +0 -208
- mettagrid-0.2.0.7/tests/test_rotate.py +0 -241
- mettagrid-0.2.0.7/tests/test_stats_rewards.py +0 -129
- mettagrid-0.2.0.7/tests/test_stats_tracker.cpp +0 -228
- mettagrid-0.2.0.7/tests/test_stats_writer.py +0 -113
- mettagrid-0.2.0.7/tests/test_swap.py +0 -302
- mettagrid-0.2.0.7/tests/test_tags.py +0 -624
- mettagrid-0.2.0.7/tests/test_visitation_counts.py +0 -292
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/LICENSE +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/benchmarks/BUILD +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/cpp/include/mettagrid/objects/usable.hpp +0 -0
- /mettagrid-0.2.0.7/mettagrid.egg-info/dependency_links.txt → /mettagrid-0.2.0.36/ensure_mettascope.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/lint/BUILD +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/lint/clang_tidy.bzl +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/lint/clang_tidy_wrapper.sh +0 -0
- /mettagrid-0.2.0.7/python/src/mettagrid/mapgen/__init__.py → /mettagrid-0.2.0.36/migrate_to_toplevel.py +0 -0
- /mettagrid-0.2.0.7/python/src/mettagrid/py.typed → /mettagrid-0.2.0.36/nim/mettascope/src/mettascope/settings.nim +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/mapgen/random/float.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/mapgen/random/int.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/profiling/stopwatch.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/profiling/system_monitor.py +0 -0
- /mettagrid-0.2.0.7/python/src/mettagrid/util/__init__.py → /mettagrid-0.2.0.36/python/src/mettagrid/py.typed +0 -0
- {mettagrid-0.2.0.7/tests → mettagrid-0.2.0.36/python/src/mettagrid/simulator/multi_episode}/__init__.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/test_support/observation_helper.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/test_support/orientation.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/test_support/token_types.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/util/debug.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/util/dict_utils.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/python/src/mettagrid/util/diversity.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36/python/src}/mettagrid.egg-info/entry_points.txt +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36/python/src}/mettagrid.egg-info/top_level.txt +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/setup.cfg +0 -0
- /mettagrid-0.2.0.7/tests/map_builder/__init__.py → /mettagrid-0.2.0.36/test_action_map_change.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/map_builder/test_maze.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/map_builder/test_random.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/mapgen/random/test_float.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/mapgen/random/test_int.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/profiling/test_memory_monitor.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/run_test.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/test_diversity.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/test_forbidden_imports.py +0 -0
- {mettagrid-0.2.0.7 → mettagrid-0.2.0.36}/tests/test_observations.cpp +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Bazel configuration for mettagrid
|
|
2
|
+
|
|
3
|
+
# Common C++ build flags
|
|
4
|
+
build --cxxopt=-std=c++20
|
|
5
|
+
build --host_cxxopt=-std=c++20
|
|
6
|
+
|
|
7
|
+
# Use the current Python from environment
|
|
8
|
+
build --action_env=PYTHON_BIN_PATH
|
|
9
|
+
build --action_env=PYTHON_LIB_PATH
|
|
10
|
+
build --python_path=python
|
|
11
|
+
|
|
12
|
+
# Prod build mode. --compilation_mode=[opt|dbg] is a required Bazel field.
|
|
13
|
+
build:opt --compilation_mode=opt
|
|
14
|
+
build:opt --copt=-O3
|
|
15
|
+
build:opt --copt=-DNDEBUG
|
|
16
|
+
build:opt --strip=always
|
|
17
|
+
|
|
18
|
+
# Debug build mode. --compilation_mode=[opt|dbg] is a required Bazel field.
|
|
19
|
+
build:dbg --compilation_mode=dbg
|
|
20
|
+
build:dbg --strip=never
|
|
21
|
+
build:dbg --copt=-g
|
|
22
|
+
build:dbg --copt=-O0
|
|
23
|
+
build:dbg --spawn_strategy=local
|
|
24
|
+
build:dbg --strategy=CppCompile=local
|
|
25
|
+
build:dbg --apple_generate_dsym
|
|
26
|
+
|
|
27
|
+
# AddressSanitizer disabled - causes issues on macOS with Python extensions
|
|
28
|
+
# build:dbg --copt=-fsanitize=address
|
|
29
|
+
# build:dbg --copt=-fsanitize=undefined
|
|
30
|
+
# build:dbg --copt=-fsanitize=float-divide-by-zero
|
|
31
|
+
# build:dbg --copt=-fno-sanitize-recover=all
|
|
32
|
+
build:dbg --copt=-fstack-protector-strong
|
|
33
|
+
# build:dbg --linkopt=-fsanitize=address
|
|
34
|
+
# build:dbg --linkopt=-fsanitize=undefined
|
|
35
|
+
# build:dbg --linkopt=-fsanitize=float-divide-by-zero
|
|
36
|
+
# build:dbg --test_env=ASAN_OPTIONS=detect_leaks=0
|
|
37
|
+
|
|
38
|
+
# Test configuration
|
|
39
|
+
test --test_output=errors
|
|
40
|
+
test --test_summary=detailed
|
|
41
|
+
test --nocache_test_results
|
|
42
|
+
|
|
43
|
+
# Coverage configuration
|
|
44
|
+
coverage --combined_report=lcov
|
|
45
|
+
coverage --instrumentation_filter=//:mettagrid_lib,//:mettagrid_c
|
|
46
|
+
|
|
47
|
+
# Platform-specific settings for macOS
|
|
48
|
+
build:macos --copt=-fvisibility=hidden
|
|
49
|
+
build:macos --cxxopt=-stdlib=libc++
|
|
50
|
+
build:macos --linkopt=-stdlib=libc++
|
|
51
|
+
# Set minimum macOS deployment target to prevent platform tag issues
|
|
52
|
+
build:macos --macos_minimum_os=11.0
|
|
53
|
+
build:macos --copt=-mmacosx-version-min=11.0
|
|
54
|
+
build:macos --linkopt=-mmacosx-version-min=11.0
|
|
55
|
+
build:macos --host_copt=-mmacosx-version-min=11.0
|
|
56
|
+
build:macos --host_linkopt=-mmacosx-version-min=11.0
|
|
57
|
+
|
|
58
|
+
# Platform-specific settings for Linux
|
|
59
|
+
build:linux --copt=-fvisibility=hidden
|
|
60
|
+
|
|
61
|
+
# Detect and use platform config automatically
|
|
62
|
+
build --enable_platform_specific_config
|
|
63
|
+
|
|
64
|
+
# Silence some warnings in external dependencies
|
|
65
|
+
build --per_file_copt=external/.*@-w
|
|
66
|
+
|
|
67
|
+
# Enable colors in output
|
|
68
|
+
common --color=yes
|
|
69
|
+
|
|
70
|
+
# Show progress messages
|
|
71
|
+
common --show_progress_rate_limit=0.5
|
|
72
|
+
|
|
73
|
+
# Local disk cache configuration
|
|
74
|
+
build --disk_cache=~/.cache/bazel
|
|
75
|
+
build --repository_cache=~/.cache/bazel-repo
|
|
76
|
+
|
|
77
|
+
# Build execution optimization
|
|
78
|
+
build --jobs=auto
|
|
79
|
+
build --local_test_jobs=auto
|
|
80
|
+
|
|
81
|
+
# CI configuration - use system Python to avoid root user issues
|
|
82
|
+
# Remove BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN to allow toolchain detection
|
|
83
|
+
build:ci --repo_env=PYTHON_BIN_PATH=/usr/bin/python3
|
|
84
|
+
build:ci --python_path=/usr/bin/python3
|
|
85
|
+
# Skip hermetic Python toolchain in CI
|
|
86
|
+
build:ci --@rules_python//python/config_settings:bootstrap_impl=system
|
|
87
|
+
|
|
88
|
+
# Add retries for external dependency downloads to handle rate limiting
|
|
89
|
+
build:ci --repository_cache=~/.cache/bazel-repo
|
|
90
|
+
build:ci --experimental_repository_downloader_retries=5
|
|
91
|
+
build:ci --http_timeout_scaling=2.0
|
|
92
|
+
# Add delays between retries (exponential backoff)
|
|
93
|
+
build:ci --experimental_scale_timeouts=2.0
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
Language: Cpp
|
|
3
|
+
BasedOnStyle: Google
|
|
4
|
+
IndentWidth: 2
|
|
5
|
+
ColumnLimit: 120
|
|
6
|
+
AccessModifierOffset: -2
|
|
7
|
+
AllowShortFunctionsOnASingleLine: Empty
|
|
8
|
+
# Changed from Stroustrup to Attach as per request
|
|
9
|
+
BreakBeforeBraces: Attach
|
|
10
|
+
DerivePointerAlignment: false
|
|
11
|
+
PointerAlignment: Left
|
|
12
|
+
AlignAfterOpenBracket: Align
|
|
13
|
+
AlignConsecutiveAssignments: false
|
|
14
|
+
AlignConsecutiveDeclarations: false
|
|
15
|
+
AlignTrailingComments: true
|
|
16
|
+
# For function parameters wrapping
|
|
17
|
+
AllowAllParametersOfDeclarationOnNextLine: false
|
|
18
|
+
BinPackParameters: false
|
|
19
|
+
# For enums - one value per line when they don't fit
|
|
20
|
+
AllowShortEnumsOnASingleLine: false
|
|
21
|
+
# For vector constants and similar - one per line when they don't fit
|
|
22
|
+
BinPackArguments: false
|
|
23
|
+
IncludeBlocks: Regroup
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Checks: >-
|
|
2
|
+
-*,
|
|
3
|
+
clang-analyzer-*,
|
|
4
|
+
bugprone-*,
|
|
5
|
+
-bugprone-easily-swappable-parameters,
|
|
6
|
+
-bugprone-branch-clone,
|
|
7
|
+
cppcoreguidelines-pro-type-member-init,
|
|
8
|
+
misc-definitions-in-headers,
|
|
9
|
+
performance-*,
|
|
10
|
+
-performance-enum-size
|
|
11
|
+
|
|
12
|
+
HeaderFilterRegex: '.*\/(mettagrid|src)\/.*\.(h|hpp)$'
|
|
13
|
+
ExcludeHeaderFilterRegex: '.*(pybind11|numpy|Python).*'
|
|
14
|
+
|
|
15
|
+
WarningsAsErrors: ''
|
|
16
|
+
|
|
17
|
+
CheckOptions:
|
|
18
|
+
- key: bugprone-assert-side-effect.AssertMacros
|
|
19
|
+
value: 'assert'
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# ROOT BUILD.bazel file for mettagrid - references new structure
|
|
2
|
+
load("@pybind11_bazel//:build_defs.bzl", "pybind_extension", "pybind_library")
|
|
3
|
+
|
|
4
|
+
# Re-export main targets from cpp/ for backward compatibility
|
|
5
|
+
alias(
|
|
6
|
+
name = "mettagrid_c",
|
|
7
|
+
actual = "//cpp:mettagrid_c",
|
|
8
|
+
visibility = ["//visibility:public"],
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
alias(
|
|
12
|
+
name = "mettagrid_lib",
|
|
13
|
+
actual = "//cpp:mettagrid_core",
|
|
14
|
+
visibility = ["//visibility:public"],
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
# Export the .clang-tidy config file for use by the linter
|
|
18
|
+
exports_files([".clang-tidy"])
|
|
19
|
+
|
|
20
|
+
# Package group for internal visibility
|
|
21
|
+
package_group(
|
|
22
|
+
name = "internal",
|
|
23
|
+
packages = [
|
|
24
|
+
"//cpp/...",
|
|
25
|
+
"//python/...",
|
|
26
|
+
"//benchmarks/...",
|
|
27
|
+
"//tests/...",
|
|
28
|
+
],
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
# Documentation and configuration files
|
|
32
|
+
filegroup(
|
|
33
|
+
name = "docs",
|
|
34
|
+
srcs = glob(["docs/**/*.md"],
|
|
35
|
+
allow_empty=True),
|
|
36
|
+
visibility = ["//visibility:public"]
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
filegroup(
|
|
40
|
+
name = "configs",
|
|
41
|
+
srcs = glob([
|
|
42
|
+
"configs/**/*.yaml",
|
|
43
|
+
"configs/**/*.map",
|
|
44
|
+
], allow_empty = True),
|
|
45
|
+
visibility = ["//visibility:public"],
|
|
46
|
+
)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
include bazel_build.py
|
|
2
|
+
include BUILD.bazel
|
|
3
|
+
include MODULE.bazel
|
|
4
|
+
include MODULE.bazel.lock
|
|
5
|
+
include .bazelrc
|
|
6
|
+
|
|
7
|
+
# Include the entire cpp directory with all BUILD files, source and header files
|
|
8
|
+
recursive-include cpp *.cpp *.hpp *.bazel BUILD
|
|
9
|
+
recursive-include benchmarks *.cpp *.py BUILD
|
|
10
|
+
recursive-include tests *.cpp *.py BUILD
|
|
11
|
+
recursive-include lint *.sh *.bzl BUILD
|
|
12
|
+
graft nim/mettascope
|
|
13
|
+
prune nim/mettascope/nimbledeps
|
|
14
|
+
prune nim/mettascope/dist
|
|
15
|
+
prune nim/mettascope/build
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# MODULE.bazel for mettagrid - using Bzlmod (modern Bazel module system)
|
|
2
|
+
module(name = "mettagrid", version = "0.1.6")
|
|
3
|
+
|
|
4
|
+
# Basic Bazel dependencies
|
|
5
|
+
bazel_dep(name = "platforms", version = "1.0.0")
|
|
6
|
+
bazel_dep(name = "bazel_skylib", version = "1.8.1")
|
|
7
|
+
|
|
8
|
+
# C++ rules and toolchain
|
|
9
|
+
bazel_dep(name = "rules_cc", version = "0.2.0")
|
|
10
|
+
|
|
11
|
+
# Python toolchain - use latest compatible version
|
|
12
|
+
bazel_dep(name = "rules_python", version = "1.5.3")
|
|
13
|
+
|
|
14
|
+
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
|
|
15
|
+
python.defaults(
|
|
16
|
+
python_version = "3.12",
|
|
17
|
+
python_version_env = "METTAGRID_BAZEL_PYTHON_VERSION",
|
|
18
|
+
)
|
|
19
|
+
python.toolchain(
|
|
20
|
+
python_version = "3.12",
|
|
21
|
+
)
|
|
22
|
+
python.toolchain(
|
|
23
|
+
python_version = "3.13",
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# pybind11 for Python bindings
|
|
27
|
+
bazel_dep(name = "pybind11_bazel", version = "2.13.6")
|
|
28
|
+
|
|
29
|
+
# Google Test for testing
|
|
30
|
+
bazel_dep(name = "googletest", version = "1.17.0")
|
|
31
|
+
|
|
32
|
+
# Google Benchmark for benchmarking
|
|
33
|
+
bazel_dep(name = "google_benchmark", version = "1.9.4")
|
|
34
|
+
|
|
35
|
+
# Abseil (dependency of some Google libraries)
|
|
36
|
+
bazel_dep(name = "abseil-cpp", version = "20250814.0")
|
|
37
|
+
|
|
38
|
+
# make compile_commands.json with: bazel run @hedron_compile_commands//:refresh_all
|
|
39
|
+
bazel_dep(name = "hedron_compile_commands", version = "")
|
|
40
|
+
git_override(
|
|
41
|
+
module_name = "hedron_compile_commands",
|
|
42
|
+
remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git",
|
|
43
|
+
commit = "abb61a688167623088f8768cc9264798df6a9d10",
|
|
44
|
+
)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
.PHONY: help build build-prod benchmark test coverage format-check format-fix
|
|
2
|
+
|
|
3
|
+
# Default target
|
|
4
|
+
help:
|
|
5
|
+
@echo "Available targets:"
|
|
6
|
+
@echo " build - Debug build"
|
|
7
|
+
@echo " build-prod - Release build (optimized)"
|
|
8
|
+
@echo " benchmark - Build and run benchmarks"
|
|
9
|
+
@echo " test - Run C++ unit tests"
|
|
10
|
+
@echo " coverage - Run tests (C++ coverage not available on macOS)"
|
|
11
|
+
@echo " format-check - Verify code is clang-formatted"
|
|
12
|
+
@echo " format-fix - Auto-format code with clang-format"
|
|
13
|
+
|
|
14
|
+
# Debug build
|
|
15
|
+
build:
|
|
16
|
+
@echo "Building debug..."
|
|
17
|
+
bazel build --config=dbg //:mettagrid_c
|
|
18
|
+
|
|
19
|
+
# Production release build
|
|
20
|
+
build-prod:
|
|
21
|
+
@echo "Building release..."
|
|
22
|
+
bazel build --config=opt //:mettagrid_c
|
|
23
|
+
|
|
24
|
+
# Build and run benchmarks
|
|
25
|
+
PYTEST_FLAGS ?=
|
|
26
|
+
ifneq ($(strip $(VERBOSE)),)
|
|
27
|
+
PYTEST_FLAGS += -s
|
|
28
|
+
endif
|
|
29
|
+
|
|
30
|
+
benchmark:
|
|
31
|
+
@echo "Building C++ benchmarks..."
|
|
32
|
+
bazel build --config=opt //benchmarks:test_mettagrid_env_benchmark
|
|
33
|
+
@echo "Creating build-release directory..."
|
|
34
|
+
mkdir -p build-release
|
|
35
|
+
@echo "Copying benchmark binaries..."
|
|
36
|
+
cp -f bazel-bin/benchmarks/test_mettagrid_env_benchmark build-release/
|
|
37
|
+
chmod +x build-release/test_mettagrid_env_benchmark
|
|
38
|
+
@echo "Running C++ benchmarks..."
|
|
39
|
+
# Note: Using the copied binary instead of 'bazel run' to avoid Python environment issues
|
|
40
|
+
./build-release/test_mettagrid_env_benchmark || echo "C++ benchmark failed - this may be due to Python environment issues"
|
|
41
|
+
@echo "Running Python benchmarks..."
|
|
42
|
+
uv run pytest benchmarks/test_mettagrid_env_benchmark.py -v --benchmark-only $(PYTEST_FLAGS)
|
|
43
|
+
|
|
44
|
+
# Run unit tests
|
|
45
|
+
test: build
|
|
46
|
+
@echo "Running unit tests..."
|
|
47
|
+
bazel test --config=dbg //tests:tests_all
|
|
48
|
+
|
|
49
|
+
# Formatting
|
|
50
|
+
format-check:
|
|
51
|
+
@echo "Checking code formatting..."
|
|
52
|
+
@clang-format --dry-run --Werror -style=file $(shell find cpp/src cpp/include tests benchmarks -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.hpp' 2>/dev/null)
|
|
53
|
+
@echo "All files are correctly formatted"
|
|
54
|
+
|
|
55
|
+
format-fix:
|
|
56
|
+
@echo "Reformatting code..."
|
|
57
|
+
@clang-format -i -style=file $(shell find cpp/src cpp/include tests benchmarks -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.hpp' 2>/dev/null)
|
|
58
|
+
@echo "Code reformatted"
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mettagrid
|
|
3
|
+
Version: 0.2.0.36
|
|
4
|
+
Summary: A fast grid-based open-ended MARL environment
|
|
5
|
+
Author-email: David Bloomin <daveey@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://daveey.github.io
|
|
8
|
+
Project-URL: Repository, https://github.com/Metta-AI/mettagrid
|
|
9
|
+
Keywords: gridworld,minigrid,rl,reinforcement-learning,environment,gym
|
|
10
|
+
Requires-Python: <3.13,>=3.12
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: boto3>=1.38.32
|
|
14
|
+
Requires-Dist: botocore>=1.38.29
|
|
15
|
+
Requires-Dist: gymnasium>=1.1.1
|
|
16
|
+
Requires-Dist: pettingzoo>=1.25
|
|
17
|
+
Requires-Dist: pufferlib-core
|
|
18
|
+
Requires-Dist: pydantic>=2.12.2
|
|
19
|
+
Requires-Dist: pyyaml>=6.0.2
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
# MettaGrid Environment
|
|
23
|
+
|
|
24
|
+
MettaGrid is a multi-agent gridworld environment for studying the emergence of cooperation and social behaviors in
|
|
25
|
+
reinforcement learning agents. The environment features a variety of objects and actions that agents can interact with
|
|
26
|
+
to manage resources, engage in combat, share with others, and optimize their rewards.
|
|
27
|
+
|
|
28
|
+
## Requirements
|
|
29
|
+
|
|
30
|
+
- Bazel 7.0.0 or newer (the project uses Bzlmod and modern Bazel features)
|
|
31
|
+
- Python 3.11 or newer
|
|
32
|
+
- C++ compiler with C++20 support
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
In MettaGrid, agents navigate a gridworld and interact with various objects to manage their energy, harvest resources,
|
|
37
|
+
engage in combat, and cooperate with other agents. The key dynamics include:
|
|
38
|
+
|
|
39
|
+
- **Energy Management**: Agents must efficiently manage their energy, which is required for all actions. They can
|
|
40
|
+
harvest resources and convert them to energy at charger stations.
|
|
41
|
+
- **Resource Gathering**: Agents can gather resources from generator objects scattered throughout the environment.
|
|
42
|
+
- **Cooperation and Sharing**: Agents have the ability to share resources with other agents and use energy to power the
|
|
43
|
+
heart altar, which provides rewards.
|
|
44
|
+
- **Combat**: Agents can attack other agents to temporarily freeze them and steal their resources. They can also use
|
|
45
|
+
shields to defend against attacks.
|
|
46
|
+
|
|
47
|
+
The environment is highly configurable, allowing for experimentation with different world layouts, object placements,
|
|
48
|
+
and agent capabilities.
|
|
49
|
+
|
|
50
|
+
## Objects
|
|
51
|
+
|
|
52
|
+
### Agent
|
|
53
|
+
|
|
54
|
+
<img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_tiny_galaxy/tg_sliced/tg_monsters/tg_monsters_astronaut_u1.png?raw=true" width="32"/>
|
|
55
|
+
|
|
56
|
+
The `Agent` object represents an individual agent in the environment. Agents can move, rotate, attack, and interact with
|
|
57
|
+
other objects. Each agent has energy, resources, and shield properties that govern its abilities and interactions.
|
|
58
|
+
|
|
59
|
+
### Altar
|
|
60
|
+
|
|
61
|
+
<img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_tiny_galaxy/tg_sliced/tg_items/tg_items_heart_full.png?raw=true" width="32"/>
|
|
62
|
+
|
|
63
|
+
The `Altar` object allows agents to spend energy to gain rewards. Agents can power the altar by using the `use` action
|
|
64
|
+
when near it. The altar has a cooldown period between uses.
|
|
65
|
+
|
|
66
|
+
- Using the heart altar costs `altar.use_cost energy`. So, no matter how much energy you have, you are always dumping
|
|
67
|
+
the same amount of energy in it and getting the same amount of reward.
|
|
68
|
+
- After the heart altar is used, it is unable to be used for the next value in `altar.cooldown` (defaults to a single
|
|
69
|
+
delay) timesteps. The cooldown field accepts either an integer or a list of integers; when a list is provided the
|
|
70
|
+
altar cycles through those delays.
|
|
71
|
+
- A single use of the heart altar gives you a single unit of reward: if
|
|
72
|
+
`target._type_id == ObjectType.AltarT: self.env._rewards[actor_id] += 1`
|
|
73
|
+
|
|
74
|
+
### Converter
|
|
75
|
+
|
|
76
|
+
<img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_tiny_galaxy/tg_sliced/tg_items/tg_items_pda_A.png?raw=true" width="32"/>
|
|
77
|
+
|
|
78
|
+
The `Converter` object allows agents to convert their harvested resources into energy. Agents can use converters by
|
|
79
|
+
moving to them and taking the `use` action. Each use of a converter provides a specified amount of energy and has a
|
|
80
|
+
cooldown period.
|
|
81
|
+
|
|
82
|
+
- Using the converter does not cost any energy.
|
|
83
|
+
- Using the converter outputs `converter.energy_output.r1` energy
|
|
84
|
+
- see `this.output_energy = cfg[b"energy_output.r1"]` in the Converter cppclass
|
|
85
|
+
- Using the converter increments resource 2 by one and decrements resource 1 by 1
|
|
86
|
+
- There is currently no use for `converter.energy_output.r2` and `converter.energy_output.r3`
|
|
87
|
+
- After the converter is used, it waits for the next value in `converter.cooldown` before it can be used again.
|
|
88
|
+
Supplying a list of integers causes the converter to cycle through the provided schedule.
|
|
89
|
+
|
|
90
|
+
### Generator
|
|
91
|
+
|
|
92
|
+
<img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_fantasy/ore-0.png?raw=true" width="32"/>
|
|
93
|
+
|
|
94
|
+
The `Generator` object produces resources that agents can harvest. Agents can gather resources from generators by moving
|
|
95
|
+
to them and taking the `use` action. Generators have a specified capacity and replenish resources over time.
|
|
96
|
+
|
|
97
|
+
- Using the generator once gives one resource 1
|
|
98
|
+
- After the generator is used, it is unable to be used for the next value in `generator.cooldown` timesteps
|
|
99
|
+
|
|
100
|
+
### Wall
|
|
101
|
+
|
|
102
|
+
<img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_fantasy/wall2-0.png?raw=true" width="32"/>
|
|
103
|
+
|
|
104
|
+
The `Wall` object acts as an impassable barrier in the environment, restricting agent movement.
|
|
105
|
+
|
|
106
|
+
### Cooldown
|
|
107
|
+
|
|
108
|
+
The `cooldown` property holds one or more delays that determine how long objects wait before they can be used again.
|
|
109
|
+
When provided as a list, the delays are applied cyclically.
|
|
110
|
+
|
|
111
|
+
## Actions
|
|
112
|
+
|
|
113
|
+
### Move / Rotate
|
|
114
|
+
|
|
115
|
+
The `move` action allows agents to move to an adjacent cell in the gridworld. The action has two modes: moving forward
|
|
116
|
+
and moving backward relative to the agent's current orientation.
|
|
117
|
+
|
|
118
|
+
The `rotate` action enables agents to change their orientation within the gridworld. Agents can rotate to face in four
|
|
119
|
+
directions: down, left, right, and up.
|
|
120
|
+
|
|
121
|
+
### Attack
|
|
122
|
+
|
|
123
|
+
The `attack` action allows agents to attack other agents or objects within their attack range. Successful attacks freeze
|
|
124
|
+
the target for `freeze_duration` timesteps and allow the attacker to steal resources. Further, the attacked agent's
|
|
125
|
+
energy is set to `0`. Attacks have a cost and inflict a damage value. The agent selects from one of nine coordinates
|
|
126
|
+
within its attack range.
|
|
127
|
+
|
|
128
|
+
### Shield (Toggle)
|
|
129
|
+
|
|
130
|
+
The `shield` action turns on a shield. When the shield is active, the agent is protected from attacks by other agents.
|
|
131
|
+
The shield consumes energy defined by `upkeep.shield` while active. Attack damage is subtracted from the agent's energy,
|
|
132
|
+
rather than freezing the agent.
|
|
133
|
+
|
|
134
|
+
### Transfer
|
|
135
|
+
|
|
136
|
+
The `transfer` action enables agents to share resources with other agents. Agents can choose to transfer specific
|
|
137
|
+
resources to another agent in an adjacent cell. It is currently not implemented.
|
|
138
|
+
|
|
139
|
+
### Use
|
|
140
|
+
|
|
141
|
+
The `use` action allows agents to interact with objects such as altars, converters, and generators. The specific effects
|
|
142
|
+
of the `use` action depend on the target object and can include converting resources to energy, powering the altar for
|
|
143
|
+
rewards, or harvesting resources from generators.
|
|
144
|
+
|
|
145
|
+
## Configuration
|
|
146
|
+
|
|
147
|
+
The MettaGrid environment is highly configurable through the use of YAML configuration files. These files specify the
|
|
148
|
+
layout of the gridworld, the placement of objects, and various properties of the objects and agents.
|
|
149
|
+
|
|
150
|
+
**Current settings:**
|
|
151
|
+
|
|
152
|
+
1. Ore - Base resource obtained from mines. Mines produce one ore when used. No resource requirements for use. -
|
|
153
|
+
Reward value: 0.005 per unit (max 2) - Used to create batteries and lasers
|
|
154
|
+
2. Battery - Intermediate resource created from ore at a generator. Generator turns one ore into one battery. -
|
|
155
|
+
Reward value: 0.01 per unit (max 2) - Used to create hearts and lasers
|
|
156
|
+
3. Heart / heart altar - High value reward, requires 3 batteries to be converted into a heart at a heart altar.
|
|
157
|
+
4. Laser - Weapon resource created from ore and batteries. Requires 1 ore and 2 batteries. Created at the lasery.
|
|
158
|
+
|
|
159
|
+
- Consumed on use. When hitting an unarmored agent: freezes them and steals their whole inventory. When hitting an
|
|
160
|
+
armoured agent, destroys their armor. **Inventory System**
|
|
161
|
+
- Agents have limited inventory space (default max: 50 items)
|
|
162
|
+
- Resources provide rewards just by being in inventory (up to their max reward value)
|
|
163
|
+
- Resources can be stolen through attacks Objects Various buildings: Mine, Generator, Armory, Lasery, Altar, Lab,
|
|
164
|
+
Factory, Temple.
|
|
165
|
+
- HP — hitpoints, the number of times something can be hit before destruction.
|
|
166
|
+
- Cooldown between uses (varies by building)
|
|
167
|
+
- Can be damaged and destroyed by attacks
|
|
168
|
+
|
|
169
|
+
## Environment Architecture
|
|
170
|
+
|
|
171
|
+
MettaGrid uses a modular architecture designed primarily for the Softmax Studio ML project, with lightweight adapters to
|
|
172
|
+
maintain compatibility with external RL frameworks:
|
|
173
|
+
|
|
174
|
+
### Primary Training Environment
|
|
175
|
+
|
|
176
|
+
**`PufferMettaGridEnv`** - The main environment actively developed for Softmax Studio training systems
|
|
177
|
+
|
|
178
|
+
- Full-featured environment with comprehensive stats collection, replay recording, and curriculum support
|
|
179
|
+
- PufferLib-compatible environment wrapper that provides reset/step API
|
|
180
|
+
- **Exclusively used** by `metta.rl.trainer` and `metta.sim.simulation`
|
|
181
|
+
- Continuously developed and optimized for Softmax Studio use cases
|
|
182
|
+
- Backward compatible with existing training code
|
|
183
|
+
|
|
184
|
+
### Core Infrastructure
|
|
185
|
+
|
|
186
|
+
**`Simulation`** - Core simulation class for running MettaGrid simulations
|
|
187
|
+
|
|
188
|
+
- Foundation that provides the core game mechanics and performance
|
|
189
|
+
- Direct simulation access without environment API (no reset/step)
|
|
190
|
+
- Use when you need fine-grained control over simulation steps
|
|
191
|
+
|
|
192
|
+
### External Framework Compatibility Adapters
|
|
193
|
+
|
|
194
|
+
Lightweight wrappers around `MettaGridCore` to maintain compatibility with other training systems:
|
|
195
|
+
|
|
196
|
+
- **`MettaGridGymEnv`** - Gymnasium compatibility for research workflows
|
|
197
|
+
- **`MettaGridPettingZooEnv`** - PettingZoo compatibility for multi-agent research
|
|
198
|
+
- **`MettaGridPufferEnv`** - PufferLib compatibility for high-performance external training
|
|
199
|
+
|
|
200
|
+
**Important**: These adapters are **only used with their respective training systems**, not with the Metta trainer.
|
|
201
|
+
|
|
202
|
+
### Design Philosophy
|
|
203
|
+
|
|
204
|
+
- **Primary Focus**: `PufferMettaGridEnv` receives active development and new features for Softmax Studio
|
|
205
|
+
- **Compatibility Maintenance**: External adapters ensure other frameworks continue working as the core evolves
|
|
206
|
+
- **Testing for Compatibility**: Demos verify external frameworks remain functional during core development
|
|
207
|
+
- **Clear Separation**: Each environment type serves its specific training system - no mixing between systems
|
|
208
|
+
|
|
209
|
+
### Compatibility Testing Demos
|
|
210
|
+
|
|
211
|
+
These demos ensure external framework adapters remain functional as the core environment evolves:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Verify PettingZoo compatibility
|
|
215
|
+
python -m mettagrid.demos.demo_train_pettingzoo
|
|
216
|
+
|
|
217
|
+
# Verify PufferLib compatibility
|
|
218
|
+
python -m mettagrid.demos.demo_train_puffer
|
|
219
|
+
|
|
220
|
+
# Verify Gymnasium compatibility
|
|
221
|
+
python -m mettagrid.demos.demo_train_gym
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
The demos serve as regression tests to catch compatibility issues during core development, ensuring external users can
|
|
225
|
+
continue using their preferred frameworks.
|
|
226
|
+
|
|
227
|
+
## Building and testing
|
|
228
|
+
|
|
229
|
+
For local development, refer to the top-level [README.md](../README.md) in this repository.
|
|
230
|
+
|
|
231
|
+
### Bazel
|
|
232
|
+
|
|
233
|
+
By default, `uv sync` will run the Bazel build automatically via the custom build backend. If you need to run C++ tests
|
|
234
|
+
and benchmarks directly, you'll need to invoke `bazel` directly.
|
|
235
|
+
|
|
236
|
+
Build C++ tests and benchmarks in debug mode:
|
|
237
|
+
|
|
238
|
+
```sh
|
|
239
|
+
# Build with debug flags
|
|
240
|
+
bazel build --config=dbg //:mettagrid_c
|
|
241
|
+
# Run all tests
|
|
242
|
+
bazel test //...
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
For benchmarks you might prefer to use the optimized build:
|
|
246
|
+
|
|
247
|
+
```sh
|
|
248
|
+
# Build with optimizations
|
|
249
|
+
bazel build --config=opt //:mettagrid_c
|
|
250
|
+
|
|
251
|
+
# Run benchmarks
|
|
252
|
+
./build-release/benchmarks/grid_object_benchmark
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Debugging C++ Code
|
|
256
|
+
|
|
257
|
+
MettaGrid is written in C++ with Python bindings via pybind11. You can debug C++ code directly in VSCode/Cursor by
|
|
258
|
+
setting breakpoints in the C++ source files.
|
|
259
|
+
|
|
260
|
+
### Prerequisites
|
|
261
|
+
|
|
262
|
+
1. **VSCode Extension**: Install the
|
|
263
|
+
[Python C++ Debugger](https://marketplace.visualstudio.com/items?itemName=benjamin-simmonds.pythoncpp-debug)
|
|
264
|
+
extension (`pythoncpp`)
|
|
265
|
+
2. **Debug Build**: Always build with `DEBUG=1` to enable debug symbols and dSYM generation
|
|
266
|
+
|
|
267
|
+
### Setup
|
|
268
|
+
|
|
269
|
+
The repository includes pre-configured launch configurations in `.vscode/launch.json`:
|
|
270
|
+
|
|
271
|
+
- **MettaGrid Demo** and other pythoncpp configurations - Combined Python + C++ debugging session for the demo script
|
|
272
|
+
(requires the pythoncpp extension)
|
|
273
|
+
- **\_C++ Attach** - Attach C++ debugger to any running Python process (shared by all configurations but can be ran
|
|
274
|
+
manually).
|
|
275
|
+
|
|
276
|
+
### Quick Start
|
|
277
|
+
|
|
278
|
+
1. **Build with debug symbols**:
|
|
279
|
+
- Clean everything up
|
|
280
|
+
|
|
281
|
+
```sh
|
|
282
|
+
cd packages/mettagrid # (from root of the repository)
|
|
283
|
+
bazel clean --expunge
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
- Rebuild with debug flags
|
|
287
|
+
|
|
288
|
+
```sh
|
|
289
|
+
bazel build --config=dbg //:mettagrid_c
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
- Or Reinstall with DEBUG=1 to trigger dSYM generation
|
|
293
|
+
|
|
294
|
+
```sh
|
|
295
|
+
cd ../..
|
|
296
|
+
export DEBUG=1
|
|
297
|
+
uv sync --reinstall-package mettagrid
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
2. **Set breakpoints** in both Python and C++ files (e.g., `packages/mettagrid/cpp/bindings/mettagrid_c.cpp`,
|
|
301
|
+
`packages/mettagrid/demos/demo_train_pettingzoo.py`)
|
|
302
|
+
|
|
303
|
+
3. **Launch debugger** using the "MettaGrid Demo" or any other pythoncpp configuration from the VSCode Run panel.
|
|
304
|
+
|
|
305
|
+
4. **Alternatively**, you can use the "\_C++ Attach" configuration to attach the debugger to any running Python process.
|
|
306
|
+
It will ask you to select a process - type "metta" or "python" to filter the list.
|
|
307
|
+
|
|
308
|
+
### Testing C++ Debugging
|
|
309
|
+
|
|
310
|
+
To verify that C++ breakpoints are working correctly, use a simple test that calls from Python into C++:
|
|
311
|
+
|
|
312
|
+
#### Quick Test Method
|
|
313
|
+
|
|
314
|
+
1. **Add a test call** to any Python entrypoint that uses mettagrid:
|
|
315
|
+
|
|
316
|
+
```python
|
|
317
|
+
def test_cpp_debugging() -> None:
|
|
318
|
+
"""Test function to trigger C++ code for debugging."""
|
|
319
|
+
try:
|
|
320
|
+
from mettagrid.mettagrid_c import PackedCoordinate
|
|
321
|
+
|
|
322
|
+
# Call a simple C++ function
|
|
323
|
+
packed = PackedCoordinate.pack(5, 10)
|
|
324
|
+
print(f"C++ test: PackedCoordinate.pack(5, 10) = {packed}")
|
|
325
|
+
|
|
326
|
+
# Unpack it back
|
|
327
|
+
r, c = PackedCoordinate.unpack(packed)
|
|
328
|
+
print(f"C++ test: PackedCoordinate.unpack({packed}) = ({r}, {c})")
|
|
329
|
+
except Exception as e:
|
|
330
|
+
print(f"C++ debugging test failed: {e}")
|
|
331
|
+
|
|
332
|
+
# Call at module level or early in your script
|
|
333
|
+
test_cpp_debugging()
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
2. **Set a C++ breakpoint** in the corresponding C++ implementation:
|
|
337
|
+
- Open `packages/mettagrid/cpp/include/mettagrid/systems/packed_coordinate.hpp`
|
|
338
|
+
- Find the `pack()` or `unpack()` function implementation
|
|
339
|
+
- Set a breakpoint inside the function body (e.g., on the return statement)
|
|
340
|
+
|
|
341
|
+
3. **Launch your debug configuration** (e.g., "MettaGrid Demo" or any pythoncpp configuration)
|
|
342
|
+
|
|
343
|
+
4. **Verify the breakpoint hits** when the Python code calls `PackedCoordinate.pack()`
|
|
344
|
+
|
|
345
|
+
#### Where to Add the Test
|
|
346
|
+
|
|
347
|
+
Add the test call early in any Python entrypoint that uses mettagrid:
|
|
348
|
+
|
|
349
|
+
- Demo scripts (e.g., `packages/mettagrid/demos/demo_train_*.py`)
|
|
350
|
+
- CLI entrypoints (e.g., `packages/cogames/src/cogames/main.py`)
|
|
351
|
+
- Tool runners (e.g., `common/src/metta/common/tool/run_tool.py`)
|
|
352
|
+
- Training scripts (e.g., `metta/tools/train.py`)
|
|
353
|
+
|
|
354
|
+
**Note**: This test is only for verifying your debugging setup. Remove it before committing.
|
|
355
|
+
|
|
356
|
+
### Configuration Files
|
|
357
|
+
|
|
358
|
+
- **`.bazelrc`** - Defines the `--config=dbg` build mode with debug flags (`-g`, `-O0`, `--apple_generate_dsym`)
|
|
359
|
+
- **`.vscode/launch.json`** - Contains launch configurations for combined Python/C++ debugging
|
|
360
|
+
|
|
361
|
+
### Important Notes
|
|
362
|
+
|
|
363
|
+
- **Always use `DEBUG=1`**: Without this environment variable, dSYM files won't be generated and C++ breakpoints won't
|
|
364
|
+
work.
|
|
365
|
+
- **Source maps**: The launch config includes source maps to correctly locate C++ files in the packages/mettagrid's
|
|
366
|
+
workspace.
|