mettagrid 0.2.0.19__tar.gz → 0.2.0.20__tar.gz

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

Potentially problematic release.


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

Files changed (866) hide show
  1. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/MODULE.bazel +8 -0
  2. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/PKG-INFO +1 -1
  3. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/bindings/mettagrid_c.cpp +6 -1
  4. mettagrid-0.2.0.20/cpp/include/mettagrid/actions/resource_mod.hpp +194 -0
  5. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/grid_object.hpp +2 -1
  6. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/PKG-INFO +1 -1
  7. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/SOURCES.txt +7 -0
  8. mettagrid-0.2.0.20/nim/mettascope/data/objects/assembler.png +0 -0
  9. mettagrid-0.2.0.20/nim/mettascope/data/objects/charger.png +0 -0
  10. mettagrid-0.2.0.20/nim/mettascope/data/objects/chest.png +0 -0
  11. mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_carbon.png +0 -0
  12. mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_germanium.png +0 -0
  13. mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_oxygen.png +0 -0
  14. mettagrid-0.2.0.20/nim/mettascope/data/objects/chest_silicon.png +0 -0
  15. mettagrid-0.2.0.20/nim/mettascope/data/resources/heart.png +0 -0
  16. mettagrid-0.2.0.20/nim/mettascope/data/resources/oxygen.png +0 -0
  17. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/mettagrid_c_config.py +18 -0
  18. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/mettagrid_config.py +10 -1
  19. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mettagrid_c.pyi +15 -0
  20. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mettascope.py +4 -2
  21. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_mettagrid.cpp +157 -2
  22. mettagrid-0.2.0.20/tests/test_resource_mod.py +680 -0
  23. mettagrid-0.2.0.20/tests/test_resource_mod_config.py +127 -0
  24. mettagrid-0.2.0.19/nim/mettascope/data/objects/assembler.png +0 -0
  25. mettagrid-0.2.0.19/nim/mettascope/data/objects/charger.png +0 -0
  26. mettagrid-0.2.0.19/nim/mettascope/data/objects/chest.png +0 -0
  27. mettagrid-0.2.0.19/nim/mettascope/data/resources/heart.png +0 -0
  28. mettagrid-0.2.0.19/nim/mettascope/data/resources/oxygen.png +0 -0
  29. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.bazelrc +0 -0
  30. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.clang-format +0 -0
  31. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.clang-tidy +0 -0
  32. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/.gitignore +0 -0
  33. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/BUILD.bazel +0 -0
  34. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/CPPLINT.cfg +0 -0
  35. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/LICENSE +0 -0
  36. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/MANIFEST.in +0 -0
  37. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/Makefile +0 -0
  38. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/README.md +0 -0
  39. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/bazel_build.py +0 -0
  40. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/benchmarks/BUILD +0 -0
  41. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/benchmarks/test_mettagrid_env_benchmark.cpp +0 -0
  42. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/benchmarks/test_mettagrid_env_benchmark.py +0 -0
  43. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/README.md +0 -0
  44. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/boxout.map +0 -0
  45. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/choose_wisely.map +0 -0
  46. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/corners.map +0 -0
  47. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/corridors.map +0 -0
  48. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/cylinder.map +0 -0
  49. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/cylinder_easy.map +0 -0
  50. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/easy_memory.map +0 -0
  51. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/emptyspace_outofsight.map +0 -0
  52. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/hall_of_mirrors.map +0 -0
  53. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/hard_memory.map +0 -0
  54. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/honeypot.map +0 -0
  55. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/journey_home.map +0 -0
  56. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/knotty.map +0 -0
  57. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/labyrinth.map +0 -0
  58. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/little_landmark_easy.map +0 -0
  59. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/little_landmark_hard.map +0 -0
  60. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/lobster_legs.map +0 -0
  61. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/lobster_legs_cues.map +0 -0
  62. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/medium_memory.map +0 -0
  63. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory3.map +0 -0
  64. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory_palace.map +0 -0
  65. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory_swirls.map +0 -0
  66. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/memory_swirls_hard.map +0 -0
  67. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles0.map +0 -0
  68. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles1.map +0 -0
  69. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles2.map +0 -0
  70. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/obstacles3.map +0 -0
  71. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/passing_things.map +0 -0
  72. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_large.map +0 -0
  73. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_maze.map +0 -0
  74. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_mini.map +0 -0
  75. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/radial_small.map +0 -0
  76. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/rooms.map +0 -0
  77. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/spacey_memory.map +0 -0
  78. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/spiral_chamber.map +0 -0
  79. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/swirls.map +0 -0
  80. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/tease.map +0 -0
  81. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/tease_small.map +0 -0
  82. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/thecube.map +0 -0
  83. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/venture_out.map +0 -0
  84. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/walkaround.map +0 -0
  85. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/walls_outofsight.map +0 -0
  86. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/walls_withinsight.map +0 -0
  87. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/wanderout.map +0 -0
  88. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/which_way.map +0 -0
  89. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/navigation_sequence/you_shall_not_pass.map +0 -0
  90. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/object_use/shoot_out.map +0 -0
  91. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/object_use/swap_in.map +0 -0
  92. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/configs/maps/object_use/swap_out.map +0 -0
  93. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/BUILD.bazel +0 -0
  94. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/README.md +0 -0
  95. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/bindings/mettagrid_c.hpp +0 -0
  96. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/action_handler.hpp +0 -0
  97. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/attack.hpp +0 -0
  98. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/change_color.hpp +0 -0
  99. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/change_glyph.hpp +0 -0
  100. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/get_output.hpp +0 -0
  101. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/move.hpp +0 -0
  102. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/noop.hpp +0 -0
  103. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/orientation.hpp +0 -0
  104. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -0
  105. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/rotate.hpp +0 -0
  106. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/actions/swap.hpp +0 -0
  107. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -0
  108. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/event.hpp +0 -0
  109. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/grid.hpp +0 -0
  110. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/hash.hpp +0 -0
  111. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/core/types.hpp +0 -0
  112. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/agent.hpp +0 -0
  113. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/agent_config.hpp +0 -0
  114. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/assembler.hpp +0 -0
  115. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/assembler_config.hpp +0 -0
  116. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/chest.hpp +0 -0
  117. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/chest_config.hpp +0 -0
  118. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/constants.hpp +0 -0
  119. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/converter.hpp +0 -0
  120. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/converter_config.hpp +0 -0
  121. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/has_inventory.hpp +0 -0
  122. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/inventory.hpp +0 -0
  123. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/inventory_config.hpp +0 -0
  124. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/production_handler.hpp +0 -0
  125. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/recipe.hpp +0 -0
  126. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/usable.hpp +0 -0
  127. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/objects/wall.hpp +0 -0
  128. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/renderer/hermes.hpp +0 -0
  129. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/clipper.hpp +0 -0
  130. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/clipper_config.hpp +0 -0
  131. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -0
  132. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -0
  133. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -0
  134. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demo.py +0 -0
  135. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/README.md +0 -0
  136. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/demo_train_gym.py +0 -0
  137. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/demo_train_pettingzoo.py +0 -0
  138. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/demos/demo_train_puffer.py +0 -0
  139. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/ensure_mettascope.py +0 -0
  140. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/BUILD +0 -0
  141. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/README.md +0 -0
  142. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/clang_tidy.bzl +0 -0
  143. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/lint/clang_tidy_wrapper.sh +0 -0
  144. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/dependency_links.txt +0 -0
  145. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/entry_points.txt +0 -0
  146. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/requires.txt +0 -0
  147. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/mettagrid.egg-info/top_level.txt +0 -0
  148. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/migrate_to_toplevel.py +0 -0
  149. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/AGENTS.md +0 -0
  150. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/README.md +0 -0
  151. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/__init__.py +0 -0
  152. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/bindings/__init__.py +0 -0
  153. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/bindings/bindings.nim +0 -0
  154. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/cors_http_server.py +0 -0
  155. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/arrow.png +0 -0
  156. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack1.png +0 -0
  157. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack2.png +0 -0
  158. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack3.png +0 -0
  159. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack4.png +0 -0
  160. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack5.png +0 -0
  161. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack6.png +0 -0
  162. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack7.png +0 -0
  163. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack8.png +0 -0
  164. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack9.png +0 -0
  165. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/attack_nearest.png +0 -0
  166. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/converting.png +0 -0
  167. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/get_items.png +0 -0
  168. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/attack.png +0 -0
  169. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
  170. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/change_color.png +0 -0
  171. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/get_items.png +0 -0
  172. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/move.png +0 -0
  173. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/noop.png +0 -0
  174. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/put_items.png +0 -0
  175. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/rotate.png +0 -0
  176. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/swap.png +0 -0
  177. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/icons/unknown.png +0 -0
  178. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/put_items.png +0 -0
  179. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/swap.png +0 -0
  180. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/thoughts.png +0 -0
  181. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
  182. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/actions/unknown.png +0 -0
  183. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.e.png +0 -0
  184. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.n.png +0 -0
  185. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.s.png +0 -0
  186. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/agent.w.png +0 -0
  187. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/footprints.png +0 -0
  188. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/frozen.png +0 -0
  189. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/future_arrow.png +0 -0
  190. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/past_arrow.png +0 -0
  191. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/agents/path.png +0 -0
  192. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/crosshair.png +0 -0
  193. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/dash.png +0 -0
  194. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/effects/halo.png +0 -0
  195. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/alien.png +0 -0
  196. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/angry.png +0 -0
  197. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/down.png +0 -0
  198. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/happy.png +0 -0
  199. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/left.png +0 -0
  200. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/love.png +0 -0
  201. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/poo.png +0 -0
  202. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/right.png +0 -0
  203. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/sad.png +0 -0
  204. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/skull.png +0 -0
  205. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/sparkle.png +0 -0
  206. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/emoji/up.png +0 -0
  207. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
  208. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
  209. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
  210. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
  211. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
  212. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +0 -0
  213. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +0 -0
  214. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
  215. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
  216. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
  217. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
  218. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
  219. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
  220. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
  221. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
  222. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
  223. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
  224. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
  225. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
  226. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/info.png +0 -0
  227. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/meta_grid_icon.png +0 -0
  228. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/minimapPip.png +0 -0
  229. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/agent.png +0 -0
  230. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/altar.png +0 -0
  231. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/armory.png +0 -0
  232. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/block.png +0 -0
  233. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/carbon_ex_dep.png +0 -0
  234. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/carbon_extractor.png +0 -0
  235. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/clay_oven.png +0 -0
  236. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/converter.png +0 -0
  237. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/empty.png +0 -0
  238. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/factory.png +0 -0
  239. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/floor.png +0 -0
  240. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator.png +0 -0
  241. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator_blue.png +0 -0
  242. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator_green.png +0 -0
  243. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/generator_red.png +0 -0
  244. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/geranium_extractor.png +0 -0
  245. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/germanium_ex_dep.png +0 -0
  246. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/germanium_extractor.png +0 -0
  247. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/ice_tower.png +0 -0
  248. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/ice_vase.png +0 -0
  249. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/lab.png +0 -0
  250. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/lasery.png +0 -0
  251. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine.png +0 -0
  252. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_blue.png +0 -0
  253. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_green.png +0 -0
  254. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_red-1.png +0 -0
  255. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/mine_red.png +0 -0
  256. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/oxygen_ex_dep.png +0 -0
  257. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/oxygen_extractor.png +0 -0
  258. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/palm_tree.png +0 -0
  259. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/silicon_ex_dep.png +0 -0
  260. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/silicon_extractor.png +0 -0
  261. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/temple.png +0 -0
  262. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/unknown.png +0 -0
  263. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.0.png +0 -0
  264. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.e.png +0 -0
  265. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.fill.png +0 -0
  266. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.n.png +0 -0
  267. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.ne.png +0 -0
  268. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.ns.png +0 -0
  269. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nse.png +0 -0
  270. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nw.png +0 -0
  271. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nwe.png +0 -0
  272. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nws.png +0 -0
  273. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.nwse.png +0 -0
  274. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.png +0 -0
  275. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.s.png +0 -0
  276. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.se.png +0 -0
  277. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.w.png +0 -0
  278. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.we.png +0 -0
  279. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.ws.png +0 -0
  280. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wall.wse.png +0 -0
  281. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/water_well.png +0 -0
  282. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/weaving_loom.png +0 -0
  283. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/objects/wheat_field.png +0 -0
  284. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/replays/pens.json.z +0 -0
  285. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/agent_id.png +0 -0
  286. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/armor.png +0 -0
  287. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.blue.png +0 -0
  288. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.green.png +0 -0
  289. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.png +0 -0
  290. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery.red.png +0 -0
  291. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery_blue.png +0 -0
  292. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery_green.png +0 -0
  293. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/battery_red.png +0 -0
  294. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/blue_gem.png +0 -0
  295. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/blueprint.png +0 -0
  296. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/bread.png +0 -0
  297. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/carbon.png +0 -0
  298. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/coal.png +0 -0
  299. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/coconut.png +0 -0
  300. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/copper_ore.png +0 -0
  301. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/diamond.png +0 -0
  302. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/energy.png +0 -0
  303. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/germanium.png +0 -0
  304. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/gold_ore.png +0 -0
  305. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/green_gem.png +0 -0
  306. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ice_granade.png +0 -0
  307. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/iron_ore.png +0 -0
  308. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/laser.png +0 -0
  309. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/lizard_hide.png +0 -0
  310. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/oil.png +0 -0
  311. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.blue.png +0 -0
  312. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.green.png +0 -0
  313. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.png +0 -0
  314. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore.red.png +0 -0
  315. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore_blue.png +0 -0
  316. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore_green.png +0 -0
  317. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/ore_red.png +0 -0
  318. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/palm_fiber.png +0 -0
  319. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/red_gem.png +0 -0
  320. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/reward.png +0 -0
  321. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/salt_water.png +0 -0
  322. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/sand.png +0 -0
  323. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/silicon.png +0 -0
  324. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/sisal.png +0 -0
  325. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/snake_skin.png +0 -0
  326. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/snow_ball.png +0 -0
  327. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/star.png +0 -0
  328. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/stone.png +0 -0
  329. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/straw_hat.png +0 -0
  330. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/turtle_shell.png +0 -0
  331. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/unknown.png +0 -0
  332. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/water.png +0 -0
  333. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/wheat.png +0 -0
  334. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/yellow_gem.png +0 -0
  335. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/resources/yucca_fiber.png +0 -0
  336. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/selection.png +0 -0
  337. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/target.png +0 -0
  338. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/tile.png +0 -0
  339. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/attack.png +0 -0
  340. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/attack_nearest.png +0 -0
  341. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/change_color.png +0 -0
  342. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/frozen.png +0 -0
  343. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/get_items.png +0 -0
  344. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/invalid.png +0 -0
  345. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/move.png +0 -0
  346. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/move_8way.png +0 -0
  347. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/move_cardinal.png +0 -0
  348. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/noop.png +0 -0
  349. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/put_items.png +0 -0
  350. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/rotate.png +0 -0
  351. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/swap.png +0 -0
  352. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/trace/unknown.png +0 -0
  353. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/view/grid.png +0 -0
  354. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/data/white.png +0 -0
  355. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/mettascope.nimble +0 -0
  356. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/actions.nim +0 -0
  357. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/agenttable.nim +0 -0
  358. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/agenttraces.nim +0 -0
  359. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/common.nim +0 -0
  360. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/envconfig.nim +0 -0
  361. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/footer.nim +0 -0
  362. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/minimap.nim +0 -0
  363. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/objectinfo.nim +0 -0
  364. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/panels.nim +0 -0
  365. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/pathfinding.nim +0 -0
  366. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/replays.nim +0 -0
  367. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/settings.nim +0 -0
  368. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/shell.html +0 -0
  369. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/sim.nim +0 -0
  370. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/timeline.nim +0 -0
  371. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/utils.nim +0 -0
  372. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope/worldmap.nim +0 -0
  373. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope.nim +0 -0
  374. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/nim/mettascope/src/mettascope.nims +0 -0
  375. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/pyproject.toml +0 -0
  376. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/README.md +0 -0
  377. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/__init__.py +0 -0
  378. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/__init__.py +0 -0
  379. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/building.py +0 -0
  380. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/empty_converters.py +0 -0
  381. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/builder/envs.py +0 -0
  382. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/__init__.py +0 -0
  383. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/config/config.py +0 -0
  384. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/core.py +0 -0
  385. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/demo.py +0 -0
  386. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/__init__.py +0 -0
  387. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/gym_env.py +0 -0
  388. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/gym_wrapper.py +0 -0
  389. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/mettagrid_env.py +0 -0
  390. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/pettingzoo_env.py +0 -0
  391. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/envs/puffer_base.py +0 -0
  392. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/__init__.py +0 -0
  393. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/ascii.py +0 -0
  394. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/assembler_map_builder.py +0 -0
  395. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/map_builder.py +0 -0
  396. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/maze.py +0 -0
  397. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -0
  398. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/random.py +0 -0
  399. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/map_builder/utils.py +0 -0
  400. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/__init__.py +0 -0
  401. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/load.py +0 -0
  402. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/mapgen.py +0 -0
  403. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/mapgen_ascii.py +0 -0
  404. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/random/float.py +0 -0
  405. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/random/int.py +0 -0
  406. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scene.py +0 -0
  407. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/ascii.py +0 -0
  408. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/auto.py +0 -0
  409. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/bsp.py +0 -0
  410. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/convchain.py +0 -0
  411. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/copy_grid.py +0 -0
  412. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/README.md +0 -0
  413. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +0 -0
  414. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +0 -0
  415. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +0 -0
  416. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +0 -0
  417. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +0 -0
  418. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +0 -0
  419. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +0 -0
  420. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
  421. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +0 -0
  422. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +0 -0
  423. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +0 -0
  424. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +0 -0
  425. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +0 -0
  426. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dolorous_arrival_somebody's_watching_me.yaml +0 -0
  427. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +0 -0
  428. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +0 -0
  429. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +0 -0
  430. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +0 -0
  431. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +0 -0
  432. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +0 -0
  433. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +0 -0
  434. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +0 -0
  435. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +0 -0
  436. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +0 -0
  437. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +0 -0
  438. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +0 -0
  439. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +0 -0
  440. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +0 -0
  441. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +0 -0
  442. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +0 -0
  443. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +0 -0
  444. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +0 -0
  445. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +0 -0
  446. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +0 -0
  447. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +0 -0
  448. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +0 -0
  449. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +0 -0
  450. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +0 -0
  451. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +0 -0
  452. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +0 -0
  453. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +0 -0
  454. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +0 -0
  455. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +0 -0
  456. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +0 -0
  457. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +0 -0
  458. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +0 -0
  459. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +0 -0
  460. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +0 -0
  461. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +0 -0
  462. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +0 -0
  463. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +0 -0
  464. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +0 -0
  465. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +0 -0
  466. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +0 -0
  467. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +0 -0
  468. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +0 -0
  469. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +0 -0
  470. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +0 -0
  471. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +0 -0
  472. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +0 -0
  473. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +0 -0
  474. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +0 -0
  475. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +0 -0
  476. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +0 -0
  477. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +0 -0
  478. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +0 -0
  479. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +0 -0
  480. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +0 -0
  481. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +0 -0
  482. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +0 -0
  483. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +0 -0
  484. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +0 -0
  485. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +0 -0
  486. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +0 -0
  487. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +0 -0
  488. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +0 -0
  489. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +0 -0
  490. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +0 -0
  491. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +0 -0
  492. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +0 -0
  493. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +0 -0
  494. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +0 -0
  495. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +0 -0
  496. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +0 -0
  497. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +0 -0
  498. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +0 -0
  499. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +0 -0
  500. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +0 -0
  501. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +0 -0
  502. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +0 -0
  503. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +0 -0
  504. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +0 -0
  505. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +0 -0
  506. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +0 -0
  507. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +0 -0
  508. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +0 -0
  509. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +0 -0
  510. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +0 -0
  511. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +0 -0
  512. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +0 -0
  513. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +0 -0
  514. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +0 -0
  515. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +0 -0
  516. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +0 -0
  517. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +0 -0
  518. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +0 -0
  519. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +0 -0
  520. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +0 -0
  521. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +0 -0
  522. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +0 -0
  523. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +0 -0
  524. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +0 -0
  525. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +0 -0
  526. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +0 -0
  527. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +0 -0
  528. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +0 -0
  529. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +0 -0
  530. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +0 -0
  531. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +0 -0
  532. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +0 -0
  533. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +0 -0
  534. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +0 -0
  535. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +0 -0
  536. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +0 -0
  537. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +0 -0
  538. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +0 -0
  539. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +0 -0
  540. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +0 -0
  541. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +0 -0
  542. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +0 -0
  543. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +0 -0
  544. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +0 -0
  545. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +0 -0
  546. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +0 -0
  547. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +0 -0
  548. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +0 -0
  549. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +0 -0
  550. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +0 -0
  551. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +0 -0
  552. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +0 -0
  553. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +0 -0
  554. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +0 -0
  555. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +0 -0
  556. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +0 -0
  557. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +0 -0
  558. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +0 -0
  559. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +0 -0
  560. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +0 -0
  561. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +0 -0
  562. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +0 -0
  563. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +0 -0
  564. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +0 -0
  565. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +0 -0
  566. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +0 -0
  567. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +0 -0
  568. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +0 -0
  569. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dolorous_arrival_somebody's_watching_me.yaml +0 -0
  570. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +0 -0
  571. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +0 -0
  572. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +0 -0
  573. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +0 -0
  574. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +0 -0
  575. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +0 -0
  576. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +0 -0
  577. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +0 -0
  578. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +0 -0
  579. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +0 -0
  580. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +0 -0
  581. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +0 -0
  582. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +0 -0
  583. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +0 -0
  584. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +0 -0
  585. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +0 -0
  586. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +0 -0
  587. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +0 -0
  588. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +0 -0
  589. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +0 -0
  590. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +0 -0
  591. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +0 -0
  592. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +0 -0
  593. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +0 -0
  594. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +0 -0
  595. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +0 -0
  596. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +0 -0
  597. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +0 -0
  598. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +0 -0
  599. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +0 -0
  600. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +0 -0
  601. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +0 -0
  602. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +0 -0
  603. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +0 -0
  604. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +0 -0
  605. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +0 -0
  606. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +0 -0
  607. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +0 -0
  608. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +0 -0
  609. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +0 -0
  610. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +0 -0
  611. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +0 -0
  612. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +0 -0
  613. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +0 -0
  614. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +0 -0
  615. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +0 -0
  616. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +0 -0
  617. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +0 -0
  618. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +0 -0
  619. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +0 -0
  620. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +0 -0
  621. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +0 -0
  622. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +0 -0
  623. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +0 -0
  624. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +0 -0
  625. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +0 -0
  626. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +0 -0
  627. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +0 -0
  628. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +0 -0
  629. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +0 -0
  630. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +0 -0
  631. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +0 -0
  632. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +0 -0
  633. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +0 -0
  634. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +0 -0
  635. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +0 -0
  636. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +0 -0
  637. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +0 -0
  638. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +0 -0
  639. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +0 -0
  640. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +0 -0
  641. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +0 -0
  642. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +0 -0
  643. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +0 -0
  644. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +0 -0
  645. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +0 -0
  646. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +0 -0
  647. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +0 -0
  648. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +0 -0
  649. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +0 -0
  650. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +0 -0
  651. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +0 -0
  652. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +0 -0
  653. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +0 -0
  654. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +0 -0
  655. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +0 -0
  656. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +0 -0
  657. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +0 -0
  658. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +0 -0
  659. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +0 -0
  660. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +0 -0
  661. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +0 -0
  662. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +0 -0
  663. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +0 -0
  664. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +0 -0
  665. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +0 -0
  666. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +0 -0
  667. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +0 -0
  668. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +0 -0
  669. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +0 -0
  670. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +0 -0
  671. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +0 -0
  672. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +0 -0
  673. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +0 -0
  674. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +0 -0
  675. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +0 -0
  676. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +0 -0
  677. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +0 -0
  678. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +0 -0
  679. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +0 -0
  680. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +0 -0
  681. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +0 -0
  682. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +0 -0
  683. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +0 -0
  684. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +0 -0
  685. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +0 -0
  686. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +0 -0
  687. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +0 -0
  688. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +0 -0
  689. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +0 -0
  690. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +0 -0
  691. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +0 -0
  692. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +0 -0
  693. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +0 -0
  694. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +0 -0
  695. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +0 -0
  696. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +0 -0
  697. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +0 -0
  698. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +0 -0
  699. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -0
  700. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/inline_ascii.py +0 -0
  701. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/layout.py +0 -0
  702. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -0
  703. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/maze.py +0 -0
  704. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -0
  705. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/mirror.py +0 -0
  706. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -0
  707. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/nop.py +0 -0
  708. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -0
  709. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random.py +0 -0
  710. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
  711. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -0
  712. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_scene.py +0 -0
  713. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
  714. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -0
  715. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -0
  716. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/spiral.py +0 -0
  717. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/transplant_scene.py +0 -0
  718. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
  719. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/wfc.py +0 -0
  720. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/scenes/yaml.py +0 -0
  721. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
  722. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/gen.py +0 -0
  723. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/gen_scene.py +0 -0
  724. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/tools/view.py +0 -0
  725. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/types.py +0 -0
  726. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/ascii_grid.py +0 -0
  727. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
  728. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -0
  729. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
  730. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/show.py +0 -0
  731. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/storable_map.py +0 -0
  732. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -0
  733. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/nim/__init__.py +0 -0
  734. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/__init__.py +0 -0
  735. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
  736. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/stopwatch.py +0 -0
  737. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/profiling/system_monitor.py +0 -0
  738. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/py.typed +0 -0
  739. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
  740. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/altar.png +0 -0
  741. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/atlas.json +0 -0
  742. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/atlas.png +0 -0
  743. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/converter.png +0 -0
  744. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/generator.png +0 -0
  745. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/items.png +0 -0
  746. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/monsters.png +0 -0
  747. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
  748. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
  749. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
  750. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
  751. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
  752. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
  753. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
  754. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
  755. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/assets/wall.png +0 -0
  756. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/__init__.py +0 -0
  757. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/buffer.py +0 -0
  758. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/info_panels.py +0 -0
  759. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/interactive.py +0 -0
  760. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/renderer/miniscope/renderer.py +0 -0
  761. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/__init__.py +0 -0
  762. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/actions.py +0 -0
  763. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/mapgen.py +0 -0
  764. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/observation_helper.py +0 -0
  765. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/orientation.py +0 -0
  766. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/test_support/token_types.py +0 -0
  767. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/types.py +0 -0
  768. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/__init__.py +0 -0
  769. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/debug.py +0 -0
  770. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/dict_utils.py +0 -0
  771. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/diversity.py +0 -0
  772. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/grid_object_formatter.py +0 -0
  773. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/module.py +0 -0
  774. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/replay_writer.py +0 -0
  775. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/python/src/mettagrid/util/stats_writer.py +0 -0
  776. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/scripts/build_asan.sh +0 -0
  777. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/scripts/test_leaks.sh +0 -0
  778. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/setup.cfg +0 -0
  779. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_pointer_init +0 -0
  780. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_pointer_init.cpp +0 -0
  781. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_uninitialized.cpp +0 -0
  782. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/test_uninitialized.o +0 -0
  783. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/BUILD +0 -0
  784. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/__init__.py +0 -0
  785. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/cpplint.sh +0 -0
  786. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/__init__.py +0 -0
  787. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_ascii.py +0 -0
  788. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_map_builder.py +0 -0
  789. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_maze.py +0 -0
  790. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_polymorphic_serialization.py +0 -0
  791. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_random.py +0 -0
  792. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/map_builder/test_utils.py +0 -0
  793. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/__init__.py +0 -0
  794. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/random/test_float.py +0 -0
  795. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/random/test_int.py +0 -0
  796. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/dir1/1.yaml +0 -0
  797. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/dir1/2.yaml +0 -0
  798. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/test.map +0 -0
  799. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/fixtures/test.yaml +0 -0
  800. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_ascii.py +0 -0
  801. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_auto.py +0 -0
  802. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_bsp.py +0 -0
  803. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_convchain.py +0 -0
  804. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_inline_ascii.py +0 -0
  805. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_layout.py +0 -0
  806. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_make_connected.py +0 -0
  807. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_maze.py +0 -0
  808. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_mean_distance.py +0 -0
  809. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_mirror.py +0 -0
  810. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_multi_left_and_right.py +0 -0
  811. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_nop.py +0 -0
  812. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_radial_maze.py +0 -0
  813. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random.py +0 -0
  814. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_dcss_scene.py +0 -0
  815. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_objects.py +0 -0
  816. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_scene.py +0 -0
  817. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_random_yaml_scene.py +0 -0
  818. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_remove_agents.py +0 -0
  819. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_room_grid.py +0 -0
  820. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_wfc.py +0 -0
  821. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/scenes/test_yaml.py +0 -0
  822. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/test_mapgen.py +0 -0
  823. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/test_scene.py +0 -0
  824. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/test_validate_all_ascii_maps.py +0 -0
  825. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/utils/test_pattern.py +0 -0
  826. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/mapgen/utils/test_storable_map_io.py +0 -0
  827. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/profiling/test_memory_monitor.py +0 -0
  828. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/profiling/test_stopwatch.py +0 -0
  829. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/profiling/test_system_monitor.py +0 -0
  830. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/renderer/test_miniscope.py +0 -0
  831. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/run_test.py +0 -0
  832. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_action_compatibility.py +0 -0
  833. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_actions.py +0 -0
  834. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_agent_resource_sharing.py +0 -0
  835. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_assembler_partial_usage.py +0 -0
  836. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_attack_resource_exception.py +0 -0
  837. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_buffer_reuse.py +0 -0
  838. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_buffers.py +0 -0
  839. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_chest.py +0 -0
  840. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_clipper.cpp +0 -0
  841. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_converter.py +0 -0
  842. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_diversity.py +0 -0
  843. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_env_config_serialization.py +0 -0
  844. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_env_map.py +0 -0
  845. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_forbidden_imports.py +0 -0
  846. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_global_obs_config.py +0 -0
  847. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_global_observations.py +0 -0
  848. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_grid_object.cpp +0 -0
  849. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_gym_env.py +0 -0
  850. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_interactive.py +0 -0
  851. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_inventory_regeneration.py +0 -0
  852. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_leaks.py +0 -0
  853. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_mettagrid.py +0 -0
  854. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_move.py +0 -0
  855. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_new_env_hierarchy.py +0 -0
  856. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_observations.cpp +0 -0
  857. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_observations.py +0 -0
  858. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_pettingzoo_env.py +0 -0
  859. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_pufferlib_integration.py +0 -0
  860. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_resource_loss.py +0 -0
  861. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_rewards.py +0 -0
  862. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_rotate.py +0 -0
  863. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_set_inventory.py +0 -0
  864. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_stats_tracker.cpp +0 -0
  865. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_tags.py +0 -0
  866. {mettagrid-0.2.0.19 → mettagrid-0.2.0.20}/tests/test_visitation_counts.py +0 -0
@@ -37,3 +37,11 @@ bazel_dep(name = "google_benchmark", version = "1.9.4")
37
37
 
38
38
  # Abseil (dependency of some Google libraries)
39
39
  bazel_dep(name = "abseil-cpp", version = "20250814.0")
40
+
41
+ # make compile_commands.json with: bazel run @hedron_compile_commands//:refresh_all
42
+ bazel_dep(name = "hedron_compile_commands", version = "")
43
+ git_override(
44
+ module_name = "hedron_compile_commands",
45
+ remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git",
46
+ commit = "abb61a688167623088f8768cc9264798df6a9d10",
47
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mettagrid
3
- Version: 0.2.0.19
3
+ Version: 0.2.0.20
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
@@ -14,6 +14,7 @@
14
14
  #include "actions/change_color.hpp"
15
15
  #include "actions/change_glyph.hpp"
16
16
  #include "actions/get_output.hpp"
17
+ #include "actions/resource_mod.hpp"
17
18
  #include "actions/move.hpp"
18
19
  #include "actions/noop.hpp"
19
20
  #include "actions/put_recipe_items.hpp"
@@ -106,6 +107,9 @@ MettaGrid::MettaGrid(const GameConfig& game_config, const py::list map, unsigned
106
107
  _action_handlers.push_back(std::make_unique<Swap>(*action_config));
107
108
  } else if (action_name == "change_color") {
108
109
  _action_handlers.push_back(std::make_unique<ChangeColor>(*action_config));
110
+ } else if (action_name == "resource_mod") {
111
+ auto modify_config = std::static_pointer_cast<const ResourceModConfig>(action_config);
112
+ _action_handlers.push_back(std::make_unique<ResourceMod>(*modify_config, action_name));
109
113
  } else {
110
114
  throw std::runtime_error("Unknown action: " + action_name);
111
115
  }
@@ -461,7 +465,7 @@ void MettaGrid::_step(Actions actions) {
461
465
  }
462
466
 
463
467
  // Tolerate invalid action arguments
464
- if (arg > _max_action_args[action_idx]) {
468
+ if (arg < 0 || arg > _max_action_args[action_idx]) {
465
469
  _handle_invalid_action(agent_idx, "action.invalid_arg", action, arg);
466
470
  continue;
467
471
  }
@@ -956,6 +960,7 @@ PYBIND11_MODULE(mettagrid_c, m) {
956
960
  bind_action_config(m);
957
961
  bind_attack_action_config(m);
958
962
  bind_change_glyph_action_config(m);
963
+ bind_resource_mod_config(m);
959
964
  bind_global_obs_config(m);
960
965
  bind_clipper_config(m);
961
966
  bind_game_config(m);
@@ -0,0 +1,194 @@
1
+ #ifndef PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_RESOURCE_MOD_HPP_
2
+ #define PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_RESOURCE_MOD_HPP_
3
+
4
+ #include <pybind11/pybind11.h>
5
+ #include <pybind11/stl.h>
6
+
7
+ #include <cmath>
8
+ #include <map>
9
+ #include <limits>
10
+ #include <stdexcept>
11
+ #include <string>
12
+ #include <vector>
13
+
14
+ #include "actions/action_handler.hpp"
15
+ #include "core/grid.hpp"
16
+ #include "core/grid_object.hpp"
17
+ #include "core/types.hpp"
18
+ #include "objects/agent.hpp"
19
+ #include "objects/converter.hpp"
20
+
21
+ struct ResourceModConfig : public ActionConfig {
22
+ std::map<InventoryItem, InventoryProbability> modifies;
23
+ GridCoord agent_radius;
24
+ GridCoord converter_radius;
25
+ bool scales;
26
+
27
+ ResourceModConfig(const std::map<InventoryItem, InventoryQuantity>& required_resources = {},
28
+ const std::map<InventoryItem, InventoryProbability>& consumed_resources = {},
29
+ const std::map<InventoryItem, InventoryProbability>& modifies = {},
30
+ GridCoord agent_radius = 0,
31
+ GridCoord converter_radius = 0,
32
+ bool scales = false)
33
+ : ActionConfig(required_resources, consumed_resources),
34
+ modifies(modifies),
35
+ agent_radius(agent_radius),
36
+ converter_radius(converter_radius),
37
+ scales(scales) {
38
+ // Validate modifies values for finiteness and magnitude
39
+ for (const auto& [item, value] : modifies) {
40
+ if (!std::isfinite(value)) {
41
+ throw std::invalid_argument("ResourceModConfig: modifies values must be finite");
42
+ }
43
+ // Check that absolute value when rounded up doesn't exceed 255
44
+ // (since inventories are uint8_t and deltas are int16_t)
45
+ if (std::ceil(std::abs(value)) > 255) {
46
+ throw std::invalid_argument("ResourceModConfig: modifies values must have |ceil(value)| <= 255");
47
+ }
48
+ }
49
+ }
50
+ };
51
+
52
+ class ResourceMod : public ActionHandler {
53
+ public:
54
+ explicit ResourceMod(const ResourceModConfig& cfg, const std::string& name = "resource_mod")
55
+ : ActionHandler(cfg, name),
56
+ _modifies(cfg.modifies),
57
+ _agent_radius(cfg.agent_radius),
58
+ _converter_radius(cfg.converter_radius),
59
+ _scales(cfg.scales) {}
60
+
61
+ unsigned char max_arg() const override {
62
+ return std::numeric_limits<unsigned char>::max();
63
+ }
64
+
65
+ protected:
66
+ bool _handle_action(Agent& actor, ActionArg /* arg */) override {
67
+ // Center AoE on actor's position
68
+ int center_row = static_cast<int>(actor.location.r);
69
+ int center_col = static_cast<int>(actor.location.c);
70
+
71
+ std::vector<Agent*> affected_agents;
72
+ std::vector<Converter*> affected_converters;
73
+
74
+ // Find all agents within agent_radius of the center
75
+ // radius=0 means skip agents entirely
76
+ if (_agent_radius > 0) {
77
+ for (int dr = -static_cast<int>(_agent_radius); dr <= static_cast<int>(_agent_radius); ++dr) {
78
+ for (int dc = -static_cast<int>(_agent_radius); dc <= static_cast<int>(_agent_radius); ++dc) {
79
+ // Manhattan distance
80
+ if (std::abs(dr) + std::abs(dc) > static_cast<int>(_agent_radius)) {
81
+ continue;
82
+ }
83
+
84
+ int target_row = center_row + dr;
85
+ int target_col = center_col + dc;
86
+
87
+ if (target_row >= 0 && target_row < static_cast<int>(_grid->height) &&
88
+ target_col >= 0 && target_col < static_cast<int>(_grid->width)) {
89
+ GridLocation loc(target_row, target_col, GridLayer::AgentLayer);
90
+ GridObject* obj = _grid->object_at(loc);
91
+ if (obj != nullptr) {
92
+ Agent* agent = static_cast<Agent*>(obj);
93
+ affected_agents.push_back(agent);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ // Find all converters within converter_radius of the center
101
+ // radius=0 means skip converters entirely
102
+ if (_converter_radius > 0) {
103
+ for (int dr = -static_cast<int>(_converter_radius); dr <= static_cast<int>(_converter_radius); ++dr) {
104
+ for (int dc = -static_cast<int>(_converter_radius); dc <= static_cast<int>(_converter_radius); ++dc) {
105
+ // Manhattan distance
106
+ if (std::abs(dr) + std::abs(dc) > static_cast<int>(_converter_radius)) {
107
+ continue;
108
+ }
109
+
110
+ int target_row = center_row + dr;
111
+ int target_col = center_col + dc;
112
+
113
+ if (target_row >= 0 && target_row < static_cast<int>(_grid->height) &&
114
+ target_col >= 0 && target_col < static_cast<int>(_grid->width)) {
115
+ GridLocation loc(target_row, target_col, GridLayer::ObjectLayer);
116
+ GridObject* obj = _grid->object_at(loc);
117
+ if (obj != nullptr) {
118
+ Converter* converter = dynamic_cast<Converter*>(obj);
119
+ if (converter != nullptr) {
120
+ affected_converters.push_back(converter);
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ // No targets found - still consume resources and succeed
129
+ if (affected_agents.empty() && affected_converters.empty()) {
130
+ return true;
131
+ }
132
+
133
+ // Calculate total number of affected targets for scaling
134
+ size_t total_affected = affected_agents.size() + affected_converters.size();
135
+
136
+ // Apply modifications to all targets
137
+ for (const auto& [item, amount] : _modifies) {
138
+ InventoryProbability effective_amount = amount;
139
+
140
+ // Scale by number of targets if scales flag is true
141
+ if (_scales && total_affected > 1) {
142
+ effective_amount = amount / static_cast<float>(total_affected);
143
+ }
144
+
145
+ // Apply to agents - compute delta independently for each target
146
+ for (Agent* agent : affected_agents) {
147
+ InventoryDelta delta = compute_probabilistic_delta(effective_amount);
148
+ if (delta != 0) {
149
+ agent->update_inventory(item, delta);
150
+ }
151
+ }
152
+
153
+ // Apply to converters - compute delta independently for each target
154
+ for (Converter* converter : affected_converters) {
155
+ InventoryDelta delta = compute_probabilistic_delta(effective_amount);
156
+ if (delta != 0) {
157
+ converter->update_inventory(item, delta);
158
+ }
159
+ }
160
+ }
161
+
162
+ return true;
163
+ }
164
+
165
+ private:
166
+ std::map<InventoryItem, InventoryProbability> _modifies;
167
+ GridCoord _agent_radius;
168
+ GridCoord _converter_radius;
169
+ bool _scales;
170
+ };
171
+
172
+ namespace py = pybind11;
173
+
174
+ inline void bind_resource_mod_config(py::module& m) {
175
+ py::class_<ResourceModConfig, ActionConfig, std::shared_ptr<ResourceModConfig>>(m, "ResourceModConfig")
176
+ .def(py::init<const std::map<InventoryItem, InventoryQuantity>&,
177
+ const std::map<InventoryItem, InventoryProbability>&,
178
+ const std::map<InventoryItem, InventoryProbability>&,
179
+ GridCoord,
180
+ GridCoord,
181
+ bool>(),
182
+ py::arg("required_resources") = std::map<InventoryItem, InventoryQuantity>(),
183
+ py::arg("consumed_resources") = std::map<InventoryItem, InventoryProbability>(),
184
+ py::arg("modifies") = std::map<InventoryItem, InventoryProbability>(),
185
+ py::arg("agent_radius") = 0,
186
+ py::arg("converter_radius") = 0,
187
+ py::arg("scales") = false)
188
+ .def_readwrite("modifies", &ResourceModConfig::modifies)
189
+ .def_readwrite("agent_radius", &ResourceModConfig::agent_radius)
190
+ .def_readwrite("converter_radius", &ResourceModConfig::converter_radius)
191
+ .def_readwrite("scales", &ResourceModConfig::scales);
192
+ }
193
+
194
+ #endif // PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_ACTIONS_RESOURCE_MOD_HPP_
@@ -1,11 +1,12 @@
1
1
  #ifndef PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_CORE_GRID_OBJECT_HPP_
2
2
  #define PACKAGES_METTAGRID_CPP_INCLUDE_METTAGRID_CORE_GRID_OBJECT_HPP_
3
3
 
4
- #include <cstdint>
5
4
  #include <span>
6
5
  #include <string>
7
6
  #include <vector>
8
7
 
8
+ #include <cstdint>
9
+
9
10
  #include "objects/constants.hpp"
10
11
  #include "core/types.hpp"
11
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mettagrid
3
- Version: 0.2.0.19
3
+ Version: 0.2.0.20
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
@@ -84,6 +84,7 @@ cpp/include/mettagrid/actions/move.hpp
84
84
  cpp/include/mettagrid/actions/noop.hpp
85
85
  cpp/include/mettagrid/actions/orientation.hpp
86
86
  cpp/include/mettagrid/actions/put_recipe_items.hpp
87
+ cpp/include/mettagrid/actions/resource_mod.hpp
87
88
  cpp/include/mettagrid/actions/rotate.hpp
88
89
  cpp/include/mettagrid/actions/swap.hpp
89
90
  cpp/include/mettagrid/config/mettagrid_config.hpp
@@ -222,6 +223,10 @@ nim/mettascope/data/objects/carbon_ex_dep.png
222
223
  nim/mettascope/data/objects/carbon_extractor.png
223
224
  nim/mettascope/data/objects/charger.png
224
225
  nim/mettascope/data/objects/chest.png
226
+ nim/mettascope/data/objects/chest_carbon.png
227
+ nim/mettascope/data/objects/chest_germanium.png
228
+ nim/mettascope/data/objects/chest_oxygen.png
229
+ nim/mettascope/data/objects/chest_silicon.png
225
230
  nim/mettascope/data/objects/clay_oven.png
226
231
  nim/mettascope/data/objects/converter.png
227
232
  nim/mettascope/data/objects/empty.png
@@ -799,6 +804,8 @@ tests/test_observations.py
799
804
  tests/test_pettingzoo_env.py
800
805
  tests/test_pufferlib_integration.py
801
806
  tests/test_resource_loss.py
807
+ tests/test_resource_mod.py
808
+ tests/test_resource_mod_config.py
802
809
  tests/test_rewards.py
803
810
  tests/test_rotate.py
804
811
  tests/test_set_inventory.py
@@ -23,6 +23,7 @@ from mettagrid.mettagrid_c import GameConfig as CppGameConfig
23
23
  from mettagrid.mettagrid_c import GlobalObsConfig as CppGlobalObsConfig
24
24
  from mettagrid.mettagrid_c import InventoryConfig as CppInventoryConfig
25
25
  from mettagrid.mettagrid_c import Recipe as CppRecipe
26
+ from mettagrid.mettagrid_c import ResourceModConfig as CppResourceModConfig
26
27
  from mettagrid.mettagrid_c import WallConfig as CppWallConfig
27
28
 
28
29
  # Note that these are left to right, top to bottom.
@@ -401,6 +402,23 @@ def convert_to_cpp_game_config(mettagrid_config: dict | GameConfig):
401
402
  "number_of_glyphs": action_config["number_of_glyphs"],
402
403
  }
403
404
  actions_cpp_params[action_name] = CppChangeGlyphActionConfig(**change_glyph_params)
405
+ elif action_name == "resource_mod":
406
+ # Extract the specific parameters needed for ResourceModConfig
407
+ modifies_dict = action_config.get("modifies", {})
408
+ unknown_modifies = set(modifies_dict.keys()) - set(resource_name_to_id.keys())
409
+ if unknown_modifies:
410
+ unknown_list = sorted(unknown_modifies)
411
+ raise ValueError(f"Unknown resource names in modifies for action '{action_name}': {unknown_list}")
412
+
413
+ resource_mod_params = {
414
+ "required_resources": action_cpp_params.get("required_resources", {}),
415
+ "consumed_resources": action_cpp_params.get("consumed_resources", {}),
416
+ "modifies": {resource_name_to_id[k]: float(v) for k, v in modifies_dict.items()},
417
+ "agent_radius": action_config.get("agent_radius", 0),
418
+ "converter_radius": action_config.get("converter_radius", 0),
419
+ "scales": action_config.get("scales", False),
420
+ }
421
+ actions_cpp_params[action_name] = CppResourceModConfig(**resource_mod_params)
404
422
  else:
405
423
  actions_cpp_params[action_name] = CppActionConfig(**action_cpp_params)
406
424
 
@@ -101,6 +101,15 @@ class ChangeGlyphActionConfig(ActionConfig):
101
101
  number_of_glyphs: int = Field(default=0, ge=0, le=255)
102
102
 
103
103
 
104
+ class ResourceModActionConfig(ActionConfig):
105
+ """Resource mod action configuration."""
106
+
107
+ modifies: dict[str, float] = Field(default_factory=dict)
108
+ agent_radius: int = Field(default=0, ge=0, le=255)
109
+ converter_radius: int = Field(default=0, ge=0, le=255)
110
+ scales: bool = Field(default=False)
111
+
112
+
104
113
  class ActionsConfig(Config):
105
114
  """
106
115
  Actions configuration.
@@ -117,6 +126,7 @@ class ActionsConfig(Config):
117
126
  swap: ActionConfig = Field(default_factory=lambda: ActionConfig(enabled=False))
118
127
  change_color: ActionConfig = Field(default_factory=lambda: ActionConfig(enabled=False))
119
128
  change_glyph: ChangeGlyphActionConfig = Field(default_factory=lambda: ChangeGlyphActionConfig(enabled=False))
129
+ resource_mod: ResourceModActionConfig = Field(default_factory=lambda: ResourceModActionConfig(enabled=False))
120
130
 
121
131
 
122
132
  class GlobalObsConfig(Config):
@@ -168,7 +178,6 @@ class RecipeConfig(Config):
168
178
  input_resources: dict[str, int] = Field(default_factory=dict)
169
179
  output_resources: dict[str, int] = Field(default_factory=dict)
170
180
  cooldown: int = Field(ge=0, default=0)
171
- max_use: Optional[int] = Field(ge=0, default=None)
172
181
 
173
182
 
174
183
  class AssemblerConfig(GridObjectConfig):
@@ -167,6 +167,21 @@ class ChangeGlyphActionConfig(ActionConfig):
167
167
  ) -> None: ...
168
168
  number_of_glyphs: int
169
169
 
170
+ class ResourceModConfig(ActionConfig):
171
+ def __init__(
172
+ self,
173
+ required_resources: dict[int, int] = {},
174
+ consumed_resources: dict[int, float] = {},
175
+ modifies: dict[int, float] = {},
176
+ agent_radius: int = 0,
177
+ converter_radius: int = 0,
178
+ scales: bool = False,
179
+ ) -> None: ...
180
+ modifies: dict[int, float]
181
+ agent_radius: int
182
+ converter_radius: int
183
+ scales: bool
184
+
170
185
  class GlobalObsConfig:
171
186
  def __init__(
172
187
  self,
@@ -13,9 +13,11 @@ from pathlib import Path
13
13
  from typing import TYPE_CHECKING
14
14
 
15
15
  # Find the nim/mettascope/bindings/generated directory
16
- # This is relative to the mettagrid package root
16
+ # This is in the nim package, not the python package
17
17
  package_root = Path(__file__).resolve().parent
18
- nim_root = package_root / "nim" / "mettascope"
18
+ # Navigate up to the packages directory and then into the nim package
19
+ packages_dir = package_root.parent.parent.parent.parent
20
+ nim_root = packages_dir / "mettagrid" / "nim" / "mettascope"
19
21
  nim_bindings_path = nim_root / "bindings" / "generated"
20
22
 
21
23
  # Type stubs for static analysis
@@ -7,6 +7,7 @@
7
7
  #include "actions/get_output.hpp"
8
8
  #include "actions/noop.hpp"
9
9
  #include "actions/put_recipe_items.hpp"
10
+ #include "actions/resource_mod.hpp"
10
11
  #include "config/mettagrid_config.hpp"
11
12
  #include "core/event.hpp"
12
13
  #include "core/grid.hpp"
@@ -1084,7 +1085,8 @@ TEST_F(MettaGridCppTest, EventManager) {
1084
1085
  EXPECT_NO_THROW(event_manager.process_events(1));
1085
1086
  }
1086
1087
 
1087
- // Assembler Tests
1088
+ // ==================== Assembler Tests ====================
1089
+
1088
1090
  TEST_F(MettaGridCppTest, AssemblerBasicObservationFeatures) {
1089
1091
  AssemblerConfig config(1, "test_assembler", std::vector<int>{1, 2});
1090
1092
  Assembler assembler(5, 5, config);
@@ -1672,5 +1674,158 @@ TEST_F(MettaGridCppTest, AssemblerExhaustion) {
1672
1674
  EXPECT_TRUE(success) << "Fourth use should succeed";
1673
1675
  // Fourth cooldown should be 10 * 3.375 = 33.75, rounded to 33
1674
1676
  EXPECT_EQ(assembler.cooldown_end_timestep, 80) << "Fourth cooldown should end at 80 (47 + 33)";
1675
- EXPECT_FLOAT_EQ(assembler.cooldown_multiplier, 5.0625f) << "Cooldown multiplier should be 5.0625 after fourth use";
1677
+ EXPECT_FLOAT_EQ(assembler.cooldown_multiplier, 5.0625f)
1678
+ << "Cooldown multiplier should be 5.0625 after fourth use";
1679
+ }
1680
+
1681
+ // ==================== ResourceMod Tests ====================
1682
+
1683
+ TEST_F(MettaGridCppTest, ResourceModBasic) {
1684
+ Grid grid(5, 5);
1685
+ std::mt19937 rng(42);
1686
+ auto resource_names = create_test_resource_names();
1687
+
1688
+ // Create actor at center
1689
+ AgentConfig actor_cfg = create_test_agent_config();
1690
+ actor_cfg.initial_inventory[TestItems::ORE] = 10;
1691
+ Agent* actor = new Agent(2, 2, actor_cfg, &resource_names);
1692
+ float actor_reward = 0.0f;
1693
+ actor->init(&actor_reward);
1694
+ grid.add_object(actor);
1695
+
1696
+ // Create target agent nearby
1697
+ AgentConfig target_cfg = create_test_agent_config();
1698
+ target_cfg.initial_inventory[TestItems::HEART] = 10;
1699
+ Agent* target = new Agent(2, 3, target_cfg, &resource_names);
1700
+ float target_reward = 0.0f;
1701
+ target->init(&target_reward);
1702
+ grid.add_object(target);
1703
+
1704
+ // Create resource mod action that adds hearts with 100% probability
1705
+ ResourceModConfig modify_cfg({{TestItems::ORE, 1}}, // required_resources
1706
+ {{TestItems::ORE, 1.0f}}, // consumed_resources
1707
+ {{TestItems::HEART, 1.0f}}, // modifies - adds 1 heart
1708
+ 1, // agent_radius
1709
+ 0, // converter_radius
1710
+ false); // scales
1711
+ ResourceMod modify(modify_cfg);
1712
+ modify.init(&grid, &rng);
1713
+
1714
+ ActionArg arg = 0; // Unused
1715
+ bool success = modify.handle_action(*actor, arg);
1716
+ EXPECT_TRUE(success);
1717
+
1718
+ // Check that target gained 1 heart
1719
+ EXPECT_EQ(target->inventory.amount(TestItems::HEART), 11);
1720
+ // Check that actor lost 1 ore
1721
+ EXPECT_EQ(actor->inventory.amount(TestItems::ORE), 9);
1722
+ }
1723
+
1724
+ TEST_F(MettaGridCppTest, ResourceModProbabilistic) {
1725
+ Grid grid(5, 5);
1726
+ std::mt19937 rng(42);
1727
+ auto resource_names = create_test_resource_names();
1728
+
1729
+ // Create actor
1730
+ AgentConfig actor_cfg = create_test_agent_config();
1731
+ actor_cfg.initial_inventory[TestItems::ORE] = 200;
1732
+ Agent* actor = new Agent(2, 2, actor_cfg, &resource_names);
1733
+ float actor_reward = 0.0f;
1734
+ actor->init(&actor_reward);
1735
+ grid.add_object(actor);
1736
+
1737
+ // Create target
1738
+ AgentConfig target_cfg = create_test_agent_config();
1739
+ target_cfg.initial_inventory[TestItems::HEART] = 10;
1740
+ Agent* target = new Agent(2, 3, target_cfg, &resource_names);
1741
+ float target_reward = 0.0f;
1742
+ target->init(&target_reward);
1743
+ grid.add_object(target);
1744
+
1745
+ // Create action with fractional modifications (30% chance)
1746
+ ResourceModConfig modify_cfg({{TestItems::ORE, 1}}, // required_resources must have ceil(0.5) = 1
1747
+ {{TestItems::ORE, 0.5f}}, // 50% chance to consume
1748
+ {{TestItems::HEART, 0.3f}}, // 30% chance to add 1 heart
1749
+ 1,
1750
+ 0,
1751
+ false); // radius 1, no converters, no scaling
1752
+ ResourceMod modify(modify_cfg);
1753
+ modify.init(&grid, &rng);
1754
+
1755
+ // Execute multiple times to test probabilistic behavior
1756
+ ActionArg arg = 0; // Unused
1757
+ int hearts_added = 0;
1758
+ int ore_consumed = 0;
1759
+
1760
+ for (int i = 0; i < 100; i++) {
1761
+ int ore_before = actor->inventory.amount(TestItems::ORE);
1762
+ int hearts_before = target->inventory.amount(TestItems::HEART);
1763
+
1764
+ // Check if actor has required resources
1765
+ if (ore_before < 1) {
1766
+ // Actor is out of ore, can't continue test
1767
+ break;
1768
+ }
1769
+
1770
+ bool success = modify.handle_action(*actor, arg);
1771
+ EXPECT_TRUE(success);
1772
+
1773
+ ore_consumed += (ore_before - actor->inventory.amount(TestItems::ORE));
1774
+ hearts_added += (target->inventory.amount(TestItems::HEART) - hearts_before);
1775
+ }
1776
+
1777
+ // With 30% probability for hearts and 50% for ore consumption
1778
+ // Expect around 30 hearts added and 50 ore consumed
1779
+ EXPECT_GE(hearts_added, 20); // At least 20
1780
+ EXPECT_LE(hearts_added, 40); // At most 40
1781
+ EXPECT_GE(ore_consumed, 40); // At least 40
1782
+ EXPECT_LE(ore_consumed, 60); // At most 60
1783
+ }
1784
+
1785
+ TEST_F(MettaGridCppTest, ResourceModConverter) {
1786
+ Grid grid(5, 5);
1787
+ std::mt19937 rng(42);
1788
+ EventManager event_manager;
1789
+ auto resource_names = create_test_resource_names();
1790
+
1791
+ // Create actor
1792
+ AgentConfig actor_cfg = create_test_agent_config();
1793
+ Agent* actor = new Agent(2, 2, actor_cfg, &resource_names);
1794
+ float actor_reward = 0.0f;
1795
+ actor->init(&actor_reward);
1796
+ grid.add_object(actor);
1797
+
1798
+ // Create converter nearby
1799
+ ConverterConfig converter_cfg(TestItems::CONVERTER, // type_id
1800
+ "converter", // type_name
1801
+ {}, // input_resources
1802
+ {}, // output_resources
1803
+ -1, // max_output
1804
+ -1, // max_conversions
1805
+ 0, // conversion_ticks
1806
+ 0, // cooldown
1807
+ 0, // initial_items
1808
+ 0, // color
1809
+ false); // recipe_details_obs
1810
+ Converter* converter = new Converter(3, 2, converter_cfg);
1811
+ grid.add_object(converter);
1812
+ converter->set_event_manager(&event_manager);
1813
+
1814
+ // Create action that modifies converter resources
1815
+ ResourceModConfig modify_cfg({},
1816
+ {},
1817
+ {{TestItems::ORE, 1.0f}}, // Add 1 ore to converter
1818
+ 0,
1819
+ 1,
1820
+ false); // No agents, converters within radius 1
1821
+ ResourceMod modify(modify_cfg);
1822
+ modify.init(&grid, &rng);
1823
+
1824
+ // Target converter at (3, 2) from actor at (2, 2)
1825
+ ActionArg arg = 0; // Unused
1826
+ bool success = modify.handle_action(*actor, arg);
1827
+ EXPECT_TRUE(success);
1828
+
1829
+ // Check that converter gained 1 ore
1830
+ EXPECT_EQ(converter->inventory.amount(TestItems::ORE), 1);
1676
1831
  }