mettagrid 0.2.0.23__tar.gz → 0.2.0.25__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mettagrid might be problematic. Click here for more details.

Files changed (873) hide show
  1. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/PKG-INFO +2 -2
  2. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/benchmarks/test_mettagrid_env_benchmark.cpp +0 -1
  3. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/bindings/mettagrid_c.cpp +120 -8
  4. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/bindings/mettagrid_c.hpp +6 -0
  5. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/action_handler.hpp +7 -0
  6. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/move.hpp +8 -0
  7. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/orientation.hpp +11 -0
  8. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/resource_mod.hpp +7 -0
  9. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/rotate.hpp +8 -0
  10. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/demos/README.md +1 -1
  11. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/demos/demo_train_gym.py +1 -1
  12. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/demos/demo_train_pettingzoo.py +15 -35
  13. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/demos/demo_train_puffer.py +15 -74
  14. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/mettagrid.egg-info/PKG-INFO +2 -2
  15. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/mettagrid.egg-info/SOURCES.txt +0 -2
  16. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/README.md +1 -1
  17. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/pyproject.toml +1 -1
  18. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/__init__.py +3 -3
  19. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/config/mettagrid_config.py +1 -1
  20. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/core.py +14 -12
  21. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/envs/gym_env.py +8 -10
  22. mettagrid-0.2.0.25/python/src/mettagrid/envs/gym_wrapper.py +41 -0
  23. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/envs/pettingzoo_env.py +5 -6
  24. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/maze.py +5 -2
  25. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/mirror.py +33 -9
  26. mettagrid-0.2.0.25/python/src/mettagrid/mapgen/tools/gen.py +48 -0
  27. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/tools/gen_scene.py +11 -17
  28. mettagrid-0.2.0.25/python/src/mettagrid/mapgen/utils/show.py +19 -0
  29. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/utils/storable_map.py +23 -51
  30. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mettagrid_c.pyi +1 -2
  31. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/miniscope/interactive.py +3 -3
  32. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/test_support/actions.py +58 -59
  33. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/types.py +3 -3
  34. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/grid_object_formatter.py +2 -2
  35. mettagrid-0.2.0.25/tests/mapgen/utils/test_storable_map_io.py +12 -0
  36. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_action_compatibility.py +57 -68
  37. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_actions.py +1 -1
  38. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_agent_resource_sharing.py +5 -3
  39. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_assembler_partial_usage.py +9 -9
  40. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_buffer_reuse.py +2 -1
  41. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_buffers.py +6 -6
  42. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_chest.py +16 -16
  43. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_global_obs_config.py +10 -12
  44. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_global_observations.py +2 -2
  45. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_gym_env.py +3 -5
  46. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_interactive.py +5 -5
  47. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_inventory_regeneration.py +3 -3
  48. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_mettagrid.py +3 -3
  49. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_move.py +30 -49
  50. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_new_env_hierarchy.py +3 -2
  51. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_observations.py +20 -46
  52. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_pettingzoo_env.py +3 -3
  53. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_resource_loss.py +3 -3
  54. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_resource_mod.py +13 -17
  55. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_rewards.py +3 -4
  56. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_rotate.py +1 -1
  57. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_visitation_counts.py +6 -3
  58. mettagrid-0.2.0.23/python/src/mettagrid/envs/gym_wrapper.py +0 -63
  59. mettagrid-0.2.0.23/python/src/mettagrid/mapgen/load.py +0 -32
  60. mettagrid-0.2.0.23/python/src/mettagrid/mapgen/tools/gen.py +0 -94
  61. mettagrid-0.2.0.23/python/src/mettagrid/mapgen/tools/view.py +0 -25
  62. mettagrid-0.2.0.23/python/src/mettagrid/mapgen/utils/show.py +0 -21
  63. mettagrid-0.2.0.23/tests/mapgen/utils/test_storable_map_io.py +0 -22
  64. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/.bazelrc +0 -0
  65. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/.clang-format +0 -0
  66. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/.clang-tidy +0 -0
  67. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/.gitignore +0 -0
  68. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/BUILD.bazel +0 -0
  69. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/CPPLINT.cfg +0 -0
  70. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/LICENSE +0 -0
  71. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/MANIFEST.in +0 -0
  72. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/MODULE.bazel +0 -0
  73. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/Makefile +0 -0
  74. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/README.md +0 -0
  75. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/bazel_build.py +0 -0
  76. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/benchmarks/BUILD +0 -0
  77. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/benchmarks/test_mettagrid_env_benchmark.py +0 -0
  78. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/README.md +0 -0
  79. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/boxout.map +0 -0
  80. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/choose_wisely.map +0 -0
  81. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/corners.map +0 -0
  82. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/corridors.map +0 -0
  83. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/cylinder.map +0 -0
  84. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/cylinder_easy.map +0 -0
  85. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/easy_memory.map +0 -0
  86. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/emptyspace_outofsight.map +0 -0
  87. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/hall_of_mirrors.map +0 -0
  88. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/hard_memory.map +0 -0
  89. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/honeypot.map +0 -0
  90. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/journey_home.map +0 -0
  91. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/knotty.map +0 -0
  92. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/labyrinth.map +0 -0
  93. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/little_landmark_easy.map +0 -0
  94. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/little_landmark_hard.map +0 -0
  95. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/lobster_legs.map +0 -0
  96. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/lobster_legs_cues.map +0 -0
  97. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/medium_memory.map +0 -0
  98. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/memory3.map +0 -0
  99. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/memory_palace.map +0 -0
  100. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/memory_swirls.map +0 -0
  101. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/memory_swirls_hard.map +0 -0
  102. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/obstacles0.map +0 -0
  103. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/obstacles1.map +0 -0
  104. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/obstacles2.map +0 -0
  105. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/obstacles3.map +0 -0
  106. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/passing_things.map +0 -0
  107. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/radial_large.map +0 -0
  108. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/radial_maze.map +0 -0
  109. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/radial_mini.map +0 -0
  110. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/radial_small.map +0 -0
  111. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/rooms.map +0 -0
  112. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/spacey_memory.map +0 -0
  113. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/spiral_chamber.map +0 -0
  114. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/swirls.map +0 -0
  115. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/tease.map +0 -0
  116. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/tease_small.map +0 -0
  117. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/thecube.map +0 -0
  118. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/venture_out.map +0 -0
  119. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/walkaround.map +0 -0
  120. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/walls_outofsight.map +0 -0
  121. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/walls_withinsight.map +0 -0
  122. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/wanderout.map +0 -0
  123. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/which_way.map +0 -0
  124. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/navigation_sequence/you_shall_not_pass.map +0 -0
  125. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/object_use/shoot_out.map +0 -0
  126. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/object_use/swap_in.map +0 -0
  127. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/configs/maps/object_use/swap_out.map +0 -0
  128. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/BUILD.bazel +0 -0
  129. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/README.md +0 -0
  130. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/attack.hpp +0 -0
  131. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/change_glyph.hpp +0 -0
  132. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/get_output.hpp +0 -0
  133. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/noop.hpp +0 -0
  134. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -0
  135. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/actions/swap.hpp +0 -0
  136. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -0
  137. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/core/event.hpp +0 -0
  138. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/core/grid.hpp +0 -0
  139. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/core/grid_object.hpp +0 -0
  140. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/core/hash.hpp +0 -0
  141. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/core/types.hpp +0 -0
  142. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/agent.hpp +0 -0
  143. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/agent_config.hpp +0 -0
  144. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/assembler.hpp +0 -0
  145. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/assembler_config.hpp +0 -0
  146. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/chest.hpp +0 -0
  147. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/chest_config.hpp +0 -0
  148. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/constants.hpp +0 -0
  149. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/converter.hpp +0 -0
  150. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/converter_config.hpp +0 -0
  151. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/has_inventory.hpp +0 -0
  152. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/inventory.hpp +0 -0
  153. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/inventory_config.hpp +0 -0
  154. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/production_handler.hpp +0 -0
  155. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/recipe.hpp +0 -0
  156. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/usable.hpp +0 -0
  157. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/objects/wall.hpp +0 -0
  158. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/renderer/hermes.hpp +0 -0
  159. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/systems/clipper.hpp +0 -0
  160. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/systems/clipper_config.hpp +0 -0
  161. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -0
  162. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -0
  163. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -0
  164. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/demo.py +0 -0
  165. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/ensure_mettascope.py +0 -0
  166. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/lint/BUILD +0 -0
  167. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/lint/README.md +0 -0
  168. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/lint/clang_tidy.bzl +0 -0
  169. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/lint/clang_tidy_wrapper.sh +0 -0
  170. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/mettagrid.egg-info/dependency_links.txt +0 -0
  171. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/mettagrid.egg-info/entry_points.txt +0 -0
  172. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/mettagrid.egg-info/requires.txt +0 -0
  173. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/mettagrid.egg-info/top_level.txt +0 -0
  174. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/migrate_to_toplevel.py +0 -0
  175. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/AGENTS.md +0 -0
  176. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/__init__.py +0 -0
  177. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/bindings/__init__.py +0 -0
  178. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/bindings/bindings.nim +0 -0
  179. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/cors_http_server.py +0 -0
  180. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/arrow.png +0 -0
  181. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack1.png +0 -0
  182. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack2.png +0 -0
  183. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack3.png +0 -0
  184. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack4.png +0 -0
  185. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack5.png +0 -0
  186. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack6.png +0 -0
  187. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack7.png +0 -0
  188. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack8.png +0 -0
  189. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack9.png +0 -0
  190. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/attack_nearest.png +0 -0
  191. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/converting.png +0 -0
  192. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/get_items.png +0 -0
  193. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/attack.png +0 -0
  194. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
  195. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/change_color.png +0 -0
  196. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/get_items.png +0 -0
  197. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/move.png +0 -0
  198. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/noop.png +0 -0
  199. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/put_items.png +0 -0
  200. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/rotate.png +0 -0
  201. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/swap.png +0 -0
  202. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/icons/unknown.png +0 -0
  203. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/put_items.png +0 -0
  204. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/swap.png +0 -0
  205. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/thoughts.png +0 -0
  206. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
  207. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/actions/unknown.png +0 -0
  208. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/agent.e.png +0 -0
  209. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/agent.n.png +0 -0
  210. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/agent.s.png +0 -0
  211. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/agent.w.png +0 -0
  212. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/footprints.png +0 -0
  213. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/frozen.png +0 -0
  214. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/future_arrow.png +0 -0
  215. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/past_arrow.png +0 -0
  216. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/agents/path.png +0 -0
  217. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/crosshair.png +0 -0
  218. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/dash.png +0 -0
  219. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/effects/halo.png +0 -0
  220. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/alien.png +0 -0
  221. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/angry.png +0 -0
  222. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/down.png +0 -0
  223. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/happy.png +0 -0
  224. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/left.png +0 -0
  225. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/love.png +0 -0
  226. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/poo.png +0 -0
  227. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/right.png +0 -0
  228. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/sad.png +0 -0
  229. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/skull.png +0 -0
  230. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/sparkle.png +0 -0
  231. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/emoji/up.png +0 -0
  232. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
  233. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
  234. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
  235. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
  236. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
  237. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +0 -0
  238. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +0 -0
  239. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
  240. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
  241. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
  242. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
  243. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
  244. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
  245. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
  246. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
  247. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
  248. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
  249. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
  250. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
  251. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/info.png +0 -0
  252. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/meta_grid_icon.png +0 -0
  253. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/minimapPip.png +0 -0
  254. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/agent.png +0 -0
  255. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/altar.png +0 -0
  256. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/armory.png +0 -0
  257. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/assembler.png +0 -0
  258. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/block.png +0 -0
  259. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/carbon_ex_dep.png +0 -0
  260. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/carbon_extractor.png +0 -0
  261. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/charger.png +0 -0
  262. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/chest.png +0 -0
  263. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/chest_carbon.png +0 -0
  264. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/chest_germanium.png +0 -0
  265. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/chest_oxygen.png +0 -0
  266. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/chest_silicon.png +0 -0
  267. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/clay_oven.png +0 -0
  268. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/clipped_carbon_extractor.png +0 -0
  269. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/clipped_germanium_extractor.png +0 -0
  270. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/clipped_oxygen_extractor.png +0 -0
  271. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/clipped_silicon_extractor.png +0 -0
  272. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/converter.png +0 -0
  273. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/empty.png +0 -0
  274. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/factory.png +0 -0
  275. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/floor.png +0 -0
  276. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/generator.png +0 -0
  277. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/generator_blue.png +0 -0
  278. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/generator_green.png +0 -0
  279. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/generator_red.png +0 -0
  280. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/geranium_extractor.png +0 -0
  281. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/germanium_ex_dep.png +0 -0
  282. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/germanium_extractor.png +0 -0
  283. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/ice_tower.png +0 -0
  284. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/ice_vase.png +0 -0
  285. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/lab.png +0 -0
  286. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/lasery.png +0 -0
  287. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/mine.png +0 -0
  288. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/mine_blue.png +0 -0
  289. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/mine_green.png +0 -0
  290. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/mine_red-1.png +0 -0
  291. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/mine_red.png +0 -0
  292. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/oxygen_ex_dep.png +0 -0
  293. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/oxygen_extractor.png +0 -0
  294. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/palm_tree.png +0 -0
  295. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/silicon_ex_dep.png +0 -0
  296. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/silicon_extractor.png +0 -0
  297. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/temple.png +0 -0
  298. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/unknown.png +0 -0
  299. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.0.png +0 -0
  300. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.e.png +0 -0
  301. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.fill.png +0 -0
  302. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.n.png +0 -0
  303. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.ne.png +0 -0
  304. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.ns.png +0 -0
  305. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.nse.png +0 -0
  306. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.nw.png +0 -0
  307. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.nwe.png +0 -0
  308. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.nws.png +0 -0
  309. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.nwse.png +0 -0
  310. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.png +0 -0
  311. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.s.png +0 -0
  312. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.se.png +0 -0
  313. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.w.png +0 -0
  314. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.we.png +0 -0
  315. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.ws.png +0 -0
  316. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wall.wse.png +0 -0
  317. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/water_well.png +0 -0
  318. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/weaving_loom.png +0 -0
  319. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/objects/wheat_field.png +0 -0
  320. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/replays/pens.json.z +0 -0
  321. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/agent_id.png +0 -0
  322. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/armor.png +0 -0
  323. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery.blue.png +0 -0
  324. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery.green.png +0 -0
  325. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery.png +0 -0
  326. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery.red.png +0 -0
  327. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery_blue.png +0 -0
  328. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery_green.png +0 -0
  329. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/battery_red.png +0 -0
  330. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/blue_gem.png +0 -0
  331. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/blueprint.png +0 -0
  332. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/bread.png +0 -0
  333. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/carbon.png +0 -0
  334. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/coal.png +0 -0
  335. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/coconut.png +0 -0
  336. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/copper_ore.png +0 -0
  337. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/decoder.png +0 -0
  338. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/diamond.png +0 -0
  339. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/energy.png +0 -0
  340. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/germanium.png +0 -0
  341. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/gold_ore.png +0 -0
  342. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/green_gem.png +0 -0
  343. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/heart.png +0 -0
  344. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ice_granade.png +0 -0
  345. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/iron_ore.png +0 -0
  346. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/laser.png +0 -0
  347. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/lizard_hide.png +0 -0
  348. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/modulator.png +0 -0
  349. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/oil.png +0 -0
  350. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore.blue.png +0 -0
  351. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore.green.png +0 -0
  352. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore.png +0 -0
  353. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore.red.png +0 -0
  354. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore_blue.png +0 -0
  355. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore_green.png +0 -0
  356. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/ore_red.png +0 -0
  357. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/oxygen.png +0 -0
  358. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/palm_fiber.png +0 -0
  359. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/red_gem.png +0 -0
  360. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/resonator.png +0 -0
  361. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/reward.png +0 -0
  362. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/salt_water.png +0 -0
  363. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/sand.png +0 -0
  364. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/scrambler.png +0 -0
  365. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/silicon.png +0 -0
  366. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/sisal.png +0 -0
  367. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/snake_skin.png +0 -0
  368. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/snow_ball.png +0 -0
  369. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/star.png +0 -0
  370. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/stone.png +0 -0
  371. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/straw_hat.png +0 -0
  372. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/turtle_shell.png +0 -0
  373. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/unknown.png +0 -0
  374. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/water.png +0 -0
  375. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/wheat.png +0 -0
  376. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/yellow_gem.png +0 -0
  377. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/resources/yucca_fiber.png +0 -0
  378. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/selection.png +0 -0
  379. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/target.png +0 -0
  380. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/tile.png +0 -0
  381. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/attack.png +0 -0
  382. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/attack_nearest.png +0 -0
  383. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/change_color.png +0 -0
  384. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/frozen.png +0 -0
  385. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/get_items.png +0 -0
  386. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/invalid.png +0 -0
  387. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/move.png +0 -0
  388. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/move_8way.png +0 -0
  389. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/move_cardinal.png +0 -0
  390. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/noop.png +0 -0
  391. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/put_items.png +0 -0
  392. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/rotate.png +0 -0
  393. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/swap.png +0 -0
  394. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/trace/unknown.png +0 -0
  395. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/view/grid.png +0 -0
  396. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/data/white.png +0 -0
  397. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/mettascope.nimble +0 -0
  398. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/actions.nim +0 -0
  399. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/agenttable.nim +0 -0
  400. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/agenttraces.nim +0 -0
  401. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/common.nim +0 -0
  402. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/envconfig.nim +0 -0
  403. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/footer.nim +0 -0
  404. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/minimap.nim +0 -0
  405. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/objectinfo.nim +0 -0
  406. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/panels.nim +0 -0
  407. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/pathfinding.nim +0 -0
  408. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/replays.nim +0 -0
  409. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/settings.nim +0 -0
  410. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/shell.html +0 -0
  411. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/sim.nim +0 -0
  412. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/timeline.nim +0 -0
  413. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/utils.nim +0 -0
  414. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope/worldmap.nim +0 -0
  415. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope.nim +0 -0
  416. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/nim/mettascope/src/mettascope.nims +0 -0
  417. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/README.md +0 -0
  418. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/base_config.py +0 -0
  419. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/builder/__init__.py +0 -0
  420. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/builder/building.py +0 -0
  421. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/builder/empty_converters.py +0 -0
  422. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/builder/envs.py +0 -0
  423. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/config/__init__.py +0 -0
  424. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/config/mettagrid_c_config.py +0 -0
  425. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/demo.py +0 -0
  426. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/envs/__init__.py +0 -0
  427. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/envs/mettagrid_env.py +0 -0
  428. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/envs/puffer_base.py +0 -0
  429. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/__init__.py +0 -0
  430. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/ascii.py +0 -0
  431. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/assembler_map_builder.py +0 -0
  432. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/map_builder.py +0 -0
  433. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/maze.py +0 -0
  434. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -0
  435. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/random.py +0 -0
  436. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/map_builder/utils.py +0 -0
  437. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/__init__.py +0 -0
  438. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/area.py +0 -0
  439. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/mapgen.py +0 -0
  440. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/mapgen_ascii.py +0 -0
  441. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/random/float.py +0 -0
  442. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/random/int.py +0 -0
  443. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scene.py +0 -0
  444. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/__init__.py +0 -0
  445. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/ascii.py +0 -0
  446. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/auto.py +0 -0
  447. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/bsp.py +0 -0
  448. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/convchain.py +0 -0
  449. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/copy_grid.py +0 -0
  450. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/README.md +0 -0
  451. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +0 -0
  452. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +0 -0
  453. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +0 -0
  454. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +0 -0
  455. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +0 -0
  456. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +0 -0
  457. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +0 -0
  458. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
  459. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +0 -0
  460. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +0 -0
  461. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +0 -0
  462. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +0 -0
  463. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +0 -0
  464. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dolorous_arrival_somebody's_watching_me.yaml +0 -0
  465. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +0 -0
  466. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +0 -0
  467. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +0 -0
  468. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +0 -0
  469. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +0 -0
  470. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +0 -0
  471. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +0 -0
  472. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +0 -0
  473. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +0 -0
  474. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +0 -0
  475. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +0 -0
  476. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +0 -0
  477. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +0 -0
  478. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +0 -0
  479. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +0 -0
  480. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +0 -0
  481. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +0 -0
  482. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +0 -0
  483. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +0 -0
  484. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +0 -0
  485. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +0 -0
  486. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +0 -0
  487. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +0 -0
  488. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +0 -0
  489. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +0 -0
  490. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +0 -0
  491. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +0 -0
  492. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +0 -0
  493. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +0 -0
  494. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +0 -0
  495. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +0 -0
  496. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +0 -0
  497. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +0 -0
  498. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +0 -0
  499. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +0 -0
  500. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +0 -0
  501. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +0 -0
  502. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +0 -0
  503. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +0 -0
  504. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +0 -0
  505. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +0 -0
  506. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +0 -0
  507. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +0 -0
  508. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +0 -0
  509. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +0 -0
  510. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +0 -0
  511. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +0 -0
  512. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +0 -0
  513. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +0 -0
  514. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +0 -0
  515. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +0 -0
  516. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +0 -0
  517. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +0 -0
  518. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +0 -0
  519. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +0 -0
  520. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +0 -0
  521. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +0 -0
  522. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +0 -0
  523. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +0 -0
  524. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +0 -0
  525. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +0 -0
  526. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +0 -0
  527. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +0 -0
  528. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +0 -0
  529. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +0 -0
  530. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +0 -0
  531. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +0 -0
  532. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +0 -0
  533. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +0 -0
  534. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +0 -0
  535. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +0 -0
  536. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +0 -0
  537. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +0 -0
  538. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +0 -0
  539. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +0 -0
  540. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +0 -0
  541. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +0 -0
  542. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +0 -0
  543. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +0 -0
  544. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +0 -0
  545. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +0 -0
  546. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +0 -0
  547. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +0 -0
  548. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +0 -0
  549. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +0 -0
  550. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +0 -0
  551. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +0 -0
  552. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +0 -0
  553. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +0 -0
  554. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +0 -0
  555. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +0 -0
  556. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +0 -0
  557. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +0 -0
  558. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +0 -0
  559. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +0 -0
  560. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +0 -0
  561. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +0 -0
  562. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +0 -0
  563. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +0 -0
  564. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +0 -0
  565. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +0 -0
  566. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +0 -0
  567. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +0 -0
  568. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +0 -0
  569. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +0 -0
  570. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +0 -0
  571. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +0 -0
  572. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +0 -0
  573. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +0 -0
  574. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +0 -0
  575. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +0 -0
  576. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +0 -0
  577. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +0 -0
  578. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +0 -0
  579. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +0 -0
  580. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +0 -0
  581. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +0 -0
  582. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +0 -0
  583. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +0 -0
  584. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +0 -0
  585. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +0 -0
  586. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +0 -0
  587. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +0 -0
  588. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +0 -0
  589. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +0 -0
  590. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +0 -0
  591. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +0 -0
  592. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +0 -0
  593. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +0 -0
  594. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +0 -0
  595. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +0 -0
  596. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +0 -0
  597. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +0 -0
  598. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +0 -0
  599. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +0 -0
  600. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +0 -0
  601. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
  602. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +0 -0
  603. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +0 -0
  604. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +0 -0
  605. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +0 -0
  606. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +0 -0
  607. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dolorous_arrival_somebody's_watching_me.yaml +0 -0
  608. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +0 -0
  609. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +0 -0
  610. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +0 -0
  611. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +0 -0
  612. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +0 -0
  613. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +0 -0
  614. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +0 -0
  615. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +0 -0
  616. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +0 -0
  617. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +0 -0
  618. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +0 -0
  619. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +0 -0
  620. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +0 -0
  621. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +0 -0
  622. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +0 -0
  623. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +0 -0
  624. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +0 -0
  625. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +0 -0
  626. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +0 -0
  627. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +0 -0
  628. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +0 -0
  629. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +0 -0
  630. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +0 -0
  631. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +0 -0
  632. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +0 -0
  633. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +0 -0
  634. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +0 -0
  635. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +0 -0
  636. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +0 -0
  637. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +0 -0
  638. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +0 -0
  639. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +0 -0
  640. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +0 -0
  641. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +0 -0
  642. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +0 -0
  643. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +0 -0
  644. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +0 -0
  645. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +0 -0
  646. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +0 -0
  647. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +0 -0
  648. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +0 -0
  649. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +0 -0
  650. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +0 -0
  651. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +0 -0
  652. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +0 -0
  653. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +0 -0
  654. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +0 -0
  655. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +0 -0
  656. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +0 -0
  657. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +0 -0
  658. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +0 -0
  659. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +0 -0
  660. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +0 -0
  661. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +0 -0
  662. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +0 -0
  663. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +0 -0
  664. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +0 -0
  665. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +0 -0
  666. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +0 -0
  667. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +0 -0
  668. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +0 -0
  669. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +0 -0
  670. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +0 -0
  671. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +0 -0
  672. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +0 -0
  673. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +0 -0
  674. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +0 -0
  675. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +0 -0
  676. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +0 -0
  677. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +0 -0
  678. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +0 -0
  679. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +0 -0
  680. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +0 -0
  681. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +0 -0
  682. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +0 -0
  683. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +0 -0
  684. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +0 -0
  685. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +0 -0
  686. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +0 -0
  687. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +0 -0
  688. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +0 -0
  689. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +0 -0
  690. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +0 -0
  691. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +0 -0
  692. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +0 -0
  693. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +0 -0
  694. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +0 -0
  695. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +0 -0
  696. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +0 -0
  697. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +0 -0
  698. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +0 -0
  699. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +0 -0
  700. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +0 -0
  701. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +0 -0
  702. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +0 -0
  703. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +0 -0
  704. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +0 -0
  705. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +0 -0
  706. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +0 -0
  707. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +0 -0
  708. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +0 -0
  709. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +0 -0
  710. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +0 -0
  711. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +0 -0
  712. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +0 -0
  713. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +0 -0
  714. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +0 -0
  715. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +0 -0
  716. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +0 -0
  717. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +0 -0
  718. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +0 -0
  719. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +0 -0
  720. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +0 -0
  721. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +0 -0
  722. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +0 -0
  723. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +0 -0
  724. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +0 -0
  725. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +0 -0
  726. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +0 -0
  727. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +0 -0
  728. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +0 -0
  729. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +0 -0
  730. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +0 -0
  731. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +0 -0
  732. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +0 -0
  733. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +0 -0
  734. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +0 -0
  735. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +0 -0
  736. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +0 -0
  737. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -0
  738. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/inline_ascii.py +0 -0
  739. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/layout.py +0 -0
  740. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -0
  741. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -0
  742. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -0
  743. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/nop.py +0 -0
  744. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -0
  745. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/random.py +0 -0
  746. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
  747. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -0
  748. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/random_scene.py +0 -0
  749. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
  750. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -0
  751. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -0
  752. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/spiral.py +0 -0
  753. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/transplant_scene.py +0 -0
  754. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
  755. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/wfc.py +0 -0
  756. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/scenes/yaml.py +0 -0
  757. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
  758. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/types.py +0 -0
  759. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/utils/ascii_grid.py +0 -0
  760. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
  761. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -0
  762. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
  763. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -0
  764. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/mettascope.py +0 -0
  765. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/nim/__init__.py +0 -0
  766. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/profiling/__init__.py +0 -0
  767. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
  768. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/profiling/stopwatch.py +0 -0
  769. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/profiling/system_monitor.py +0 -0
  770. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/py.typed +0 -0
  771. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
  772. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/altar.png +0 -0
  773. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/atlas.json +0 -0
  774. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/atlas.png +0 -0
  775. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/converter.png +0 -0
  776. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/generator.png +0 -0
  777. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/items.png +0 -0
  778. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/monsters.png +0 -0
  779. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
  780. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
  781. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
  782. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
  783. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
  784. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
  785. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
  786. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
  787. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/assets/wall.png +0 -0
  788. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/miniscope/__init__.py +0 -0
  789. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/miniscope/buffer.py +0 -0
  790. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/miniscope/help.py +0 -0
  791. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/miniscope/info_panels.py +0 -0
  792. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/renderer/miniscope/renderer.py +0 -0
  793. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/test_support/__init__.py +0 -0
  794. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/test_support/mapgen.py +0 -0
  795. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/test_support/observation_helper.py +0 -0
  796. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/test_support/orientation.py +0 -0
  797. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/test_support/token_types.py +0 -0
  798. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/__init__.py +0 -0
  799. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/debug.py +0 -0
  800. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/dict_utils.py +0 -0
  801. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/diversity.py +0 -0
  802. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/module.py +0 -0
  803. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/replay_writer.py +0 -0
  804. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/python/src/mettagrid/util/stats_writer.py +0 -0
  805. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/scripts/build_asan.sh +0 -0
  806. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/scripts/test_leaks.sh +0 -0
  807. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/setup.cfg +0 -0
  808. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/BUILD +0 -0
  809. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/__init__.py +0 -0
  810. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/cpplint.sh +0 -0
  811. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/__init__.py +0 -0
  812. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/test_ascii.py +0 -0
  813. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/test_map_builder.py +0 -0
  814. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/test_maze.py +0 -0
  815. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/test_polymorphic_serialization.py +0 -0
  816. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/test_random.py +0 -0
  817. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/map_builder/test_utils.py +0 -0
  818. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/__init__.py +0 -0
  819. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/random/test_float.py +0 -0
  820. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/random/test_int.py +0 -0
  821. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/fixtures/dir1/1.yaml +0 -0
  822. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/fixtures/dir1/2.yaml +0 -0
  823. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/fixtures/test.map +0 -0
  824. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/fixtures/test.yaml +0 -0
  825. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_ascii.py +0 -0
  826. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_auto.py +0 -0
  827. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_bsp.py +0 -0
  828. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_convchain.py +0 -0
  829. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_inline_ascii.py +0 -0
  830. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_layout.py +0 -0
  831. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_make_connected.py +0 -0
  832. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_maze.py +0 -0
  833. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_mean_distance.py +0 -0
  834. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_mirror.py +0 -0
  835. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_multi_left_and_right.py +0 -0
  836. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_nop.py +0 -0
  837. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_radial_maze.py +0 -0
  838. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_random.py +0 -0
  839. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_random_dcss_scene.py +0 -0
  840. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_random_objects.py +0 -0
  841. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_random_scene.py +0 -0
  842. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_random_yaml_scene.py +0 -0
  843. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_remove_agents.py +0 -0
  844. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_room_grid.py +0 -0
  845. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_wfc.py +0 -0
  846. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/scenes/test_yaml.py +0 -0
  847. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/test_mapgen.py +0 -0
  848. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/test_scene.py +0 -0
  849. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/test_transform.py +0 -0
  850. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/test_validate_all_ascii_maps.py +0 -0
  851. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/mapgen/utils/test_pattern.py +0 -0
  852. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/profiling/test_memory_monitor.py +0 -0
  853. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/profiling/test_stopwatch.py +0 -0
  854. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/profiling/test_system_monitor.py +0 -0
  855. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/renderer/test_miniscope.py +0 -0
  856. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/run_test.py +0 -0
  857. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_attack_resource_exception.py +0 -0
  858. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_clipper.cpp +0 -0
  859. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_converter.py +0 -0
  860. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_diversity.py +0 -0
  861. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_env_config_serialization.py +0 -0
  862. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_env_map.py +0 -0
  863. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_forbidden_imports.py +0 -0
  864. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_grid_object.cpp +0 -0
  865. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_grid_objects_properties.py +0 -0
  866. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_leaks.py +0 -0
  867. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_mettagrid.cpp +0 -0
  868. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_observations.cpp +0 -0
  869. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_pufferlib_integration.py +0 -0
  870. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_resource_mod_config.py +0 -0
  871. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_set_inventory.py +0 -0
  872. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_stats_tracker.cpp +0 -0
  873. {mettagrid-0.2.0.23 → mettagrid-0.2.0.25}/tests/test_tags.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mettagrid
3
- Version: 0.2.0.23
3
+ Version: 0.2.0.25
4
4
  Summary: A fast grid-based open-ended MARL environment
5
5
  Author-email: David Bloomin <daveey@gmail.com>
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://daveey.github.io
8
8
  Project-URL: Repository, https://github.com/Metta-AI/mettagrid
9
9
  Keywords: gridworld,minigrid,rl,reinforcement-learning,environment,gym
10
- Requires-Python: >=3.11
10
+ Requires-Python: <3.13,>=3.11
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
13
  Requires-Dist: boto3>=1.38.32
@@ -55,7 +55,6 @@ GameConfig CreateBenchmarkConfig(size_t num_agents) {
55
55
  actions_cfg.push_back({"swap", action_cfg});
56
56
  actions_cfg.push_back({"put_items", action_cfg});
57
57
  actions_cfg.push_back({"get_items", action_cfg});
58
- actions_cfg.push_back({"change_color", action_cfg});
59
58
  actions_cfg.push_back({"change_glyph", change_glyph_cfg});
60
59
 
61
60
  std::map<std::string, std::shared_ptr<GridObjectConfig>> objects_cfg;
@@ -285,6 +285,70 @@ void MettaGrid::init_action_handlers() {
285
285
  _max_action_arg = _max_action_args[i];
286
286
  }
287
287
  }
288
+
289
+ build_flat_action_catalog();
290
+ }
291
+
292
+ void MettaGrid::build_flat_action_catalog() {
293
+ _flat_action_map.clear();
294
+ _flat_action_names.clear();
295
+ _action_arg_to_flat.clear();
296
+
297
+ size_t total_variants = 0;
298
+ for (unsigned char max_arg : _max_action_args) {
299
+ total_variants += static_cast<size_t>(max_arg) + 1;
300
+ }
301
+
302
+ _flat_action_map.reserve(total_variants);
303
+ _flat_action_names.reserve(total_variants);
304
+ _action_arg_to_flat.resize(_action_handlers.size());
305
+
306
+ std::unordered_set<std::string> seen_names;
307
+ seen_names.reserve(total_variants);
308
+
309
+ for (size_t handler_index = 0; handler_index < _action_handlers.size(); ++handler_index) {
310
+ auto& handler = _action_handlers[handler_index];
311
+ unsigned char max_arg = _max_action_args[handler_index];
312
+ auto& arg_map = _action_arg_to_flat[handler_index];
313
+ arg_map.assign(static_cast<size_t>(max_arg) + 1, -1);
314
+
315
+ const int max_arg_int = static_cast<int>(max_arg);
316
+ for (int raw_arg = 0; raw_arg <= max_arg_int; ++raw_arg) {
317
+ const ActionArg arg = static_cast<ActionArg>(raw_arg);
318
+
319
+ std::string base_name = handler->variant_name(arg);
320
+ if (base_name.empty()) {
321
+ base_name = handler->action_name();
322
+ }
323
+
324
+ std::string variant = base_name;
325
+ int suffix = 1;
326
+ while (!seen_names.insert(variant).second) {
327
+ variant = base_name + "_" + std::to_string(suffix++);
328
+ }
329
+
330
+ const auto flat_index = static_cast<int>(_flat_action_map.size());
331
+ _flat_action_map.emplace_back(static_cast<ActionType>(handler_index), arg);
332
+ _flat_action_names.emplace_back(std::move(variant));
333
+ arg_map[static_cast<size_t>(arg)] = flat_index;
334
+ }
335
+ }
336
+ }
337
+
338
+ int MettaGrid::flat_action_index(ActionType action, ActionArg arg) const {
339
+ if (action < 0) {
340
+ return -1;
341
+ }
342
+ size_t action_idx = static_cast<size_t>(action);
343
+ if (action_idx >= _action_arg_to_flat.size()) {
344
+ return -1;
345
+ }
346
+ size_t arg_idx = static_cast<size_t>(arg);
347
+ const auto& mapping = _action_arg_to_flat[action_idx];
348
+ if (arg_idx >= mapping.size()) {
349
+ return -1;
350
+ }
351
+ return mapping[arg_idx];
288
352
  }
289
353
 
290
354
  void MettaGrid::add_agent(Agent* agent) {
@@ -325,6 +389,7 @@ void MettaGrid::_compute_observation(GridCoord observer_row,
325
389
 
326
390
  // Build global tokens based on configuration
327
391
  std::vector<PartialObservationToken> global_tokens;
392
+ int flat_action = flat_action_index(action, action_arg);
328
393
 
329
394
  if (_global_obs_config.episode_completion_pct) {
330
395
  ObservationType episode_completion_pct = 0;
@@ -337,7 +402,8 @@ void MettaGrid::_compute_observation(GridCoord observer_row,
337
402
  }
338
403
 
339
404
  if (_global_obs_config.last_action) {
340
- global_tokens.push_back({ObservationFeature::LastAction, static_cast<ObservationType>(action)});
405
+ ObservationType action_value = static_cast<ObservationType>(std::max(0, flat_action));
406
+ global_tokens.push_back({ObservationFeature::LastAction, action_value});
341
407
  global_tokens.push_back({ObservationFeature::LastActionArg, static_cast<ObservationType>(action_arg)});
342
408
  }
343
409
 
@@ -651,7 +717,56 @@ void MettaGrid::set_buffers(const py::array_t<uint8_t, py::array::c_style>& obse
651
717
  }
652
718
 
653
719
  py::tuple MettaGrid::step(const py::array_t<ActionType, py::array::c_style> actions) {
654
- _step(actions);
720
+ auto info = actions.request();
721
+ py::array_t<ActionType, py::array::c_style> converted;
722
+
723
+ auto assign_flat = [&](auto& view, size_t agent_idx, ActionType flat_index) {
724
+ if (flat_index < 0 || static_cast<size_t>(flat_index) >= _flat_action_map.size()) {
725
+ view(agent_idx, 0) = -1;
726
+ view(agent_idx, 1) = 0;
727
+ return;
728
+ }
729
+ const auto& mapping = _flat_action_map[static_cast<size_t>(flat_index)];
730
+ view(agent_idx, 0) = mapping.first;
731
+ view(agent_idx, 1) = mapping.second;
732
+ };
733
+
734
+ if (info.ndim == 1) {
735
+ if (info.shape[0] != static_cast<ssize_t>(_agents.size())) {
736
+ throw std::runtime_error("actions has the wrong shape");
737
+ }
738
+ auto view = actions.unchecked<1>();
739
+ converted = py::array_t<ActionType, py::array::c_style>(
740
+ py::array::ShapeContainer{static_cast<ssize_t>(_agents.size()), static_cast<ssize_t>(2)});
741
+ auto converted_view = converted.mutable_unchecked<2>();
742
+ for (size_t agent_idx = 0; agent_idx < _agents.size(); ++agent_idx) {
743
+ auto flat_index = view(agent_idx);
744
+ assign_flat(converted_view, agent_idx, flat_index);
745
+ }
746
+ _step(converted);
747
+ } else if (info.ndim == 2) {
748
+ if (info.shape[0] != static_cast<ssize_t>(_agents.size())) {
749
+ throw std::runtime_error("actions has the wrong shape");
750
+ }
751
+
752
+ if (info.shape[1] == 1) {
753
+ auto view = actions.unchecked<2>();
754
+ converted = py::array_t<ActionType, py::array::c_style>(
755
+ py::array::ShapeContainer{static_cast<ssize_t>(_agents.size()), static_cast<ssize_t>(2)});
756
+ auto converted_view = converted.mutable_unchecked<2>();
757
+ for (size_t agent_idx = 0; agent_idx < _agents.size(); ++agent_idx) {
758
+ auto flat_index = view(agent_idx, 0);
759
+ assign_flat(converted_view, agent_idx, flat_index);
760
+ }
761
+ _step(converted);
762
+ } else if (info.shape[1] == 2) {
763
+ _step(actions);
764
+ } else {
765
+ throw std::runtime_error("actions has the wrong shape");
766
+ }
767
+ } else {
768
+ throw std::runtime_error("actions has the wrong shape");
769
+ }
655
770
 
656
771
  auto rewards_view = _rewards.mutable_unchecked<1>();
657
772
 
@@ -876,8 +991,8 @@ py::dict MettaGrid::grid_objects(int min_row, int max_row, int min_col, int max_
876
991
 
877
992
  py::list MettaGrid::action_names() {
878
993
  py::list names;
879
- for (const auto& handler : _action_handlers) {
880
- names.append(handler->action_name());
994
+ for (const auto& name : _flat_action_names) {
995
+ names.append(py::str(name));
881
996
  }
882
997
  return names;
883
998
  }
@@ -947,10 +1062,7 @@ py::object MettaGrid::action_space() {
947
1062
  auto gym = py::module_::import("gymnasium");
948
1063
  auto spaces = gym.attr("spaces");
949
1064
 
950
- size_t number_of_actions = py::len(action_names());
951
- size_t number_of_action_args = _max_action_arg + 1;
952
- return spaces.attr("MultiDiscrete")(py::make_tuple(number_of_actions, number_of_action_args),
953
- py::arg("dtype") = dtype_actions());
1065
+ return spaces.attr("Discrete")(py::int_(_flat_action_map.size()));
954
1066
  }
955
1067
 
956
1068
  py::object MettaGrid::observation_space() {
@@ -162,6 +162,10 @@ private:
162
162
  std::mt19937 _rng;
163
163
  unsigned int _seed;
164
164
 
165
+ std::vector<std::pair<ActionType, ActionArg>> _flat_action_map;
166
+ std::vector<std::string> _flat_action_names;
167
+ std::vector<std::vector<int>> _action_arg_to_flat;
168
+
165
169
  // Movement tracking
166
170
  bool _track_movement_metrics;
167
171
  float _resource_loss_prob;
@@ -188,6 +192,8 @@ private:
188
192
  AgentConfig _create_agent_config(const py::dict& agent_group_cfg_py);
189
193
  ConverterConfig _create_converter_config(const py::dict& converter_cfg_py);
190
194
  WallConfig _create_wall_config(const py::dict& wall_cfg_py);
195
+ void build_flat_action_catalog();
196
+ int flat_action_index(ActionType action, ActionArg arg) const;
191
197
  };
192
198
 
193
199
  #endif // PACKAGES_METTAGRID_CPP_BINDINGS_METTAGRID_C_HPP_
@@ -144,6 +144,13 @@ public:
144
144
  return _action_name;
145
145
  }
146
146
 
147
+ virtual std::string variant_name(ActionArg arg) const {
148
+ if (max_arg() == 0) {
149
+ return _action_name;
150
+ }
151
+ return _action_name + "_" + std::to_string(static_cast<int>(arg));
152
+ }
153
+
147
154
  protected:
148
155
  virtual bool _handle_action(Agent& actor, ActionArg arg) = 0;
149
156
 
@@ -88,6 +88,14 @@ protected:
88
88
  return _grid->move_object(actor, target_location);
89
89
  }
90
90
 
91
+ std::string variant_name(ActionArg arg) const override {
92
+ Orientation move_direction = static_cast<Orientation>(arg);
93
+ if (!isValidOrientation(move_direction, _game_config->allow_diagonals)) {
94
+ return ActionHandler::variant_name(arg);
95
+ }
96
+ return std::string(action_name()) + "_" + OrientationFullNames[static_cast<size_t>(move_direction)];
97
+ }
98
+
91
99
  private:
92
100
  const GameConfig* _game_config;
93
101
  };
@@ -125,4 +125,15 @@ inline const char* OrientationNames[8] = {
125
125
  "SE" // 7
126
126
  };
127
127
 
128
+ inline const char* OrientationFullNames[8] = {
129
+ "north", // 0
130
+ "south", // 1
131
+ "west", // 2
132
+ "east", // 3
133
+ "northwest", // 4
134
+ "northeast", // 5
135
+ "southwest", // 6
136
+ "southeast" // 7
137
+ };
138
+
128
139
  #endif // PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_ORIENTATION_HPP_
@@ -63,6 +63,13 @@ public:
63
63
  }
64
64
 
65
65
  protected:
66
+ std::string variant_name(ActionArg arg) const override {
67
+ if (arg == 0) {
68
+ return action_name();
69
+ }
70
+ return ActionHandler::variant_name(arg);
71
+ }
72
+
66
73
  bool _handle_action(Agent& actor, ActionArg /* arg */) override {
67
74
  // Center AoE on actor's position
68
75
  int center_row = static_cast<int>(actor.location.r);
@@ -42,6 +42,14 @@ protected:
42
42
  return true;
43
43
  }
44
44
 
45
+ std::string variant_name(ActionArg arg) const override {
46
+ Orientation orientation = static_cast<Orientation>(arg);
47
+ if (!_game_config->allow_diagonals && isDiagonal(orientation)) {
48
+ return ActionHandler::variant_name(arg);
49
+ }
50
+ return std::string(action_name()) + "_" + OrientationFullNames[static_cast<size_t>(orientation)];
51
+ }
52
+
45
53
  private:
46
54
  const GameConfig* _game_config;
47
55
  };
@@ -169,7 +169,7 @@ flag.
169
169
 
170
170
  **PettingZoo test closes env**: Don't try to reuse the same env instance after `parallel_api_test`; create a new one.
171
171
 
172
- **Action data types**: Make sure actions are `int32` for MultiDiscrete spaces (Puffer/PettingZoo).
172
+ **Action data types**: Make sure actions are `int32` scalars for the discrete action space.
173
173
 
174
174
  **SB3 shape complaints**: Verify you're using the single-agent wrapper and that obs/action spaces match SB3
175
175
  expectations.
@@ -63,7 +63,7 @@ def demo_single_agent_gym():
63
63
  from gymnasium import spaces
64
64
 
65
65
  assert isinstance(env.observation_space, spaces.Box), "Single-agent obs space should be Box"
66
- assert isinstance(env.action_space, spaces.MultiDiscrete), "Single-agent action space should be MultiDiscrete"
66
+ assert isinstance(env.action_space, spaces.Discrete), "Single-agent action space should be Discrete"
67
67
  print("Single-agent Gymnasium compatibility verified")
68
68
 
69
69
  env.close()
@@ -78,10 +78,8 @@ def demo_random_rollout():
78
78
  actions = {}
79
79
  for agent in env.agents:
80
80
  action_space = env.action_space(agent)
81
- if isinstance(action_space, spaces.MultiDiscrete):
82
- actions[agent] = np.random.randint(0, action_space.nvec, size=len(action_space.nvec), dtype=np.int32)
83
- else:
84
- actions[agent] = action_space.sample()
81
+ assert isinstance(action_space, spaces.Discrete)
82
+ actions[agent] = int(action_space.sample())
85
83
 
86
84
  _, rewards, terminations, truncations, _ = env.step(actions)
87
85
 
@@ -124,14 +122,8 @@ def demo_simple_marl_training():
124
122
  policies = {}
125
123
  for agent in env.possible_agents:
126
124
  action_space = env.action_space(agent)
127
- if isinstance(action_space, spaces.MultiDiscrete):
128
- # MultiDiscrete case
129
- policies[agent] = (
130
- np.ones((len(action_space.nvec), max(action_space.nvec))) / action_space.nvec[:, np.newaxis]
131
- )
132
- elif isinstance(action_space, spaces.Discrete):
133
- # Discrete case
134
- policies[agent] = np.ones(action_space.n) / action_space.n
125
+ assert isinstance(action_space, spaces.Discrete)
126
+ policies[agent] = np.ones(action_space.n) / action_space.n
135
127
 
136
128
  _, _ = env.reset(seed=42)
137
129
  total_rewards = {agent: 0 for agent in env.possible_agents}
@@ -145,36 +137,24 @@ def demo_simple_marl_training():
145
137
  for agent in env.agents:
146
138
  if agent in policies:
147
139
  action_space = env.action_space(agent)
148
- if isinstance(action_space, spaces.MultiDiscrete):
149
- # MultiDiscrete case
150
- action = []
151
- for i, nvec in enumerate(action_space.nvec):
152
- probs = policies[agent][i, :nvec]
153
- probs = probs / probs.sum()
154
- action.append(np.random.choice(nvec, p=probs))
155
- actions[agent] = np.array(action, dtype=np.int32)
156
- elif isinstance(action_space, spaces.Discrete):
157
- # Discrete case
158
- probs = policies[agent] / policies[agent].sum()
159
- actions[agent] = np.random.choice(action_space.n, p=probs)
140
+ assert isinstance(action_space, spaces.Discrete)
141
+ probs = policies[agent]
142
+ probs = probs / probs.sum()
143
+ actions[agent] = int(np.random.choice(action_space.n, p=probs))
160
144
  else:
161
- actions[agent] = env.action_space(agent).sample()
145
+ action_space = env.action_space(agent)
146
+ assert isinstance(action_space, spaces.Discrete)
147
+ actions[agent] = int(action_space.sample())
162
148
 
163
149
  _, rewards, terminations, truncations, _ = env.step(actions)
164
150
 
165
151
  for agent, reward in rewards.items():
166
152
  if agent in policies and agent in actions and reward > 0:
167
- action_taken = actions[agent]
153
+ action_taken = int(actions[agent])
168
154
  action_space = env.action_space(agent)
169
- if isinstance(action_space, spaces.MultiDiscrete):
170
- # MultiDiscrete case
171
- for i, a in enumerate(action_taken):
172
- policies[agent][i, a] *= 1.1
173
- policies[agent][i] /= policies[agent][i].sum()
174
- elif isinstance(action_space, spaces.Discrete):
175
- # Discrete case
176
- policies[agent][action_taken] *= 1.1
177
- policies[agent] /= policies[agent].sum()
155
+ assert isinstance(action_space, spaces.Discrete)
156
+ policies[agent][action_taken] *= 1.1
157
+ policies[agent] /= policies[agent].sum()
178
158
 
179
159
  total_rewards[agent] += reward
180
160
 
@@ -32,7 +32,7 @@ import numpy as np
32
32
 
33
33
  # MettaGrid imports
34
34
  # Note: MettaGridEnv inherits from PufferEnv, so it's fully PufferLib-compatible
35
- from mettagrid import MettaGridEnv
35
+ from mettagrid import MettaGridEnv, dtype_actions
36
36
  from mettagrid.builder.envs import make_arena
37
37
  from mettagrid.config.mettagrid_config import MettaGridConfig
38
38
 
@@ -75,20 +75,8 @@ def demo_puffer_env():
75
75
  # Generate random actions compatible with the action space
76
76
  from gymnasium import spaces
77
77
 
78
- if isinstance(env.action_space, spaces.MultiDiscrete):
79
- # MultiDiscrete case
80
- actions = np.zeros((env.num_agents, len(env.action_space.nvec)), dtype=np.int32)
81
- for i in range(env.num_agents):
82
- for j, n in enumerate(env.action_space.nvec):
83
- actions[i, j] = np.random.randint(0, n)
84
- else:
85
- # Box case
86
- actions = np.random.randint(
87
- env.action_space.low,
88
- env.action_space.high + 1,
89
- size=env.action_space.shape,
90
- dtype=np.int32,
91
- )
78
+ assert isinstance(env.action_space, spaces.Discrete)
79
+ actions = np.random.randint(0, env.action_space.n, size=(env.num_agents,)).astype(dtype_actions, copy=False)
92
80
 
93
81
  _, rewards, terminals, truncations, _ = env.step(actions)
94
82
  print(f" - Step successful: obs {observations.shape}, rewards {rewards.shape}")
@@ -123,17 +111,8 @@ def demo_random_rollout():
123
111
  # Generate random actions for all agents
124
112
  from gymnasium import spaces
125
113
 
126
- if isinstance(env.action_space, spaces.MultiDiscrete):
127
- # MultiDiscrete case
128
- actions = np.zeros((env.num_agents, len(env.action_space.nvec)), dtype=np.int32)
129
- for i in range(env.num_agents):
130
- for j, n in enumerate(env.action_space.nvec):
131
- actions[i, j] = np.random.randint(0, n)
132
- else:
133
- # Box case
134
- actions = np.random.randint(
135
- env.action_space.low, env.action_space.high + 1, size=env.action_space.shape, dtype=np.int32
136
- )
114
+ assert isinstance(env.action_space, spaces.Discrete)
115
+ actions = np.random.randint(0, env.action_space.n, size=(env.num_agents,)).astype(dtype_actions, copy=False)
137
116
 
138
117
  _, rewards, terminals, truncations, _ = env.step(actions)
139
118
  total_reward += rewards.sum()
@@ -195,63 +174,25 @@ def demo_pufferlib_training():
195
174
  # Initialize simple policies based on action space type
196
175
  from gymnasium import spaces
197
176
 
198
- if isinstance(env.action_space, spaces.MultiDiscrete):
199
- # MultiDiscrete: maintain preferences per action value
200
- action_preferences = []
201
- for n in env.action_space.nvec:
202
- action_preferences.append(np.ones(n) / n)
203
- else:
204
- # Box: track preferences for discretized bins
205
- action_low = env.action_space.low
206
- action_high = env.action_space.high
207
- num_bins = 10
208
- action_preferences = np.ones((env.num_agents, env.action_space.shape[1], num_bins))
177
+ assert isinstance(env.action_space, spaces.Discrete)
178
+ action_preferences = np.ones(env.action_space.n)
209
179
 
210
180
  for _ in range(max_steps):
211
181
  # Sample actions based on current preferences
212
- if isinstance(env.action_space, spaces.MultiDiscrete):
213
- # MultiDiscrete case
214
- actions = np.zeros((env.num_agents, len(env.action_space.nvec)), dtype=np.int32)
215
- for i in range(env.num_agents):
216
- for j, n in enumerate(env.action_space.nvec):
217
- probs = action_preferences[j] / action_preferences[j].sum()
218
- actions[i, j] = np.random.choice(n, p=probs)
219
- else:
220
- # Box case
221
- actions = np.zeros((env.num_agents, env.action_space.shape[1]), dtype=np.int32)
222
- for i in range(env.num_agents):
223
- for j in range(env.action_space.shape[1]):
224
- # Convert preferences to probabilities
225
- probs = action_preferences[i, j] / action_preferences[i, j].sum()
226
- # Sample bin and convert to action value
227
- bin_idx = np.random.choice(num_bins, p=probs)
228
- action_range = action_high[i, j] - action_low[i, j] + 1
229
- action_val = int(action_low[i, j] + (bin_idx * action_range) / num_bins)
230
- action_val = np.clip(action_val, action_low[i, j], action_high[i, j])
231
- actions[i, j] = action_val
182
+ probs = action_preferences / action_preferences.sum()
183
+ actions = np.random.choice(env.action_space.n, size=env.num_agents, p=probs).astype(
184
+ dtype_actions, copy=False
185
+ )
232
186
 
233
187
  _, rewards, terminals, truncations, _ = env.step(actions)
234
188
  total_reward += rewards.sum()
235
189
  steps += 1
236
190
 
237
191
  # Simple "learning": increase preference for actions that led to positive rewards
238
- if isinstance(env.action_space, spaces.MultiDiscrete):
239
- # MultiDiscrete learning
240
- for i in range(env.num_agents):
241
- if rewards[i] > 0:
242
- for j in range(len(env.action_space.nvec)):
243
- action_preferences[j][actions[i, j]] *= 1.1
244
- else:
245
- # Box learning
246
- for i in range(env.num_agents):
247
- if rewards[i] > 0:
248
- for j in range(env.action_space.shape[1]):
249
- # Find which bin the action belonged to
250
- action_range = action_high[i, j] - action_low[i, j] + 1
251
- bin_idx = int((actions[i, j] - action_low[i, j]) * num_bins / action_range)
252
- bin_idx = np.clip(bin_idx, 0, num_bins - 1)
253
- # Increase preference for this bin
254
- action_preferences[i, j, bin_idx] *= 1.1
192
+ if rewards.any():
193
+ for action, reward in zip(actions, rewards, strict=False):
194
+ if reward > 0:
195
+ action_preferences[action] *= 1.1
255
196
 
256
197
  if terminals.any() or truncations.any():
257
198
  _, _ = env.reset()
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mettagrid
3
- Version: 0.2.0.23
3
+ Version: 0.2.0.25
4
4
  Summary: A fast grid-based open-ended MARL environment
5
5
  Author-email: David Bloomin <daveey@gmail.com>
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://daveey.github.io
8
8
  Project-URL: Repository, https://github.com/Metta-AI/mettagrid
9
9
  Keywords: gridworld,minigrid,rl,reinforcement-learning,environment,gym
10
- Requires-Python: >=3.11
10
+ Requires-Python: <3.13,>=3.11
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
13
  Requires-Dist: boto3>=1.38.32
@@ -399,7 +399,6 @@ python/src/mettagrid/map_builder/random.py
399
399
  python/src/mettagrid/map_builder/utils.py
400
400
  python/src/mettagrid/mapgen/__init__.py
401
401
  python/src/mettagrid/mapgen/area.py
402
- python/src/mettagrid/mapgen/load.py
403
402
  python/src/mettagrid/mapgen/mapgen.py
404
403
  python/src/mettagrid/mapgen/mapgen_ascii.py
405
404
  python/src/mettagrid/mapgen/scene.py
@@ -724,7 +723,6 @@ python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml
724
723
  python/src/mettagrid/mapgen/tools/dcss_import.py
725
724
  python/src/mettagrid/mapgen/tools/gen.py
726
725
  python/src/mettagrid/mapgen/tools/gen_scene.py
727
- python/src/mettagrid/mapgen/tools/view.py
728
726
  python/src/mettagrid/mapgen/utils/ascii_grid.py
729
727
  python/src/mettagrid/mapgen/utils/draw.py
730
728
  python/src/mettagrid/mapgen/utils/make_scene_config.py
@@ -24,5 +24,5 @@ cd mettascope2
24
24
  ## Running
25
25
 
26
26
  ```
27
- ./tools/run.py experiments.recipes.arena.play mettascope2=true
27
+ ./tools/run.py arena.play mettascope2=true
28
28
  ```
@@ -8,7 +8,7 @@ name = "mettagrid" # Do not change! Has to be 'mettagrid' for our PyPi package
8
8
  dynamic = ["version"]
9
9
  description = "A fast grid-based open-ended MARL environment"
10
10
  authors = [{ name = "David Bloomin", email = "daveey@gmail.com" }]
11
- requires-python = ">=3.11"
11
+ requires-python = ">=3.11,<3.13"
12
12
  license = "MIT"
13
13
  readme = "README.md"
14
14
  urls = { Homepage = "https://daveey.github.io", Repository = "https://github.com/Metta-AI/mettagrid" }
@@ -47,7 +47,7 @@ _LAZY_ATTRS: Dict[str, Tuple[str, str]] = {
47
47
  ),
48
48
  "validate_action_space": ("mettagrid.types", "validate_action_space"),
49
49
  "get_observation_shape": ("mettagrid.types", "get_observation_shape"),
50
- "get_action_nvec": ("mettagrid.types", "get_action_nvec"),
50
+ "get_action_count": ("mettagrid.types", "get_action_count"),
51
51
  # Supporting classes
52
52
  "GameMap": ("mettagrid.map_builder.map_builder", "GameMap"),
53
53
  "ReplayWriter": ("mettagrid.util.replay_writer", "ReplayWriter"),
@@ -71,7 +71,7 @@ if TYPE_CHECKING:
71
71
  dtype_truncations,
72
72
  )
73
73
  from mettagrid.types import (
74
- get_action_nvec,
74
+ get_action_count,
75
75
  get_observation_shape,
76
76
  validate_action_space,
77
77
  validate_observation_space,
@@ -108,7 +108,7 @@ __all__ = [
108
108
  "validate_observation_space",
109
109
  "validate_action_space",
110
110
  "get_observation_shape",
111
- "get_action_nvec",
111
+ "get_action_count",
112
112
  # Supporting classes
113
113
  "GameMap",
114
114
  "ReplayWriter",
@@ -112,7 +112,7 @@ class GlobalObsConfig(Config):
112
112
 
113
113
  episode_completion_pct: bool = Field(default=True)
114
114
 
115
- # Controls both last_action and last_action_arg
115
+ # Controls whether the last_action global token is included
116
116
  last_action: bool = Field(default=True)
117
117
 
118
118
  last_reward: bool = Field(default=True)