mettagrid 0.2.0.7__tar.gz → 0.2.0.11__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 (1022) hide show
  1. mettagrid-0.2.0.11/.clang-format +23 -0
  2. mettagrid-0.2.0.11/.clang-tidy +19 -0
  3. mettagrid-0.2.0.11/.gitignore +5 -0
  4. mettagrid-0.2.0.11/BUILD.bazel +46 -0
  5. mettagrid-0.2.0.11/CPPLINT.cfg +2 -0
  6. mettagrid-0.2.0.11/Makefile +99 -0
  7. mettagrid-0.2.0.11/PKG-INFO +247 -0
  8. mettagrid-0.2.0.11/bazel_build.py +185 -0
  9. mettagrid-0.2.0.11/benchmarks/test_mettagrid_env_benchmark.cpp +297 -0
  10. mettagrid-0.2.0.11/configs/README.md +4 -0
  11. mettagrid-0.2.0.11/configs/maps/navigation_sequence/boxout.map +19 -0
  12. mettagrid-0.2.0.11/configs/maps/navigation_sequence/choose_wisely.map +30 -0
  13. mettagrid-0.2.0.11/configs/maps/navigation_sequence/corners.map +19 -0
  14. mettagrid-0.2.0.11/configs/maps/navigation_sequence/corridors.map +26 -0
  15. mettagrid-0.2.0.11/configs/maps/navigation_sequence/cylinder.map +36 -0
  16. mettagrid-0.2.0.11/configs/maps/navigation_sequence/cylinder_easy.map +21 -0
  17. mettagrid-0.2.0.11/configs/maps/navigation_sequence/easy_memory.map +34 -0
  18. mettagrid-0.2.0.11/configs/maps/navigation_sequence/emptyspace_outofsight.map +47 -0
  19. mettagrid-0.2.0.11/configs/maps/navigation_sequence/hall_of_mirrors.map +27 -0
  20. mettagrid-0.2.0.11/configs/maps/navigation_sequence/hard_memory.map +65 -0
  21. mettagrid-0.2.0.11/configs/maps/navigation_sequence/honeypot.map +25 -0
  22. mettagrid-0.2.0.11/configs/maps/navigation_sequence/journey_home.map +32 -0
  23. mettagrid-0.2.0.11/configs/maps/navigation_sequence/knotty.map +29 -0
  24. mettagrid-0.2.0.11/configs/maps/navigation_sequence/labyrinth.map +26 -0
  25. mettagrid-0.2.0.11/configs/maps/navigation_sequence/little_landmark_easy.map +15 -0
  26. mettagrid-0.2.0.11/configs/maps/navigation_sequence/little_landmark_hard.map +20 -0
  27. mettagrid-0.2.0.11/configs/maps/navigation_sequence/lobster_legs.map +43 -0
  28. mettagrid-0.2.0.11/configs/maps/navigation_sequence/lobster_legs_cues.map +47 -0
  29. mettagrid-0.2.0.11/configs/maps/navigation_sequence/medium_memory.map +43 -0
  30. mettagrid-0.2.0.11/configs/maps/navigation_sequence/memory3.map +17 -0
  31. mettagrid-0.2.0.11/configs/maps/navigation_sequence/memory_palace.map +23 -0
  32. mettagrid-0.2.0.11/configs/maps/navigation_sequence/memory_swirls.map +21 -0
  33. mettagrid-0.2.0.11/configs/maps/navigation_sequence/memory_swirls_hard.map +30 -0
  34. mettagrid-0.2.0.11/configs/maps/navigation_sequence/obstacles0.map +23 -0
  35. mettagrid-0.2.0.11/configs/maps/navigation_sequence/obstacles1.map +32 -0
  36. mettagrid-0.2.0.11/configs/maps/navigation_sequence/obstacles2.map +25 -0
  37. mettagrid-0.2.0.11/configs/maps/navigation_sequence/obstacles3.map +30 -0
  38. mettagrid-0.2.0.11/configs/maps/navigation_sequence/passing_things.map +32 -0
  39. mettagrid-0.2.0.11/configs/maps/navigation_sequence/radial_large.map +31 -0
  40. mettagrid-0.2.0.11/configs/maps/navigation_sequence/radial_maze.map +23 -0
  41. mettagrid-0.2.0.11/configs/maps/navigation_sequence/radial_mini.map +11 -0
  42. mettagrid-0.2.0.11/configs/maps/navigation_sequence/radial_small.map +19 -0
  43. mettagrid-0.2.0.11/configs/maps/navigation_sequence/rooms.map +47 -0
  44. mettagrid-0.2.0.11/configs/maps/navigation_sequence/spacey_memory.map +25 -0
  45. mettagrid-0.2.0.11/configs/maps/navigation_sequence/spiral_chamber.map +30 -0
  46. mettagrid-0.2.0.11/configs/maps/navigation_sequence/swirls.map +25 -0
  47. mettagrid-0.2.0.11/configs/maps/navigation_sequence/tease.map +44 -0
  48. mettagrid-0.2.0.11/configs/maps/navigation_sequence/tease_small.map +17 -0
  49. mettagrid-0.2.0.11/configs/maps/navigation_sequence/thecube.map +19 -0
  50. mettagrid-0.2.0.11/configs/maps/navigation_sequence/venture_out.map +26 -0
  51. mettagrid-0.2.0.11/configs/maps/navigation_sequence/walkaround.map +19 -0
  52. mettagrid-0.2.0.11/configs/maps/navigation_sequence/walls_outofsight.map +21 -0
  53. mettagrid-0.2.0.11/configs/maps/navigation_sequence/walls_withinsight.map +10 -0
  54. mettagrid-0.2.0.11/configs/maps/navigation_sequence/wanderout.map +31 -0
  55. mettagrid-0.2.0.11/configs/maps/navigation_sequence/which_way.map +10 -0
  56. mettagrid-0.2.0.11/configs/maps/navigation_sequence/you_shall_not_pass.map +35 -0
  57. mettagrid-0.2.0.11/configs/maps/object_use/shoot_out.map +12 -0
  58. mettagrid-0.2.0.11/configs/maps/object_use/swap_in.map +12 -0
  59. mettagrid-0.2.0.11/configs/maps/object_use/swap_out.map +12 -0
  60. mettagrid-0.2.0.11/cpp/README.md +3 -0
  61. mettagrid-0.2.0.11/cpp/bindings/mettagrid_c.cpp +952 -0
  62. mettagrid-0.2.0.11/cpp/include/mettagrid/config/mettagrid_config.hpp +127 -0
  63. mettagrid-0.2.0.11/cpp/include/mettagrid/core/grid.hpp +184 -0
  64. mettagrid-0.2.0.11/cpp/include/mettagrid/objects/assembler.hpp +272 -0
  65. mettagrid-0.2.0.11/cpp/include/mettagrid/objects/assembler_config.hpp +47 -0
  66. mettagrid-0.2.0.11/cpp/include/mettagrid/objects/chest.hpp +177 -0
  67. mettagrid-0.2.0.11/cpp/include/mettagrid/objects/constants.hpp +108 -0
  68. mettagrid-0.2.0.11/cpp/include/mettagrid/objects/production_handler.hpp +48 -0
  69. mettagrid-0.2.0.11/demos/README.md +218 -0
  70. mettagrid-0.2.0.11/demos/demo_train_gym.py +220 -0
  71. mettagrid-0.2.0.11/demos/demo_train_pettingzoo.py +239 -0
  72. mettagrid-0.2.0.11/demos/demo_train_puffer.py +320 -0
  73. mettagrid-0.2.0.11/lint/README.md +67 -0
  74. mettagrid-0.2.0.11/mettagrid.egg-info/PKG-INFO +247 -0
  75. mettagrid-0.2.0.11/mettagrid.egg-info/SOURCES.txt +979 -0
  76. mettagrid-0.2.0.11/mettagrid.egg-info/dependency_links.txt +1 -0
  77. mettagrid-0.2.0.11/mettagrid.egg-info/requires.txt +7 -0
  78. mettagrid-0.2.0.11/nim/mettascope/.gitignore +2 -0
  79. mettagrid-0.2.0.11/nim/mettascope/AGENTS.md +170 -0
  80. mettagrid-0.2.0.11/nim/mettascope/README.md +28 -0
  81. mettagrid-0.2.0.11/nim/mettascope/bindings/bindings.nim +73 -0
  82. mettagrid-0.2.0.11/nim/mettascope/build.sh +3 -0
  83. mettagrid-0.2.0.11/nim/mettascope/cors_http_server.py +57 -0
  84. mettagrid-0.2.0.11/nim/mettascope/data/actions/arrow.png +0 -0
  85. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack1.png +0 -0
  86. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack2.png +0 -0
  87. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack3.png +0 -0
  88. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack4.png +0 -0
  89. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack5.png +0 -0
  90. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack6.png +0 -0
  91. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack7.png +0 -0
  92. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack8.png +0 -0
  93. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack9.png +0 -0
  94. mettagrid-0.2.0.11/nim/mettascope/data/actions/attack_nearest.png +0 -0
  95. mettagrid-0.2.0.11/nim/mettascope/data/actions/converting.png +0 -0
  96. mettagrid-0.2.0.11/nim/mettascope/data/actions/get_items.png +0 -0
  97. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/attack.png +0 -0
  98. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/attack_nearest.png +0 -0
  99. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/change_color.png +0 -0
  100. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/get_items.png +0 -0
  101. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/move.png +0 -0
  102. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/noop.png +0 -0
  103. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/put_items.png +0 -0
  104. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/rotate.png +0 -0
  105. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/swap.png +0 -0
  106. mettagrid-0.2.0.11/nim/mettascope/data/actions/icons/unknown.png +0 -0
  107. mettagrid-0.2.0.11/nim/mettascope/data/actions/put_items.png +0 -0
  108. mettagrid-0.2.0.11/nim/mettascope/data/actions/swap.png +0 -0
  109. mettagrid-0.2.0.11/nim/mettascope/data/actions/thoughts.png +0 -0
  110. mettagrid-0.2.0.11/nim/mettascope/data/actions/thoughts_lightning.png +0 -0
  111. mettagrid-0.2.0.11/nim/mettascope/data/agents/agent.e.png +0 -0
  112. mettagrid-0.2.0.11/nim/mettascope/data/agents/agent.n.png +0 -0
  113. mettagrid-0.2.0.11/nim/mettascope/data/agents/agent.s.png +0 -0
  114. mettagrid-0.2.0.11/nim/mettascope/data/agents/agent.w.png +0 -0
  115. mettagrid-0.2.0.11/nim/mettascope/data/agents/footprints.png +0 -0
  116. mettagrid-0.2.0.11/nim/mettascope/data/agents/frozen.png +0 -0
  117. mettagrid-0.2.0.11/nim/mettascope/data/agents/future_arrow.png +0 -0
  118. mettagrid-0.2.0.11/nim/mettascope/data/agents/past_arrow.png +0 -0
  119. mettagrid-0.2.0.11/nim/mettascope/data/agents/path.png +0 -0
  120. mettagrid-0.2.0.11/nim/mettascope/data/crosshair.png +0 -0
  121. mettagrid-0.2.0.11/nim/mettascope/data/dash.png +0 -0
  122. mettagrid-0.2.0.11/nim/mettascope/data/effects/halo.png +0 -0
  123. mettagrid-0.2.0.11/nim/mettascope/data/emoji/alien.png +0 -0
  124. mettagrid-0.2.0.11/nim/mettascope/data/emoji/angry.png +0 -0
  125. mettagrid-0.2.0.11/nim/mettascope/data/emoji/down.png +0 -0
  126. mettagrid-0.2.0.11/nim/mettascope/data/emoji/happy.png +0 -0
  127. mettagrid-0.2.0.11/nim/mettascope/data/emoji/left.png +0 -0
  128. mettagrid-0.2.0.11/nim/mettascope/data/emoji/love.png +0 -0
  129. mettagrid-0.2.0.11/nim/mettascope/data/emoji/poo.png +0 -0
  130. mettagrid-0.2.0.11/nim/mettascope/data/emoji/right.png +0 -0
  131. mettagrid-0.2.0.11/nim/mettascope/data/emoji/sad.png +0 -0
  132. mettagrid-0.2.0.11/nim/mettascope/data/emoji/skull.png +0 -0
  133. mettagrid-0.2.0.11/nim/mettascope/data/emoji/sparkle.png +0 -0
  134. mettagrid-0.2.0.11/nim/mettascope/data/emoji/up.png +0 -0
  135. mettagrid-0.2.0.11/nim/mettascope/data/fidget/fonts/IBMPlexMono-Regular.ttf +0 -0
  136. mettagrid-0.2.0.11/nim/mettascope/data/fidget/fonts/IBMPlexSans-Bold.ttf +0 -0
  137. mettagrid-0.2.0.11/nim/mettascope/data/fidget/fonts/IBMPlexSans-Regular.ttf +0 -0
  138. mettagrid-0.2.0.11/nim/mettascope/data/fidget/fonts/NotoSansJP-Regular.ttf +0 -0
  139. mettagrid-0.2.0.11/nim/mettascope/data/fidget/fonts/jsMath-cmbx10.ttf +0 -0
  140. mettagrid-0.2.0.11/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.json +95118 -0
  141. mettagrid-0.2.0.11/nim/mettascope/data/fidget/hHmLTy7slXTOej6opPqWpz.lastModified +1 -0
  142. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/05bab347bacaede7606b8e59426dc42b155a8fd6.png +0 -0
  143. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/11f0598c7a572fe7461bc54b07423b7b5e3e7a60.png +0 -0
  144. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/42480bc49710a5f0ebfafe1e1a7785068db37106.png +0 -0
  145. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/621976c3803ef1eea0c316c0e86e1bc31bd6dba4.png +0 -0
  146. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/79d04b14381789498b35cbd1ae05eb578ededb5f.png +0 -0
  147. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/7b2b3374ea1a80648e8c68a472dcbba188af3e8e.png +0 -0
  148. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/86e7f3e8b46af021592fa055ecb606c6b0825c12.png +0 -0
  149. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/ac4765273b78fb68ac1e913e54c54224b7f6f215.png +0 -0
  150. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/b765480fbb089bf76a68424612eeb48ddd95ccc7.png +0 -0
  151. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/eb9f0db464f0f04a52566cd211a561f76d1bcc2a.png +0 -0
  152. mettagrid-0.2.0.11/nim/mettascope/data/fidget/images/f10e39779ee551c9d46a527d2ea2a67f434f2867.png +0 -0
  153. mettagrid-0.2.0.11/nim/mettascope/data/fonts/Inter-Regular.ttf +0 -0
  154. mettagrid-0.2.0.11/nim/mettascope/data/info.png +0 -0
  155. mettagrid-0.2.0.11/nim/mettascope/data/meta_grid_icon.png +0 -0
  156. mettagrid-0.2.0.11/nim/mettascope/data/minimapPip.png +0 -0
  157. mettagrid-0.2.0.11/nim/mettascope/data/objects/agent.png +0 -0
  158. mettagrid-0.2.0.11/nim/mettascope/data/objects/altar.png +0 -0
  159. mettagrid-0.2.0.11/nim/mettascope/data/objects/armory.png +0 -0
  160. mettagrid-0.2.0.11/nim/mettascope/data/objects/block.png +0 -0
  161. mettagrid-0.2.0.11/nim/mettascope/data/objects/clay_oven.png +0 -0
  162. mettagrid-0.2.0.11/nim/mettascope/data/objects/converter.png +0 -0
  163. mettagrid-0.2.0.11/nim/mettascope/data/objects/factory.png +0 -0
  164. mettagrid-0.2.0.11/nim/mettascope/data/objects/floor.png +0 -0
  165. mettagrid-0.2.0.11/nim/mettascope/data/objects/generator.png +0 -0
  166. mettagrid-0.2.0.11/nim/mettascope/data/objects/generator_blue.png +0 -0
  167. mettagrid-0.2.0.11/nim/mettascope/data/objects/generator_green.png +0 -0
  168. mettagrid-0.2.0.11/nim/mettascope/data/objects/generator_red.png +0 -0
  169. mettagrid-0.2.0.11/nim/mettascope/data/objects/ice_tower.png +0 -0
  170. mettagrid-0.2.0.11/nim/mettascope/data/objects/ice_vase.png +0 -0
  171. mettagrid-0.2.0.11/nim/mettascope/data/objects/lab.png +0 -0
  172. mettagrid-0.2.0.11/nim/mettascope/data/objects/lasery.png +0 -0
  173. mettagrid-0.2.0.11/nim/mettascope/data/objects/mine.png +0 -0
  174. mettagrid-0.2.0.11/nim/mettascope/data/objects/mine_blue.png +0 -0
  175. mettagrid-0.2.0.11/nim/mettascope/data/objects/mine_green.png +0 -0
  176. mettagrid-0.2.0.11/nim/mettascope/data/objects/mine_red-1.png +0 -0
  177. mettagrid-0.2.0.11/nim/mettascope/data/objects/mine_red.png +0 -0
  178. mettagrid-0.2.0.11/nim/mettascope/data/objects/palm_tree.png +0 -0
  179. mettagrid-0.2.0.11/nim/mettascope/data/objects/temple.png +0 -0
  180. mettagrid-0.2.0.11/nim/mettascope/data/objects/unknown.png +0 -0
  181. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.0.png +0 -0
  182. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.e.png +0 -0
  183. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.fill.png +0 -0
  184. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.n.png +0 -0
  185. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.ne.png +0 -0
  186. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.ns.png +0 -0
  187. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.nse.png +0 -0
  188. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.nw.png +0 -0
  189. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.nwe.png +0 -0
  190. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.nws.png +0 -0
  191. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.nwse.png +0 -0
  192. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.png +0 -0
  193. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.s.png +0 -0
  194. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.se.png +0 -0
  195. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.w.png +0 -0
  196. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.we.png +0 -0
  197. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.ws.png +0 -0
  198. mettagrid-0.2.0.11/nim/mettascope/data/objects/wall.wse.png +0 -0
  199. mettagrid-0.2.0.11/nim/mettascope/data/objects/water_well.png +0 -0
  200. mettagrid-0.2.0.11/nim/mettascope/data/objects/weaving_loom.png +0 -0
  201. mettagrid-0.2.0.11/nim/mettascope/data/objects/wheat_field.png +0 -0
  202. mettagrid-0.2.0.11/nim/mettascope/data/replays/pens.json.z +0 -0
  203. mettagrid-0.2.0.11/nim/mettascope/data/resources/agent_id.png +0 -0
  204. mettagrid-0.2.0.11/nim/mettascope/data/resources/armor.png +0 -0
  205. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery.blue.png +0 -0
  206. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery.green.png +0 -0
  207. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery.png +0 -0
  208. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery.red.png +0 -0
  209. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery_blue.png +0 -0
  210. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery_green.png +0 -0
  211. mettagrid-0.2.0.11/nim/mettascope/data/resources/battery_red.png +0 -0
  212. mettagrid-0.2.0.11/nim/mettascope/data/resources/blue_gem.png +0 -0
  213. mettagrid-0.2.0.11/nim/mettascope/data/resources/blueprint.png +0 -0
  214. mettagrid-0.2.0.11/nim/mettascope/data/resources/bread.png +0 -0
  215. mettagrid-0.2.0.11/nim/mettascope/data/resources/coal.png +0 -0
  216. mettagrid-0.2.0.11/nim/mettascope/data/resources/coconut.png +0 -0
  217. mettagrid-0.2.0.11/nim/mettascope/data/resources/copper_ore.png +0 -0
  218. mettagrid-0.2.0.11/nim/mettascope/data/resources/diamond.png +0 -0
  219. mettagrid-0.2.0.11/nim/mettascope/data/resources/gold_ore.png +0 -0
  220. mettagrid-0.2.0.11/nim/mettascope/data/resources/green_gem.png +0 -0
  221. mettagrid-0.2.0.11/nim/mettascope/data/resources/heart.png +0 -0
  222. mettagrid-0.2.0.11/nim/mettascope/data/resources/ice_granade.png +0 -0
  223. mettagrid-0.2.0.11/nim/mettascope/data/resources/iron_ore.png +0 -0
  224. mettagrid-0.2.0.11/nim/mettascope/data/resources/laser.png +0 -0
  225. mettagrid-0.2.0.11/nim/mettascope/data/resources/lizard_hide.png +0 -0
  226. mettagrid-0.2.0.11/nim/mettascope/data/resources/oil.png +0 -0
  227. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore.blue.png +0 -0
  228. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore.green.png +0 -0
  229. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore.png +0 -0
  230. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore.red.png +0 -0
  231. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore_blue.png +0 -0
  232. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore_green.png +0 -0
  233. mettagrid-0.2.0.11/nim/mettascope/data/resources/ore_red.png +0 -0
  234. mettagrid-0.2.0.11/nim/mettascope/data/resources/palm_fiber.png +0 -0
  235. mettagrid-0.2.0.11/nim/mettascope/data/resources/red_gem.png +0 -0
  236. mettagrid-0.2.0.11/nim/mettascope/data/resources/reward.png +0 -0
  237. mettagrid-0.2.0.11/nim/mettascope/data/resources/salt_water.png +0 -0
  238. mettagrid-0.2.0.11/nim/mettascope/data/resources/sand.png +0 -0
  239. mettagrid-0.2.0.11/nim/mettascope/data/resources/sisal.png +0 -0
  240. mettagrid-0.2.0.11/nim/mettascope/data/resources/snake_skin.png +0 -0
  241. mettagrid-0.2.0.11/nim/mettascope/data/resources/snow_ball.png +0 -0
  242. mettagrid-0.2.0.11/nim/mettascope/data/resources/star.png +0 -0
  243. mettagrid-0.2.0.11/nim/mettascope/data/resources/stone.png +0 -0
  244. mettagrid-0.2.0.11/nim/mettascope/data/resources/straw_hat.png +0 -0
  245. mettagrid-0.2.0.11/nim/mettascope/data/resources/turtle_shell.png +0 -0
  246. mettagrid-0.2.0.11/nim/mettascope/data/resources/unknown.png +0 -0
  247. mettagrid-0.2.0.11/nim/mettascope/data/resources/water.png +0 -0
  248. mettagrid-0.2.0.11/nim/mettascope/data/resources/wheat.png +0 -0
  249. mettagrid-0.2.0.11/nim/mettascope/data/resources/yellow_gem.png +0 -0
  250. mettagrid-0.2.0.11/nim/mettascope/data/resources/yucca_fiber.png +0 -0
  251. mettagrid-0.2.0.11/nim/mettascope/data/selection.png +0 -0
  252. mettagrid-0.2.0.11/nim/mettascope/data/target.png +0 -0
  253. mettagrid-0.2.0.11/nim/mettascope/data/tile.png +0 -0
  254. mettagrid-0.2.0.11/nim/mettascope/data/trace/attack.png +0 -0
  255. mettagrid-0.2.0.11/nim/mettascope/data/trace/attack_nearest.png +0 -0
  256. mettagrid-0.2.0.11/nim/mettascope/data/trace/change_color.png +0 -0
  257. mettagrid-0.2.0.11/nim/mettascope/data/trace/frozen.png +0 -0
  258. mettagrid-0.2.0.11/nim/mettascope/data/trace/get_items.png +0 -0
  259. mettagrid-0.2.0.11/nim/mettascope/data/trace/invalid.png +0 -0
  260. mettagrid-0.2.0.11/nim/mettascope/data/trace/move.png +0 -0
  261. mettagrid-0.2.0.11/nim/mettascope/data/trace/move_8way.png +0 -0
  262. mettagrid-0.2.0.11/nim/mettascope/data/trace/move_cardinal.png +0 -0
  263. mettagrid-0.2.0.11/nim/mettascope/data/trace/noop.png +0 -0
  264. mettagrid-0.2.0.11/nim/mettascope/data/trace/put_items.png +0 -0
  265. mettagrid-0.2.0.11/nim/mettascope/data/trace/rotate.png +0 -0
  266. mettagrid-0.2.0.11/nim/mettascope/data/trace/swap.png +0 -0
  267. mettagrid-0.2.0.11/nim/mettascope/data/trace/unknown.png +0 -0
  268. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/get_output.png +0 -0
  269. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/get_output@2x.png +0 -0
  270. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/move.png +0 -0
  271. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/move@2x.png +0 -0
  272. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/noop.png +0 -0
  273. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/noop@2x.png +0 -0
  274. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/put_recipe_items.png +0 -0
  275. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/put_recipe_items@2x.png +0 -0
  276. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/rotate.png +0 -0
  277. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/buttons/rotate@2x.png +0 -0
  278. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/attack.png +0 -0
  279. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/attack@2x.png +0 -0
  280. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/attack_nearest.png +0 -0
  281. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/attack_nearest@2x.png +0 -0
  282. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/change_color.png +0 -0
  283. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/change_color@2x.png +0 -0
  284. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/swap.png +0 -0
  285. mettagrid-0.2.0.11/nim/mettascope/data/ui/actions/icons/swap@2x.png +0 -0
  286. mettagrid-0.2.0.11/nim/mettascope/data/ui/add.png +0 -0
  287. mettagrid-0.2.0.11/nim/mettascope/data/ui/add@2x.png +0 -0
  288. mettagrid-0.2.0.11/nim/mettascope/data/ui/brain.png +0 -0
  289. mettagrid-0.2.0.11/nim/mettascope/data/ui/brain0.png +0 -0
  290. mettagrid-0.2.0.11/nim/mettascope/data/ui/brain0@2x.png +0 -0
  291. mettagrid-0.2.0.11/nim/mettascope/data/ui/brain1.png +0 -0
  292. mettagrid-0.2.0.11/nim/mettascope/data/ui/brain1@2x.png +0 -0
  293. mettagrid-0.2.0.11/nim/mettascope/data/ui/brain@2x.png +0 -0
  294. mettagrid-0.2.0.11/nim/mettascope/data/ui/brainr.png +0 -0
  295. mettagrid-0.2.0.11/nim/mettascope/data/ui/brainr@2x.png +0 -0
  296. mettagrid-0.2.0.11/nim/mettascope/data/ui/check-off.png +0 -0
  297. mettagrid-0.2.0.11/nim/mettascope/data/ui/check-off@2x.png +0 -0
  298. mettagrid-0.2.0.11/nim/mettascope/data/ui/check-on.png +0 -0
  299. mettagrid-0.2.0.11/nim/mettascope/data/ui/check-on@2x.png +0 -0
  300. mettagrid-0.2.0.11/nim/mettascope/data/ui/close.png +0 -0
  301. mettagrid-0.2.0.11/nim/mettascope/data/ui/close@2x.png +0 -0
  302. mettagrid-0.2.0.11/nim/mettascope/data/ui/cloud.png +0 -0
  303. mettagrid-0.2.0.11/nim/mettascope/data/ui/cloud@2x.png +0 -0
  304. mettagrid-0.2.0.11/nim/mettascope/data/ui/coin.png +0 -0
  305. mettagrid-0.2.0.11/nim/mettascope/data/ui/coin@2x.png +0 -0
  306. mettagrid-0.2.0.11/nim/mettascope/data/ui/controls.png +0 -0
  307. mettagrid-0.2.0.11/nim/mettascope/data/ui/controls@2x.png +0 -0
  308. mettagrid-0.2.0.11/nim/mettascope/data/ui/copy.png +0 -0
  309. mettagrid-0.2.0.11/nim/mettascope/data/ui/copy@2x.png +0 -0
  310. mettagrid-0.2.0.11/nim/mettascope/data/ui/demoMode.png +0 -0
  311. mettagrid-0.2.0.11/nim/mettascope/data/ui/demoMode@2x.png +0 -0
  312. mettagrid-0.2.0.11/nim/mettascope/data/ui/drop-down.png +0 -0
  313. mettagrid-0.2.0.11/nim/mettascope/data/ui/drop-down@2x.png +0 -0
  314. mettagrid-0.2.0.11/nim/mettascope/data/ui/eye.png +0 -0
  315. mettagrid-0.2.0.11/nim/mettascope/data/ui/eye@2x.png +0 -0
  316. mettagrid-0.2.0.11/nim/mettascope/data/ui/fullScreen.png +0 -0
  317. mettagrid-0.2.0.11/nim/mettascope/data/ui/fullScreen@2x.png +0 -0
  318. mettagrid-0.2.0.11/nim/mettascope/data/ui/generic_resource.png +0 -0
  319. mettagrid-0.2.0.11/nim/mettascope/data/ui/generic_resource@2x.png +0 -0
  320. mettagrid-0.2.0.11/nim/mettascope/data/ui/grid.png +0 -0
  321. mettagrid-0.2.0.11/nim/mettascope/data/ui/grid@2x.png +0 -0
  322. mettagrid-0.2.0.11/nim/mettascope/data/ui/header-bg.png +0 -0
  323. mettagrid-0.2.0.11/nim/mettascope/data/ui/header-bg@2x.png +0 -0
  324. mettagrid-0.2.0.11/nim/mettascope/data/ui/heart.png +0 -0
  325. mettagrid-0.2.0.11/nim/mettascope/data/ui/heart@2x.png +0 -0
  326. mettagrid-0.2.0.11/nim/mettascope/data/ui/heatmap.png +0 -0
  327. mettagrid-0.2.0.11/nim/mettascope/data/ui/heatmap@2x.png +0 -0
  328. mettagrid-0.2.0.11/nim/mettascope/data/ui/help.png +0 -0
  329. mettagrid-0.2.0.11/nim/mettascope/data/ui/help@2x.png +0 -0
  330. mettagrid-0.2.0.11/nim/mettascope/data/ui/hide.png +0 -0
  331. mettagrid-0.2.0.11/nim/mettascope/data/ui/hide@2x.png +0 -0
  332. mettagrid-0.2.0.11/nim/mettascope/data/ui/info.png +0 -0
  333. mettagrid-0.2.0.11/nim/mettascope/data/ui/info@2x.png +0 -0
  334. mettagrid-0.2.0.11/nim/mettascope/data/ui/inverse.png +0 -0
  335. mettagrid-0.2.0.11/nim/mettascope/data/ui/inverse2.png +0 -0
  336. mettagrid-0.2.0.11/nim/mettascope/data/ui/inverse2@2x.png +0 -0
  337. mettagrid-0.2.0.11/nim/mettascope/data/ui/inverse@2x.png +0 -0
  338. mettagrid-0.2.0.11/nim/mettascope/data/ui/left-arrow.png +0 -0
  339. mettagrid-0.2.0.11/nim/mettascope/data/ui/left-arrow@2x.png +0 -0
  340. mettagrid-0.2.0.11/nim/mettascope/data/ui/logo.png +0 -0
  341. mettagrid-0.2.0.11/nim/mettascope/data/ui/logo@2x.png +0 -0
  342. mettagrid-0.2.0.11/nim/mettascope/data/ui/minimap.png +0 -0
  343. mettagrid-0.2.0.11/nim/mettascope/data/ui/minimap@2x.png +0 -0
  344. mettagrid-0.2.0.11/nim/mettascope/data/ui/move-left-right.png +0 -0
  345. mettagrid-0.2.0.11/nim/mettascope/data/ui/move-left-right@2x.png +0 -0
  346. mettagrid-0.2.0.11/nim/mettascope/data/ui/panel-tip.png +0 -0
  347. mettagrid-0.2.0.11/nim/mettascope/data/ui/panel-tip@2x.png +0 -0
  348. mettagrid-0.2.0.11/nim/mettascope/data/ui/paste.png +0 -0
  349. mettagrid-0.2.0.11/nim/mettascope/data/ui/paste@2x.png +0 -0
  350. mettagrid-0.2.0.11/nim/mettascope/data/ui/pause.png +0 -0
  351. mettagrid-0.2.0.11/nim/mettascope/data/ui/pause@2x.png +0 -0
  352. mettagrid-0.2.0.11/nim/mettascope/data/ui/play.png +0 -0
  353. mettagrid-0.2.0.11/nim/mettascope/data/ui/play@2x.png +0 -0
  354. mettagrid-0.2.0.11/nim/mettascope/data/ui/rabbit.png +0 -0
  355. mettagrid-0.2.0.11/nim/mettascope/data/ui/rabbit@2x.png +0 -0
  356. mettagrid-0.2.0.11/nim/mettascope/data/ui/rewindToEnd.png +0 -0
  357. mettagrid-0.2.0.11/nim/mettascope/data/ui/rewindToEnd@2x.png +0 -0
  358. mettagrid-0.2.0.11/nim/mettascope/data/ui/rewindToStart.png +0 -0
  359. mettagrid-0.2.0.11/nim/mettascope/data/ui/rewindToStart@2x.png +0 -0
  360. mettagrid-0.2.0.11/nim/mettascope/data/ui/right-arrow.png +0 -0
  361. mettagrid-0.2.0.11/nim/mettascope/data/ui/right-arrow@2x.png +0 -0
  362. mettagrid-0.2.0.11/nim/mettascope/data/ui/search.png +0 -0
  363. mettagrid-0.2.0.11/nim/mettascope/data/ui/search@2x.png +0 -0
  364. mettagrid-0.2.0.11/nim/mettascope/data/ui/share.png +0 -0
  365. mettagrid-0.2.0.11/nim/mettascope/data/ui/share@2x.png +0 -0
  366. mettagrid-0.2.0.11/nim/mettascope/data/ui/sort-down.png +0 -0
  367. mettagrid-0.2.0.11/nim/mettascope/data/ui/sort-down@2x.png +0 -0
  368. mettagrid-0.2.0.11/nim/mettascope/data/ui/sort-up.png +0 -0
  369. mettagrid-0.2.0.11/nim/mettascope/data/ui/sort-up@2x.png +0 -0
  370. mettagrid-0.2.0.11/nim/mettascope/data/ui/sort.png +0 -0
  371. mettagrid-0.2.0.11/nim/mettascope/data/ui/sort@2x.png +0 -0
  372. mettagrid-0.2.0.11/nim/mettascope/data/ui/speed.png +0 -0
  373. mettagrid-0.2.0.11/nim/mettascope/data/ui/speed@2x.png +0 -0
  374. mettagrid-0.2.0.11/nim/mettascope/data/ui/spinner.png +0 -0
  375. mettagrid-0.2.0.11/nim/mettascope/data/ui/spinner@2x.png +0 -0
  376. mettagrid-0.2.0.11/nim/mettascope/data/ui/stepBack.png +0 -0
  377. mettagrid-0.2.0.11/nim/mettascope/data/ui/stepBack@2x.png +0 -0
  378. mettagrid-0.2.0.11/nim/mettascope/data/ui/stepForward.png +0 -0
  379. mettagrid-0.2.0.11/nim/mettascope/data/ui/stepForward@2x.png +0 -0
  380. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/actionId.png +0 -0
  381. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/actionId@2x.png +0 -0
  382. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/actionParameter.png +0 -0
  383. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/actionParameter@2x.png +0 -0
  384. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/actionSuccess.png +0 -0
  385. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/actionSuccess@2x.png +0 -0
  386. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/agentId.png +0 -0
  387. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/agentId@2x.png +0 -0
  388. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/color.png +0 -0
  389. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/color@2x.png +0 -0
  390. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/currentReward.png +0 -0
  391. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/currentReward@2x.png +0 -0
  392. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/groupId.png +0 -0
  393. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/groupId@2x.png +0 -0
  394. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/hp.png +0 -0
  395. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/hp@2x.png +0 -0
  396. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/icon.png +0 -0
  397. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/id.png +0 -0
  398. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/id@2x.png +0 -0
  399. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/isFrozen.png +0 -0
  400. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/isFrozen@2x.png +0 -0
  401. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/layer.png +0 -0
  402. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/layer@2x.png +0 -0
  403. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/orientation.png +0 -0
  404. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/orientation@2x.png +0 -0
  405. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/totalReward.png +0 -0
  406. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/totalReward@2x.png +0 -0
  407. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/typeId.png +0 -0
  408. mettagrid-0.2.0.11/nim/mettascope/data/ui/table/typeId@2x.png +0 -0
  409. mettagrid-0.2.0.11/nim/mettascope/data/ui/table.png +0 -0
  410. mettagrid-0.2.0.11/nim/mettascope/data/ui/table@2x.png +0 -0
  411. mettagrid-0.2.0.11/nim/mettascope/data/ui/tack.png +0 -0
  412. mettagrid-0.2.0.11/nim/mettascope/data/ui/tack@2x.png +0 -0
  413. mettagrid-0.2.0.11/nim/mettascope/data/ui/traces.png +0 -0
  414. mettagrid-0.2.0.11/nim/mettascope/data/ui/traces@2x.png +0 -0
  415. mettagrid-0.2.0.11/nim/mettascope/data/ui/turtle.png +0 -0
  416. mettagrid-0.2.0.11/nim/mettascope/data/ui/turtle@2x.png +0 -0
  417. mettagrid-0.2.0.11/nim/mettascope/data/ui/ui/panel-tip.png +0 -0
  418. mettagrid-0.2.0.11/nim/mettascope/data/ui/x.png +0 -0
  419. mettagrid-0.2.0.11/nim/mettascope/data/ui/x@2x.png +0 -0
  420. mettagrid-0.2.0.11/nim/mettascope/data/view/grid.png +0 -0
  421. mettagrid-0.2.0.11/nim/mettascope/data/white.png +0 -0
  422. mettagrid-0.2.0.11/nim/mettascope/mettascope.nimble +28 -0
  423. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/actions.nim +54 -0
  424. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/agenttable.nim +12 -0
  425. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/agenttraces.nim +116 -0
  426. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/common.nim +118 -0
  427. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/envconfig.nim +12 -0
  428. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/footer.nim +68 -0
  429. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/minimap.nim +15 -0
  430. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/panels.nim +201 -0
  431. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/replays.nim +614 -0
  432. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/shell.html +101 -0
  433. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/sim.nim +829 -0
  434. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/timeline.nim +260 -0
  435. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/ui.nim +62 -0
  436. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/utils.nim +64 -0
  437. mettagrid-0.2.0.11/nim/mettascope/src/mettascope/worldmap.nim +601 -0
  438. mettagrid-0.2.0.11/nim/mettascope/src/mettascope.nim +198 -0
  439. mettagrid-0.2.0.11/nim/mettascope/src/mettascope.nims +52 -0
  440. mettagrid-0.2.0.11/pyproject.toml +82 -0
  441. mettagrid-0.2.0.11/python/README.md +3 -0
  442. mettagrid-0.2.0.11/python/src/mettagrid/__init__.py +70 -0
  443. mettagrid-0.2.0.11/python/src/mettagrid/builder/envs.py +267 -0
  444. mettagrid-0.2.0.11/python/src/mettagrid/config/__init__.py +35 -0
  445. mettagrid-0.2.0.11/python/src/mettagrid/config/mettagrid_c_config.py +414 -0
  446. mettagrid-0.2.0.11/python/src/mettagrid/config/mettagrid_config.py +228 -0
  447. mettagrid-0.2.0.11/python/src/mettagrid/demo.py +35 -0
  448. mettagrid-0.2.0.11/python/src/mettagrid/envs/mettagrid_env.py +309 -0
  449. mettagrid-0.2.0.11/python/src/mettagrid/envs/puffer_base.py +143 -0
  450. mettagrid-0.2.0.11/python/src/mettagrid/map_builder/perimeter_incontext.py +334 -0
  451. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/README.md +7 -0
  452. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_choice.yaml +14 -0
  453. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_double_pillar.yaml +34 -0
  454. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_feature_with_door.yaml +18 -0
  455. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_flooded_fountain.yaml +34 -0
  456. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_single_pillar.yaml +24 -0
  457. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/amcnicky_arrival_underground_garden.yaml +22 -0
  458. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_concentric_rings.yaml +38 -0
  459. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_pentagon.yaml +32 -0
  460. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/angelslayer_arrival_single_sparkle.yaml +38 -0
  461. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_square_in_a_square_in_a_square.yaml +42 -0
  462. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/co_arrival_two_rings.yaml +40 -0
  463. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_hothouse.yaml +42 -0
  464. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_planthouse.yaml +40 -0
  465. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/denvon_arrival_waterhouse.yaml +44 -0
  466. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/doesnt_arrival_eight_statues.yaml +22 -0
  467. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxes_within_box.yaml +36 -0
  468. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_boxorama.yaml +36 -0
  469. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_line_fractal.yaml +18 -0
  470. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_long_road.yaml +26 -0
  471. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_radiant.yaml +22 -0
  472. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_a.yaml +26 -0
  473. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_rooms_with_view.yaml +30 -0
  474. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_shelter.yaml +22 -0
  475. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_snail.yaml +42 -0
  476. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_ternary.yaml +24 -0
  477. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_bigger_balls.yaml +48 -0
  478. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_three_smaller_balls.yaml +40 -0
  479. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_a.yaml +6 -0
  480. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_b.yaml +10 -0
  481. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_c.yaml +12 -0
  482. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_d.yaml +14 -0
  483. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_e.yaml +14 -0
  484. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_f.yaml +16 -0
  485. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_g.yaml +16 -0
  486. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_h.yaml +16 -0
  487. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_i.yaml +10 -0
  488. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_j.yaml +14 -0
  489. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_tiny_k.yaml +10 -0
  490. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_triangle_fractal.yaml +30 -0
  491. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_arrival_windows_large_door.yaml +20 -0
  492. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dpeg_chamrin_arrival_tetris.yaml +44 -0
  493. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_angles.yaml +30 -0
  494. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_boulevard.yaml +36 -0
  495. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/dysonsfear_arrival_nine_rooms.yaml +30 -0
  496. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_hopf_link.yaml +28 -0
  497. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_3fold.yaml +28 -0
  498. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ebering_trefoil_twist.yaml +26 -0
  499. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_druids_welcome.yaml +26 -0
  500. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_tree_alley.yaml +14 -0
  501. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_cross.yaml +18 -0
  502. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/eino_arrival_water_star.yaml +34 -0
  503. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_blinker_ship.yaml +42 -0
  504. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_huge.yaml +30 -0
  505. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_large.yaml +26 -0
  506. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_medium.yaml +22 -0
  507. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/erik_arrival_triangle_small.yaml +18 -0
  508. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_bridges.yaml +26 -0
  509. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_forest_graveyard.yaml +30 -0
  510. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_horns.yaml +20 -0
  511. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/giann_wishing_wells.yaml +20 -0
  512. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_crossed_arrows.yaml +30 -0
  513. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/grunt_arrival_lava_bath.yaml +22 -0
  514. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden.yaml +30 -0
  515. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ldierk_walled_garden_2.yaml +24 -0
  516. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_cross.yaml +36 -0
  517. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_funnel.yaml +36 -0
  518. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lemuel_arrival_lava_pool.yaml +36 -0
  519. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_chessboard.yaml +20 -0
  520. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_flooded_house.yaml +22 -0
  521. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_lavapool.yaml +24 -0
  522. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_maybe_door_vault.yaml +20 -0
  523. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_arrival_statue_moat.yaml +24 -0
  524. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_iron_boxes.yaml +24 -0
  525. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/lightli_molten_gateway.yaml +36 -0
  526. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_grand_opening.yaml +38 -0
  527. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_los_fun.yaml +50 -0
  528. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_refuge.yaml +38 -0
  529. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/matt_arrival_spirals.yaml +34 -0
  530. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_diagonal_passages.yaml +30 -0
  531. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_doors.yaml +30 -0
  532. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_four_houses.yaml +30 -0
  533. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_open_corners.yaml +34 -0
  534. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_plants_in_alcoves.yaml +18 -0
  535. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_pointy.yaml +32 -0
  536. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_radiant_lines.yaml +46 -0
  537. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_three_doors.yaml +12 -0
  538. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_up_and_down.yaml +22 -0
  539. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/minmay_arrival_wavy_path.yaml +28 -0
  540. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_arrow.yaml +30 -0
  541. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue.yaml +16 -0
  542. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_2.yaml +20 -0
  543. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/mrwooster_arrival_statue_3.yaml +22 -0
  544. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_large.yaml +22 -0
  545. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_med.yaml +20 -0
  546. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_door_cone_small.yaml +18 -0
  547. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ms813_arrival_square_statues.yaml +18 -0
  548. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/mushboom_english_gardens.yaml +26 -0
  549. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_halloftheorcs.yaml +26 -0
  550. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_lavacross.yaml +22 -0
  551. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_smallfort.yaml +20 -0
  552. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_watergridlock.yaml +22 -0
  553. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/ncdulo_wetmaze.yaml +24 -0
  554. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_crosshair.yaml +30 -0
  555. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_depleted_hourglass.yaml +34 -0
  556. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/nzn_arrival_water_spiral.yaml +40 -0
  557. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_mini_spirals.yaml +20 -0
  558. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/onia_arrival_pyramid.yaml +32 -0
  559. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/pf_arrival_petrified_forest.yaml +22 -0
  560. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_basics.yaml +22 -0
  561. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_conway.yaml +32 -0
  562. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_dodecagon.yaml +54 -0
  563. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_heroes.yaml +42 -0
  564. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial01.yaml +38 -0
  565. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_radial02.yaml +46 -0
  566. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/psy_arrival_whirlpool.yaml +30 -0
  567. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_forest_river.yaml +30 -0
  568. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/reono_arrival_mine.yaml +30 -0
  569. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_chinese_lattice_arrival.yaml +34 -0
  570. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_crossed_star.yaml +34 -0
  571. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/roderic_dead_forest.yaml +40 -0
  572. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_a.yaml +10 -0
  573. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_b.yaml +14 -0
  574. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_c.yaml +16 -0
  575. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_d.yaml +22 -0
  576. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/saegor_arrival_simple_e.yaml +20 -0
  577. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_checkerplants.yaml +28 -0
  578. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_forest.yaml +22 -0
  579. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_gate.yaml +26 -0
  580. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_hexagon.yaml +22 -0
  581. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_crosswalls.yaml +26 -0
  582. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_simple_fountains.yaml +18 -0
  583. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/scummos_arrival_star.yaml +32 -0
  584. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham.yaml +32 -0
  585. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/spicycebolla_green_bress_n_ham_2.yaml +32 -0
  586. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_a.yaml +22 -0
  587. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_b.yaml +34 -0
  588. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_c.yaml +20 -0
  589. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_d.yaml +18 -0
  590. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_e.yaml +18 -0
  591. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/tarquinn_simple_flora_water_f.yaml +16 -0
  592. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_chamber.yaml +18 -0
  593. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/wander_arrival_desolate.yaml +22 -0
  594. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_linesprint.yaml +18 -0
  595. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/wheals_arrival_shading.yaml +14 -0
  596. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/convchain/zelgadis_glass_arrival_small.yaml +24 -0
  597. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_choice.yaml +11 -0
  598. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_double_pillar.yaml +31 -0
  599. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_feature_with_door.yaml +15 -0
  600. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_flooded_fountain.yaml +31 -0
  601. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_single_pillar.yaml +21 -0
  602. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/amcnicky_arrival_underground_garden.yaml +19 -0
  603. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/angelslayer_arrival_concentric_rings.yaml +35 -0
  604. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/angelslayer_arrival_single_sparkle.yaml +35 -0
  605. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_square_in_a_square_in_a_square.yaml +39 -0
  606. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/co_arrival_two_rings.yaml +37 -0
  607. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_hothouse.yaml +39 -0
  608. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_planthouse.yaml +37 -0
  609. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/denvon_arrival_waterhouse.yaml +41 -0
  610. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/doesnt_arrival_eight_statues.yaml +19 -0
  611. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxes_within_box.yaml +33 -0
  612. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_boxorama.yaml +33 -0
  613. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_line_fractal.yaml +15 -0
  614. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_long_road.yaml +23 -0
  615. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_radiant.yaml +19 -0
  616. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_a.yaml +23 -0
  617. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_rooms_with_view.yaml +27 -0
  618. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_shelter.yaml +19 -0
  619. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_snail.yaml +39 -0
  620. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_ternary.yaml +21 -0
  621. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_bigger_balls.yaml +45 -0
  622. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_three_smaller_balls.yaml +37 -0
  623. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_a.yaml +3 -0
  624. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_b.yaml +7 -0
  625. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_c.yaml +9 -0
  626. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_d.yaml +11 -0
  627. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_e.yaml +11 -0
  628. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_f.yaml +13 -0
  629. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_g.yaml +13 -0
  630. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_h.yaml +13 -0
  631. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_i.yaml +7 -0
  632. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_j.yaml +11 -0
  633. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_tiny_k.yaml +7 -0
  634. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_triangle_fractal.yaml +27 -0
  635. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_arrival_windows_large_door.yaml +17 -0
  636. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dpeg_chamrin_arrival_tetris.yaml +41 -0
  637. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_angles.yaml +27 -0
  638. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_boulevard.yaml +33 -0
  639. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/dysonsfear_arrival_nine_rooms.yaml +27 -0
  640. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_hopf_link.yaml +25 -0
  641. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_3fold.yaml +25 -0
  642. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ebering_trefoil_twist.yaml +23 -0
  643. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_druids_welcome.yaml +23 -0
  644. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_tree_alley.yaml +11 -0
  645. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_cross.yaml +15 -0
  646. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/eino_arrival_water_star.yaml +31 -0
  647. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_blinker_ship.yaml +39 -0
  648. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_huge.yaml +27 -0
  649. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_large.yaml +23 -0
  650. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_medium.yaml +19 -0
  651. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/erik_arrival_triangle_small.yaml +15 -0
  652. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_bridges.yaml +23 -0
  653. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_forest_graveyard.yaml +27 -0
  654. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_horns.yaml +17 -0
  655. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/giann_wishing_wells.yaml +17 -0
  656. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_crossed_arrows.yaml +27 -0
  657. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/grunt_arrival_lava_bath.yaml +19 -0
  658. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden.yaml +27 -0
  659. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ldierk_walled_garden_2.yaml +21 -0
  660. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_cross.yaml +33 -0
  661. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_funnel.yaml +33 -0
  662. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lemuel_arrival_lava_pool.yaml +33 -0
  663. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_chessboard.yaml +17 -0
  664. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_flooded_house.yaml +19 -0
  665. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_lavapool.yaml +21 -0
  666. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_maybe_door_vault.yaml +17 -0
  667. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_arrival_statue_moat.yaml +21 -0
  668. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_iron_boxes.yaml +21 -0
  669. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/lightli_molten_gateway.yaml +33 -0
  670. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_grand_opening.yaml +35 -0
  671. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_los_fun.yaml +47 -0
  672. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_refuge.yaml +35 -0
  673. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/matt_arrival_spirals.yaml +31 -0
  674. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_diagonal_passages.yaml +27 -0
  675. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_doors.yaml +27 -0
  676. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_four_houses.yaml +27 -0
  677. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_open_corners.yaml +31 -0
  678. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_plants_in_alcoves.yaml +15 -0
  679. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_pointy.yaml +29 -0
  680. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_radiant_lines.yaml +43 -0
  681. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_three_doors.yaml +9 -0
  682. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_up_and_down.yaml +19 -0
  683. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/minmay_arrival_wavy_path.yaml +25 -0
  684. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_arrow.yaml +27 -0
  685. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue.yaml +13 -0
  686. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_2.yaml +17 -0
  687. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/mrwooster_arrival_statue_3.yaml +19 -0
  688. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_large.yaml +19 -0
  689. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_med.yaml +17 -0
  690. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_door_cone_small.yaml +15 -0
  691. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ms813_arrival_square_statues.yaml +15 -0
  692. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/mushboom_english_gardens.yaml +23 -0
  693. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_halloftheorcs.yaml +23 -0
  694. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_lavacross.yaml +19 -0
  695. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_smallfort.yaml +17 -0
  696. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_watergridlock.yaml +19 -0
  697. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/ncdulo_wetmaze.yaml +21 -0
  698. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_crosshair.yaml +27 -0
  699. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_depleted_hourglass.yaml +31 -0
  700. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/nzn_arrival_water_spiral.yaml +37 -0
  701. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_mini_spirals.yaml +17 -0
  702. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/onia_arrival_pyramid.yaml +29 -0
  703. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/pf_arrival_petrified_forest.yaml +19 -0
  704. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_basics.yaml +19 -0
  705. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_conway.yaml +29 -0
  706. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_dodecagon.yaml +51 -0
  707. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_heroes.yaml +39 -0
  708. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial01.yaml +35 -0
  709. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_radial02.yaml +43 -0
  710. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/psy_arrival_whirlpool.yaml +27 -0
  711. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_forest_river.yaml +27 -0
  712. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/reono_arrival_mine.yaml +27 -0
  713. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_chinese_lattice_arrival.yaml +31 -0
  714. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_crossed_star.yaml +31 -0
  715. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/roderic_dead_forest.yaml +37 -0
  716. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_a.yaml +7 -0
  717. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_b.yaml +11 -0
  718. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_c.yaml +13 -0
  719. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_d.yaml +19 -0
  720. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/saegor_arrival_simple_e.yaml +17 -0
  721. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_checkerplants.yaml +25 -0
  722. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_forest.yaml +19 -0
  723. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_gate.yaml +23 -0
  724. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_hexagon.yaml +19 -0
  725. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_crosswalls.yaml +23 -0
  726. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_simple_fountains.yaml +15 -0
  727. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/scummos_arrival_star.yaml +29 -0
  728. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham.yaml +29 -0
  729. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/spicycebolla_green_bress_n_ham_2.yaml +29 -0
  730. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_a.yaml +19 -0
  731. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_b.yaml +31 -0
  732. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_c.yaml +17 -0
  733. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_d.yaml +15 -0
  734. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_e.yaml +15 -0
  735. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/tarquinn_simple_flora_water_f.yaml +13 -0
  736. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_chamber.yaml +15 -0
  737. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/wander_arrival_desolate.yaml +19 -0
  738. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_linesprint.yaml +15 -0
  739. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/wheals_arrival_shading.yaml +11 -0
  740. mettagrid-0.2.0.11/python/src/mettagrid/mapgen/scenes/dcss/wfc/zelgadis_glass_arrival_small.yaml +21 -0
  741. mettagrid-0.2.0.11/python/src/mettagrid/mettagrid_c.pyi +224 -0
  742. mettagrid-0.2.0.11/python/src/mettagrid/mettagrid_c.so +0 -0
  743. mettagrid-0.2.0.11/python/src/mettagrid/mettascope.py +73 -0
  744. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/Inter-Regular.ttf +0 -0
  745. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/altar.png +0 -0
  746. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/atlas.json +920 -0
  747. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/atlas.png +0 -0
  748. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/converter.png +0 -0
  749. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/generator.png +0 -0
  750. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/items.png +0 -0
  751. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/monsters.png +0 -0
  752. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-0.png +0 -0
  753. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-1.png +0 -0
  754. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-2.png +0 -0
  755. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-3.png +0 -0
  756. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-4.png +0 -0
  757. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-5.png +0 -0
  758. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/ore-6.png +0 -0
  759. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/puffer_chars.png +0 -0
  760. mettagrid-0.2.0.11/python/src/mettagrid/renderer/assets/wall.png +0 -0
  761. mettagrid-0.2.0.11/python/src/mettagrid/util/__init__.py +0 -0
  762. mettagrid-0.2.0.11/python/src/mettagrid/util/file.py +43 -0
  763. mettagrid-0.2.0.11/python/src/mettagrid/util/replay_writer.py +50 -0
  764. mettagrid-0.2.0.11/python/src/mettagrid/util/stats_writer.py +47 -0
  765. mettagrid-0.2.0.11/scripts/build_asan.sh +3 -0
  766. mettagrid-0.2.0.11/scripts/test_leaks.sh +3 -0
  767. mettagrid-0.2.0.11/tests/__init__.py +0 -0
  768. mettagrid-0.2.0.11/tests/cpplint.sh +14 -0
  769. mettagrid-0.2.0.11/tests/map_builder/__init__.py +0 -0
  770. mettagrid-0.2.0.11/tests/mapgen/__init__.py +0 -0
  771. mettagrid-0.2.0.11/tests/mapgen/scenes/fixtures/dir1/1.yaml +3 -0
  772. mettagrid-0.2.0.11/tests/mapgen/scenes/fixtures/dir1/2.yaml +3 -0
  773. mettagrid-0.2.0.11/tests/mapgen/scenes/fixtures/test.map +4 -0
  774. mettagrid-0.2.0.11/tests/mapgen/scenes/fixtures/test.yaml +5 -0
  775. mettagrid-0.2.0.11/tests/profiling/test_stopwatch.py +1394 -0
  776. mettagrid-0.2.0.11/tests/test_leaks.py +79 -0
  777. mettagrid-0.2.0.11/tests/test_mettagrid.cpp +1217 -0
  778. mettagrid-0.2.0.11/tests/test_observations.py +777 -0
  779. mettagrid-0.2.0.11/tests/test_tags.py +708 -0
  780. mettagrid-0.2.0.11/tests/test_visitation_counts.py +290 -0
  781. mettagrid-0.2.0.7/BUILD.bazel +0 -45
  782. mettagrid-0.2.0.7/PKG-INFO +0 -256
  783. mettagrid-0.2.0.7/bazel_build.py +0 -143
  784. mettagrid-0.2.0.7/benchmarks/test_mettagrid_env_benchmark.cpp +0 -298
  785. mettagrid-0.2.0.7/cpp/bindings/mettagrid_c.cpp +0 -973
  786. mettagrid-0.2.0.7/cpp/include/mettagrid/config/mettagrid_config.hpp +0 -130
  787. mettagrid-0.2.0.7/cpp/include/mettagrid/core/grid.hpp +0 -194
  788. mettagrid-0.2.0.7/cpp/include/mettagrid/objects/assembler.hpp +0 -229
  789. mettagrid-0.2.0.7/cpp/include/mettagrid/objects/assembler_config.hpp +0 -36
  790. mettagrid-0.2.0.7/cpp/include/mettagrid/objects/chest.hpp +0 -170
  791. mettagrid-0.2.0.7/cpp/include/mettagrid/objects/constants.hpp +0 -109
  792. mettagrid-0.2.0.7/cpp/include/mettagrid/objects/production_handler.hpp +0 -53
  793. mettagrid-0.2.0.7/mettagrid.egg-info/PKG-INFO +0 -256
  794. mettagrid-0.2.0.7/mettagrid.egg-info/SOURCES.txt +0 -240
  795. mettagrid-0.2.0.7/mettagrid.egg-info/requires.txt +0 -16
  796. mettagrid-0.2.0.7/pyproject.toml +0 -78
  797. mettagrid-0.2.0.7/python/src/mettagrid/__init__.py +0 -62
  798. mettagrid-0.2.0.7/python/src/mettagrid/builder/envs.py +0 -261
  799. mettagrid-0.2.0.7/python/src/mettagrid/config/__init__.py +0 -35
  800. mettagrid-0.2.0.7/python/src/mettagrid/config/mettagrid_c_config.py +0 -422
  801. mettagrid-0.2.0.7/python/src/mettagrid/config/mettagrid_config.py +0 -243
  802. mettagrid-0.2.0.7/python/src/mettagrid/envs/mettagrid_env.py +0 -310
  803. mettagrid-0.2.0.7/python/src/mettagrid/envs/puffer_base.py +0 -143
  804. mettagrid-0.2.0.7/python/src/mettagrid/map_builder/perimeter_incontext.py +0 -330
  805. mettagrid-0.2.0.7/python/src/mettagrid/mettagrid_c.pyi +0 -226
  806. mettagrid-0.2.0.7/python/src/mettagrid/mettagrid_c.so +0 -0
  807. mettagrid-0.2.0.7/python/src/mettagrid/util/episode_stats_db.py +0 -157
  808. mettagrid-0.2.0.7/python/src/mettagrid/util/file.py +0 -503
  809. mettagrid-0.2.0.7/python/src/mettagrid/util/replay_writer.py +0 -136
  810. mettagrid-0.2.0.7/python/src/mettagrid/util/stats_writer.py +0 -55
  811. mettagrid-0.2.0.7/python/src/mettagrid/util/uri.py +0 -162
  812. mettagrid-0.2.0.7/tests/profiling/test_stopwatch.py +0 -1189
  813. mettagrid-0.2.0.7/tests/test_gdrive.py +0 -64
  814. mettagrid-0.2.0.7/tests/test_global_reward_observations.py +0 -236
  815. mettagrid-0.2.0.7/tests/test_leaks.py +0 -79
  816. mettagrid-0.2.0.7/tests/test_mettagrid.cpp +0 -947
  817. mettagrid-0.2.0.7/tests/test_observations.py +0 -778
  818. mettagrid-0.2.0.7/tests/test_stats_rewards.py +0 -129
  819. mettagrid-0.2.0.7/tests/test_stats_writer.py +0 -113
  820. mettagrid-0.2.0.7/tests/test_tags.py +0 -624
  821. mettagrid-0.2.0.7/tests/test_visitation_counts.py +0 -292
  822. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/.bazelrc +0 -0
  823. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/LICENSE +0 -0
  824. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/MANIFEST.in +0 -0
  825. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/MODULE.bazel +0 -0
  826. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/MODULE.bazel.lock +0 -0
  827. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/README.md +0 -0
  828. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/benchmarks/BUILD +0 -0
  829. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/benchmarks/test_mettagrid_env_benchmark.py +0 -0
  830. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/BUILD.bazel +0 -0
  831. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/bindings/mettagrid_c.hpp +0 -0
  832. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/action_handler.hpp +0 -0
  833. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/attack.hpp +0 -0
  834. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/change_color.hpp +0 -0
  835. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/change_glyph.hpp +0 -0
  836. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/get_output.hpp +0 -0
  837. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/move.hpp +0 -0
  838. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/noop.hpp +0 -0
  839. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/orientation.hpp +0 -0
  840. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/put_recipe_items.hpp +0 -0
  841. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/rotate.hpp +0 -0
  842. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/actions/swap.hpp +0 -0
  843. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/core/event.hpp +0 -0
  844. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/core/grid_object.hpp +0 -0
  845. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/core/hash.hpp +0 -0
  846. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/core/types.hpp +0 -0
  847. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/agent.hpp +0 -0
  848. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/agent_config.hpp +0 -0
  849. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/chest_config.hpp +0 -0
  850. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/converter.hpp +0 -0
  851. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/converter_config.hpp +0 -0
  852. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/has_inventory.hpp +0 -0
  853. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/recipe.hpp +0 -0
  854. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/usable.hpp +0 -0
  855. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/objects/wall.hpp +0 -0
  856. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/renderer/hermes.hpp +0 -0
  857. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/systems/observation_encoder.hpp +0 -0
  858. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/systems/packed_coordinate.hpp +0 -0
  859. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/include/mettagrid/systems/stats_tracker.hpp +0 -0
  860. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/cpp/src/renderer/hermes.cpp +0 -0
  861. {mettagrid-0.2.0.7/python/src/mettagrid → mettagrid-0.2.0.11}/demo.py +0 -0
  862. /mettagrid-0.2.0.7/mettagrid.egg-info/dependency_links.txt → /mettagrid-0.2.0.11/ensure_mettascope.py +0 -0
  863. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/lint/BUILD +0 -0
  864. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/lint/clang_tidy.bzl +0 -0
  865. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/lint/clang_tidy_wrapper.sh +0 -0
  866. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/mettagrid.egg-info/entry_points.txt +0 -0
  867. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/mettagrid.egg-info/top_level.txt +0 -0
  868. /mettagrid-0.2.0.7/python/src/mettagrid/mapgen/__init__.py → /mettagrid-0.2.0.11/migrate_to_toplevel.py +0 -0
  869. {mettagrid-0.2.0.7/python/src/mettagrid/util → mettagrid-0.2.0.11/nim/mettascope}/__init__.py +0 -0
  870. {mettagrid-0.2.0.7/tests → mettagrid-0.2.0.11/nim/mettascope/bindings}/__init__.py +0 -0
  871. /mettagrid-0.2.0.7/python/src/mettagrid/py.typed → /mettagrid-0.2.0.11/nim/mettascope/src/mettascope/settings.nim +0 -0
  872. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/builder/__init__.py +0 -0
  873. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/builder/building.py +0 -0
  874. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/builder/empty_converters.py +0 -0
  875. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/config/config.py +0 -0
  876. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/core.py +0 -0
  877. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/envs/__init__.py +0 -0
  878. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/envs/gym_env.py +0 -0
  879. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/envs/gym_wrapper.py +0 -0
  880. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/envs/pettingzoo_env.py +0 -0
  881. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/map_builder/__init__.py +0 -0
  882. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/map_builder/ascii.py +0 -0
  883. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/map_builder/map_builder.py +0 -0
  884. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/map_builder/maze.py +0 -0
  885. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/map_builder/random.py +0 -0
  886. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/map_builder/utils.py +0 -0
  887. {mettagrid-0.2.0.7/tests/map_builder → mettagrid-0.2.0.11/python/src/mettagrid/mapgen}/__init__.py +0 -0
  888. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/load.py +0 -0
  889. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/mapgen.py +0 -0
  890. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/mapgen_ascii.py +0 -0
  891. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/random/float.py +0 -0
  892. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/random/int.py +0 -0
  893. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scene.py +0 -0
  894. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/ascii.py +0 -0
  895. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/auto.py +0 -0
  896. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/bsp.py +0 -0
  897. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/convchain.py +0 -0
  898. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/copy_grid.py +0 -0
  899. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/grid_altars.py +0 -0
  900. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/inline_ascii.py +0 -0
  901. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/layout.py +0 -0
  902. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/make_connected.py +0 -0
  903. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/maze.py +0 -0
  904. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/mean_distance.py +0 -0
  905. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/mirror.py +0 -0
  906. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -0
  907. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/nop.py +0 -0
  908. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/radial_maze.py +0 -0
  909. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/random.py +0 -0
  910. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
  911. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/random_objects.py +0 -0
  912. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/random_scene.py +0 -0
  913. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
  914. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/remove_agents.py +0 -0
  915. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/room_grid.py +0 -0
  916. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/spiral.py +0 -0
  917. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/transplant_scene.py +0 -0
  918. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
  919. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/wfc.py +0 -0
  920. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/scenes/yaml.py +0 -0
  921. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/tools/dcss_import.py +0 -0
  922. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/tools/gen.py +0 -0
  923. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/tools/gen_scene.py +0 -0
  924. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/tools/view.py +0 -0
  925. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/types.py +0 -0
  926. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/ascii_grid.py +0 -0
  927. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/draw.py +0 -0
  928. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/make_scene_config.py +0 -0
  929. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/pattern.py +0 -0
  930. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/s3utils.py +0 -0
  931. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/show.py +0 -0
  932. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/storable_map.py +0 -0
  933. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/storable_map_index.py +0 -0
  934. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/mapgen/utils/thumbnail.py +0 -0
  935. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/profiling/__init__.py +0 -0
  936. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/profiling/memory_monitor.py +0 -0
  937. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/profiling/stopwatch.py +0 -0
  938. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/profiling/system_monitor.py +0 -0
  939. /mettagrid-0.2.0.7/tests/mapgen/__init__.py → /mettagrid-0.2.0.11/python/src/mettagrid/py.typed +0 -0
  940. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/renderer/miniscope.py +0 -0
  941. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/renderer/nethack.py +0 -0
  942. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/test_support/__init__.py +0 -0
  943. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/test_support/actions.py +0 -0
  944. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/test_support/mapgen.py +0 -0
  945. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/test_support/observation_helper.py +0 -0
  946. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/test_support/orientation.py +0 -0
  947. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/test_support/token_types.py +0 -0
  948. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/util/char_encoder.py +0 -0
  949. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/util/debug.py +0 -0
  950. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/util/dict_utils.py +0 -0
  951. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/util/diversity.py +0 -0
  952. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/util/grid_object_formatter.py +0 -0
  953. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/python/src/mettagrid/util/module.py +0 -0
  954. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/setup.cfg +0 -0
  955. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/BUILD +0 -0
  956. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/diagnose.py +0 -0
  957. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/map_builder/test_ascii.py +0 -0
  958. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/map_builder/test_map_builder.py +0 -0
  959. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/map_builder/test_maze.py +0 -0
  960. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/map_builder/test_polymorphic_serialization.py +0 -0
  961. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/map_builder/test_random.py +0 -0
  962. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/map_builder/test_utils.py +0 -0
  963. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/random/test_float.py +0 -0
  964. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/random/test_int.py +0 -0
  965. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_ascii.py +0 -0
  966. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_auto.py +0 -0
  967. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_bsp.py +0 -0
  968. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_convchain.py +0 -0
  969. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_inline_ascii.py +0 -0
  970. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_layout.py +0 -0
  971. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_make_connected.py +0 -0
  972. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_maze.py +0 -0
  973. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_mean_distance.py +0 -0
  974. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_mirror.py +0 -0
  975. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_multi_left_and_right.py +0 -0
  976. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_nop.py +0 -0
  977. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_radial_maze.py +0 -0
  978. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_random.py +0 -0
  979. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_random_dcss_scene.py +0 -0
  980. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_random_objects.py +0 -0
  981. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_random_scene.py +0 -0
  982. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_random_yaml_scene.py +0 -0
  983. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_remove_agents.py +0 -0
  984. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_room_grid.py +0 -0
  985. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_wfc.py +0 -0
  986. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/scenes/test_yaml.py +0 -0
  987. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/test_mapgen.py +0 -0
  988. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/test_scene.py +0 -0
  989. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/test_validate_all_ascii_maps.py +0 -0
  990. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/utils/test_pattern.py +0 -0
  991. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/mapgen/utils/test_storable_map_io.py +0 -0
  992. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/profiling/test_memory_monitor.py +0 -0
  993. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/profiling/test_system_monitor.py +0 -0
  994. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/renderer/test_miniscope.py +0 -0
  995. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/renderer/test_nethack.py +0 -0
  996. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/run_test.py +0 -0
  997. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_action_compatibility.py +0 -0
  998. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_actions.py +0 -0
  999. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_attack_resource_exception.py +0 -0
  1000. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_buffer_reuse.py +0 -0
  1001. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_buffers.py +0 -0
  1002. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_converter.py +0 -0
  1003. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_diversity.py +0 -0
  1004. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_env_config_serialization.py +0 -0
  1005. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_env_map.py +0 -0
  1006. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_forbidden_imports.py +0 -0
  1007. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_global_obs_config.py +0 -0
  1008. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_global_observations.py +0 -0
  1009. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_grid_object.cpp +0 -0
  1010. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_gym_env.py +0 -0
  1011. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_interactive.py +0 -0
  1012. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_mettagrid.py +0 -0
  1013. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_move.py +0 -0
  1014. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_new_env_hierarchy.py +0 -0
  1015. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_observations.cpp +0 -0
  1016. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_pettingzoo_env.py +0 -0
  1017. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_pufferlib_integration.py +0 -0
  1018. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_resource_loss.py +0 -0
  1019. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_rewards.py +0 -0
  1020. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_rotate.py +0 -0
  1021. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_stats_tracker.cpp +0 -0
  1022. {mettagrid-0.2.0.7 → mettagrid-0.2.0.11}/tests/test_swap.py +0 -0
@@ -0,0 +1,23 @@
1
+ ---
2
+ Language: Cpp
3
+ BasedOnStyle: Google
4
+ IndentWidth: 2
5
+ ColumnLimit: 120
6
+ AccessModifierOffset: -2
7
+ AllowShortFunctionsOnASingleLine: Empty
8
+ # Changed from Stroustrup to Attach as per request
9
+ BreakBeforeBraces: Attach
10
+ DerivePointerAlignment: false
11
+ PointerAlignment: Left
12
+ AlignAfterOpenBracket: Align
13
+ AlignConsecutiveAssignments: false
14
+ AlignConsecutiveDeclarations: false
15
+ AlignTrailingComments: true
16
+ # For function parameters wrapping
17
+ AllowAllParametersOfDeclarationOnNextLine: false
18
+ BinPackParameters: false
19
+ # For enums - one value per line when they don't fit
20
+ AllowShortEnumsOnASingleLine: false
21
+ # For vector constants and similar - one per line when they don't fit
22
+ BinPackArguments: false
23
+ IncludeBlocks: Regroup
@@ -0,0 +1,19 @@
1
+ Checks: >-
2
+ -*,
3
+ clang-analyzer-*,
4
+ bugprone-*,
5
+ -bugprone-easily-swappable-parameters,
6
+ -bugprone-branch-clone,
7
+ cppcoreguidelines-pro-type-member-init,
8
+ misc-definitions-in-headers,
9
+ performance-*,
10
+ -performance-enum-size
11
+
12
+ HeaderFilterRegex: '.*\/(mettagrid|src)\/.*\.(h|hpp)$'
13
+ ExcludeHeaderFilterRegex: '.*(pybind11|numpy|Python).*'
14
+
15
+ WarningsAsErrors: ''
16
+
17
+ CheckOptions:
18
+ - key: bugprone-assert-side-effect.AssertMacros
19
+ value: 'assert'
@@ -0,0 +1,5 @@
1
+ # ignore build artifacts
2
+ /build-debug
3
+ /build-release
4
+ /benchmark_output
5
+ /Testing
@@ -0,0 +1,46 @@
1
+ # ROOT BUILD.bazel file for mettagrid - references new structure
2
+ load("@pybind11_bazel//:build_defs.bzl", "pybind_extension", "pybind_library")
3
+
4
+ # Re-export main targets from cpp/ for backward compatibility
5
+ alias(
6
+ name = "mettagrid_c",
7
+ actual = "//cpp:mettagrid_c",
8
+ visibility = ["//visibility:public"],
9
+ )
10
+
11
+ alias(
12
+ name = "mettagrid_lib",
13
+ actual = "//cpp:mettagrid_core",
14
+ visibility = ["//visibility:public"],
15
+ )
16
+
17
+ # Export the .clang-tidy config file for use by the linter
18
+ exports_files([".clang-tidy"])
19
+
20
+ # Package group for internal visibility
21
+ package_group(
22
+ name = "internal",
23
+ packages = [
24
+ "//cpp/...",
25
+ "//python/...",
26
+ "//benchmarks/...",
27
+ "//tests/...",
28
+ ],
29
+ )
30
+
31
+ # Documentation and configuration files
32
+ filegroup(
33
+ name = "docs",
34
+ srcs = glob(["docs/**/*.md"],
35
+ allow_empty=True),
36
+ visibility = ["//visibility:public"]
37
+ )
38
+
39
+ filegroup(
40
+ name = "configs",
41
+ srcs = glob([
42
+ "configs/**/*.yaml",
43
+ "configs/**/*.map",
44
+ ], allow_empty = True),
45
+ visibility = ["//visibility:public"],
46
+ )
@@ -0,0 +1,2 @@
1
+ root=src/mettagrid
2
+ linelength=120
@@ -0,0 +1,99 @@
1
+ .PHONY: help build build-prod benchmark test coverage tidy tidy-verbose clean install pytest pytest-coverage
2
+
3
+ # Default target
4
+ help:
5
+ @echo "Available targets:"
6
+ @echo " build - Debug build"
7
+ @echo " build-prod - Release build (optimized)"
8
+ @echo " benchmark - Build and run benchmarks"
9
+ @echo " test - Run C++ unit tests"
10
+ @echo " coverage - Run tests (C++ coverage not available on macOS)"
11
+ @echo " tidy - Run clang-tidy (fails on errors only)"
12
+ @echo " tidy-verbose - Run clang-tidy with full output"
13
+ @echo " format-check - Verify code is clang-formatted"
14
+ @echo " format-fix - Auto-format code with clang-format"
15
+ @echo " pytest - Run Python tests"
16
+ @echo " pytest-coverage - Run Python tests with coverage"
17
+ @echo " clean - Clean all build artifacts"
18
+ @echo " install - Install package in editable mode"
19
+
20
+ # Debug build
21
+ build:
22
+ @echo "🔨 Building debug..."
23
+ bazel build --config=dbg //:mettagrid_c
24
+
25
+ # Production release build
26
+ build-prod:
27
+ @echo "🔨 Building release..."
28
+ bazel build --config=opt //:mettagrid_c
29
+
30
+ # Build and run benchmarks
31
+ benchmark:
32
+ @echo "🔨 Building C++ benchmarks..."
33
+ bazel build --config=opt //benchmarks:test_mettagrid_env_benchmark
34
+ @echo "📂 Creating build-release directory..."
35
+ mkdir -p build-release
36
+ @echo "📋 Copying benchmark binaries..."
37
+ cp -f bazel-bin/benchmarks/test_mettagrid_env_benchmark build-release/
38
+ chmod +x build-release/test_mettagrid_env_benchmark
39
+ @echo "🏃 Running C++ benchmarks..."
40
+ # Note: Using the copied binary instead of 'bazel run' to avoid Python environment issues
41
+ ./build-release/test_mettagrid_env_benchmark || echo "⚠️ C++ benchmark failed - this may be due to Python environment issues"
42
+ @echo "🏃 Running Python benchmarks..."
43
+ uv run pytest benchmarks/test_mettagrid_env_benchmark.py -v --benchmark-only
44
+
45
+ # Run unit tests
46
+ test: build
47
+ @echo "🧪 Running unit tests..."
48
+ bazel test //tests:tests_all
49
+
50
+ # Generate coverage report
51
+ coverage:
52
+ @echo "🔨 Building with coverage..."
53
+ @echo "⚠️ Note: C++ coverage on macOS is currently not supported by bazel"
54
+ @echo " Running tests instead..."
55
+ bazel test //tests:tests_all
56
+ @echo "✅ Tests completed successfully"
57
+ @echo " For Python coverage, use: make pytest-coverage"
58
+
59
+ # Alias for clang_tidy that only fails on errors (not warnings)
60
+ tidy:
61
+ @echo "🔍 Running clang-tidy (errors only)..."
62
+ @bazel test //lint:clang_tidy --test_output=errors --nocache_test_results
63
+ @echo "✅ Clang-tidy check complete (use 'make tidy-verbose' to see all warnings)"
64
+
65
+ # Run clang-tidy with full output showing all warnings
66
+ tidy-verbose:
67
+ @echo "🔍 Running clang-tidy with full output..."
68
+ @bazel test //lint:clang_tidy --test_output=all --nocache_test_results
69
+
70
+ # Formatting
71
+ format-check:
72
+ @echo "🔎 Checking code formatting..."
73
+ @clang-format --dry-run --Werror -style=file $(shell find src include tests -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.hpp')
74
+ @echo "✅ All files are correctly formatted"
75
+
76
+ format-fix:
77
+ @echo "🛠️ Reformatting code..."
78
+ @clang-format -i -style=file $(shell find src include tests -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.hpp')
79
+ @echo "✅ Code reformatted"
80
+
81
+ # Python
82
+ install:
83
+ @echo "📦 Installing package..."
84
+ @cd ../.. && uv sync --active --inexact --frozen
85
+
86
+ pytest: install
87
+ @echo "🐍 Running Python tests..."
88
+ @cd ../.. && uv run pytest packages/mettagrid/tests
89
+
90
+ pytest-coverage: install
91
+ @echo "📊 Running Python tests with coverage..."
92
+ @cd ../.. && uv run pytest packages/mettagrid/tests --cov=mettagrid --cov-report=term-missing --cov-report=html:packages/mettagrid/htmlcov
93
+
94
+ # Cleanup
95
+ clean:
96
+ @echo "🧹 Cleaning build artifacts..."
97
+ bazel clean
98
+ rm -rf .venv uv.lock
99
+ rm -f coverage.info *.gcda *.gcno *.profraw *.profdata
@@ -0,0 +1,247 @@
1
+ Metadata-Version: 2.4
2
+ Name: mettagrid
3
+ Version: 0.2.0.11
4
+ Summary: A fast grid-based open-ended MARL environment
5
+ Author-email: David Bloomin <daveey@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://daveey.github.io
8
+ Project-URL: Repository, https://github.com/Metta-AI/mettagrid
9
+ Keywords: gridworld,minigrid,rl,reinforcement-learning,environment,gym
10
+ Requires-Python: <3.12,>=3.11
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: boto3>=1.38.32
14
+ Requires-Dist: botocore>=1.38.29
15
+ Requires-Dist: gymnasium==0.29.1
16
+ Requires-Dist: pettingzoo<1.25,>=1.24.1
17
+ Requires-Dist: pufferlib-core
18
+ Requires-Dist: pydantic>=2.11.5
19
+ Requires-Dist: pyyaml>=6.0.2
20
+ Dynamic: license-file
21
+
22
+ # MettaGrid Environment
23
+
24
+ MettaGrid is a multi-agent gridworld environment for studying the emergence of cooperation and social behaviors in
25
+ reinforcement learning agents. The environment features a variety of objects and actions that agents can interact with
26
+ to manage resources, engage in combat, share with others, and optimize their rewards.
27
+
28
+ ## Overview
29
+
30
+ In MettaGrid, agents navigate a gridworld and interact with various objects to manage their energy, harvest resources,
31
+ engage in combat, and cooperate with other agents. The key dynamics include:
32
+
33
+ - **Energy Management**: Agents must efficiently manage their energy, which is required for all actions. They can
34
+ harvest resources and convert them to energy at charger stations.
35
+ - **Resource Gathering**: Agents can gather resources from generator objects scattered throughout the environment.
36
+ - **Cooperation and Sharing**: Agents have the ability to share resources with other agents and use energy to power the
37
+ heart altar, which provides rewards.
38
+ - **Combat**: Agents can attack other agents to temporarily freeze them and steal their resources. They can also use
39
+ shields to defend against attacks.
40
+
41
+ The environment is highly configurable, allowing for experimentation with different world layouts, object placements,
42
+ and agent capabilities.
43
+
44
+ ## Objects
45
+
46
+ ### Agent
47
+
48
+ <img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_tiny_galaxy/tg_sliced/tg_monsters/tg_monsters_astronaut_u1.png?raw=true" width="32"/>
49
+
50
+ The `Agent` object represents an individual agent in the environment. Agents can move, rotate, attack, and interact with
51
+ other objects. Each agent has energy, resources, and shield properties that govern its abilities and interactions.
52
+
53
+ ### Altar
54
+
55
+ <img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_tiny_galaxy/tg_sliced/tg_items/tg_items_heart_full.png?raw=true" width="32"/>
56
+
57
+ The `Altar` object allows agents to spend energy to gain rewards. Agents can power the altar by using the `use` action
58
+ when near it. The altar has a cooldown period between uses.
59
+
60
+ - Using the heart altar costs `altar.use_cost energy`. So, no matter how much energy you have, you are always dumping
61
+ the same amount of energy in it and getting the same amount of reward.
62
+ - After the heart altar is used, it is unable to be used for altar.cooldown timesteps.
63
+ - A single use of the heart altar gives you a single unit of reward: if
64
+ `target._type_id == ObjectType.AltarT: self.env._rewards[actor_id] += 1`
65
+
66
+ ### Converter
67
+
68
+ <img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_tiny_galaxy/tg_sliced/tg_items/tg_items_pda_A.png?raw=true" width="32"/>
69
+
70
+ The `Converter` object allows agents to convert their harvested resources into energy. Agents can use converters by
71
+ moving to them and taking the `use` action. Each use of a converter provides a specified amount of energy and has a
72
+ cooldown period.
73
+
74
+ - Using the converter does not cost any energy.
75
+ - Using the converter outputs `converter.energy_output.r1` energy
76
+ - see `this.output_energy = cfg[b"energy_output.r1"]` in the Converter cppclass
77
+ - Using the converter increments resource 2 by one and decrements resource 1 by 1
78
+ - There is currently no use for `converter.energy_output.r2` and `converter.energy_output.r3`
79
+ - After the converter is used, it is unable to be used for `converter.cooldown` timesteps
80
+
81
+ ### Generator
82
+
83
+ <img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_fantasy/ore-0.png?raw=true" width="32"/>
84
+
85
+ The `Generator` object produces resources that agents can harvest. Agents can gather resources from generators by moving
86
+ to them and taking the `use` action. Generators have a specified capacity and replenish resources over time.
87
+
88
+ - Using the generator once gives one resource 1
89
+ - After the generator is used, it is unable to be used for `generator.cooldown` timesteps
90
+
91
+ ### Wall
92
+
93
+ <img src="https://github.com/daveey/Griddly/blob/develop/resources/images/oryx/oryx_fantasy/wall2-0.png?raw=true" width="32"/>
94
+
95
+ The `Wall` object acts as an impassable barrier in the environment, restricting agent movement.
96
+
97
+ ### Cooldown
98
+
99
+ The `cooldown` property determines how long before objects can be used again.
100
+
101
+ ## Actions
102
+
103
+ ### Move / Rotate
104
+
105
+ The `move` action allows agents to move to an adjacent cell in the gridworld. The action has two modes: moving forward
106
+ and moving backward relative to the agent's current orientation.
107
+
108
+ The `rotate` action enables agents to change their orientation within the gridworld. Agents can rotate to face in four
109
+ directions: down, left, right, and up.
110
+
111
+ ### Attack
112
+
113
+ The `attack` action allows agents to attack other agents or objects within their attack range. Successful attacks freeze
114
+ the target for `freeze_duration` timesteps and allow the attacker to steal resources. Further, the attacked agent's
115
+ energy is set to `0`. Attacks have a cost and inflict a damage value. The agent selects from one of nine coordinates
116
+ within its attack range.
117
+
118
+ ### Shield (Toggle)
119
+
120
+ The `shield` action turns on a shield. When the shield is active, the agent is protected from attacks by other agents.
121
+ The shield consumes energy defined by `upkeep.shield` while active. Attack damage is subtracted from the agent's energy,
122
+ rather than freezing the agent.
123
+
124
+ ### Transfer
125
+
126
+ The `transfer` action enables agents to share resources with other agents. Agents can choose to transfer specific
127
+ resources to another agent in an adjacent cell. It is currently not implemented.
128
+
129
+ ### Use
130
+
131
+ The `use` action allows agents to interact with objects such as altars, converters, and generators. The specific effects
132
+ of the `use` action depend on the target object and can include converting resources to energy, powering the altar for
133
+ rewards, or harvesting resources from generators.
134
+
135
+ ### Swap
136
+
137
+ The `swap` action allows agents to swap positions with other agents. It is currently not implemented.
138
+
139
+ ## Configuration
140
+
141
+ The MettaGrid environment is highly configurable through the use of YAML configuration files. These files specify the
142
+ layout of the gridworld, the placement of objects, and various properties of the objects and agents.
143
+
144
+ **Current settings:**
145
+
146
+ 1. Ore   - Base resource obtained from mines. Mines produce one ore when used. No resource requirements for use.   -
147
+ Reward value: 0.005 per unit (max 2)   - Used to create batteries and lasers
148
+ 2. Battery   - Intermediate resource created from ore at a generator. Generator turns one ore into one battery.   -
149
+ Reward value: 0.01 per unit (max 2)   - Used to create hearts and lasers
150
+ 3. Heart / heart altar   - High value reward, requires 3 batteries to be converted into a heart at a heart altar.
151
+ 4. Laser   - Weapon resource created from ore and batteries. Requires 1 ore and 2 batteries. Created at the lasery.
152
+
153
+ - Consumed on use. When hitting an unarmored agent: freezes them and steals their whole inventory. When hitting an
154
+ armoured agent, destroys their armor. **Inventory System**
155
+ - Agents have limited inventory space (default max: 50 items)
156
+ - Resources provide rewards just by being in inventory (up to their max reward value)
157
+ - Resources can be stolen through attacks Objects Various buildings: Mine, Generator, Armory, Lasery, Altar, Lab,
158
+ Factory, Temple.
159
+ - HP — hitpoints, the number of times something can be hit before destruction.
160
+ - Cooldown between uses (varies by building)
161
+ - Can be damaged and destroyed by attacks
162
+
163
+ ## Environment Architecture
164
+
165
+ MettaGrid uses a modular architecture designed primarily for the Softmax Studio ML project, with lightweight adapters to
166
+ maintain compatibility with external RL frameworks:
167
+
168
+ ### Primary Training Environment
169
+
170
+ **`MettaGridEnv`** - The main environment actively developed for Softmax Studio training systems
171
+
172
+ - Full-featured environment with comprehensive stats collection, replay recording, and curriculum support
173
+ - Inherits from `MettaGridCore` for C++ environment implementation
174
+ - **Exclusively used** by `metta.rl.trainer` and `metta.sim.simulation`
175
+ - Continuously developed and optimized for Softmax Studio use cases
176
+ - Backward compatible with existing training code
177
+
178
+ ### Core Infrastructure
179
+
180
+ **`MettaGridCore`** - Low-level C++ environment wrapper
181
+
182
+ - Foundation that provides the core game mechanics and performance
183
+ - **Not used directly** for training - serves as implementation detail for `MettaGridEnv`
184
+ - Provides the base functionality that external adapters wrap
185
+
186
+ ### External Framework Compatibility Adapters
187
+
188
+ Lightweight wrappers around `MettaGridCore` to maintain compatibility with other training systems:
189
+
190
+ - **`MettaGridGymEnv`** - Gymnasium compatibility for research workflows
191
+ - **`MettaGridPettingZooEnv`** - PettingZoo compatibility for multi-agent research
192
+ - **`MettaGridPufferEnv`** - PufferLib compatibility for high-performance external training
193
+
194
+ **Important**: These adapters are **only used with their respective training systems**, not with the Metta trainer.
195
+
196
+ ### Design Philosophy
197
+
198
+ - **Primary Focus**: `MettaGridEnv` receives active development and new features for Softmax Studio
199
+ - **Compatibility Maintenance**: External adapters ensure other frameworks continue working as the core evolves
200
+ - **Testing for Compatibility**: Demos verify external frameworks remain functional during core development
201
+ - **Clear Separation**: Each environment type serves its specific training system - no mixing between systems
202
+
203
+ ### Compatibility Testing Demos
204
+
205
+ These demos ensure external framework adapters remain functional as the core environment evolves:
206
+
207
+ ```bash
208
+ # Verify PettingZoo compatibility
209
+ python -m mettagrid.demos.demo_train_pettingzoo
210
+
211
+ # Verify PufferLib compatibility
212
+ python -m mettagrid.demos.demo_train_puffer
213
+
214
+ # Verify Gymnasium compatibility
215
+ python -m mettagrid.demos.demo_train_gym
216
+ ```
217
+
218
+ The demos serve as regression tests to catch compatibility issues during core development, ensuring external users can
219
+ continue using their preferred frameworks.
220
+
221
+ ## Building and testing
222
+
223
+ For local development, refer to the top-level [README.md](../README.md) in this repository.
224
+
225
+ ### Bazel
226
+
227
+ By default, `uv sync` will run the Bazel build automatically via the custom build backend. If you need to run C++ tests
228
+ and benchmarks directly, you'll need to invoke `bazel` directly.
229
+
230
+ Build C++ tests and benchmarks in debug mode:
231
+
232
+ ```sh
233
+ # Build with debug flags
234
+ bazel build --config=dbg //:mettagrid_c
235
+ # Run all tests
236
+ bazel test //...
237
+ ```
238
+
239
+ For benchmarks you might prefer to use the optimized build:
240
+
241
+ ```sh
242
+ # Build with optimizations
243
+ bazel build --config=opt //:mettagrid_c
244
+
245
+ # Run benchmarks
246
+ ./build-release/benchmarks/grid_object_benchmark
247
+ ```
@@ -0,0 +1,185 @@
1
+ # Custom build backend for building mettagrid with Bazel
2
+ # This backend compiles the C++ extension using Bazel during package installation
3
+
4
+ import os
5
+ import shutil
6
+ import subprocess
7
+ import sys
8
+ from pathlib import Path
9
+
10
+ from setuptools.build_meta import (
11
+ build_editable as _build_editable,
12
+ )
13
+ from setuptools.build_meta import (
14
+ build_sdist as _build_sdist,
15
+ )
16
+ from setuptools.build_meta import (
17
+ build_wheel as _build_wheel,
18
+ )
19
+ from setuptools.build_meta import (
20
+ get_requires_for_build_editable,
21
+ get_requires_for_build_sdist,
22
+ get_requires_for_build_wheel,
23
+ prepare_metadata_for_build_editable,
24
+ prepare_metadata_for_build_wheel,
25
+ )
26
+ from setuptools.dist import Distribution
27
+
28
+ PROJECT_ROOT = Path(__file__).resolve().parent
29
+ METTASCOPE_DIR = PROJECT_ROOT / "nim" / "mettascope"
30
+
31
+
32
+ def _run_bazel_build() -> None:
33
+ """Run Bazel build to compile the C++ extension."""
34
+ # Check if bazel is available
35
+ if shutil.which("bazel") is None:
36
+ raise RuntimeError("Bazel is required to build mettagrid. Please install Bazel: https://bazel.build/install")
37
+
38
+ # Determine build configuration from environment
39
+ debug = os.environ.get("DEBUG", "").lower() in ("1", "true", "yes")
40
+
41
+ # Check if running in CI environment (GitHub Actions sets CI=true)
42
+ is_ci = os.environ.get("CI", "").lower() == "true" or os.environ.get("GITHUB_ACTIONS", "") == "true"
43
+
44
+ if is_ci:
45
+ # Use CI configuration to avoid root user issues with hermetic Python
46
+ config = "ci"
47
+ else:
48
+ config = "dbg" if debug else "opt"
49
+
50
+ # Build the Python extension with auto-detected parallelism
51
+ cmd = [
52
+ "bazel",
53
+ "build",
54
+ f"--config={config}",
55
+ "--jobs=auto",
56
+ "--verbose_failures",
57
+ "//cpp:mettagrid_c", # Build from new cpp location
58
+ ]
59
+
60
+ print(f"Running Bazel build: {' '.join(cmd)}")
61
+ result = subprocess.run(cmd, cwd=PROJECT_ROOT, capture_output=True, text=True)
62
+
63
+ if result.returncode != 0:
64
+ print("Bazel build failed. STDERR:", file=sys.stderr)
65
+ print(result.stderr, file=sys.stderr)
66
+ print("Bazel build STDOUT:", file=sys.stderr)
67
+ print(result.stdout, file=sys.stderr)
68
+ raise RuntimeError("Bazel build failed")
69
+
70
+ # Copy the built extension to the package directory
71
+ bazel_bin = PROJECT_ROOT / "bazel-bin"
72
+ # Try both old and new locations for backward compatibility
73
+ src_dirs = [
74
+ PROJECT_ROOT / "python/src/mettagrid", # New location
75
+ PROJECT_ROOT / "src/mettagrid", # Old location (compatibility)
76
+ ]
77
+
78
+ # Find the built extension file
79
+ # Bazel outputs the extension at bazel-bin/cpp/mettagrid_c.so or bazel-bin/mettagrid_c.so
80
+ extension_patterns = [
81
+ "cpp/mettagrid_c.so",
82
+ "cpp/mettagrid_c.pyd",
83
+ "cpp/mettagrid_c.dylib", # New location
84
+ "mettagrid_c.so",
85
+ "mettagrid_c.pyd",
86
+ "mettagrid_c.dylib", # Old location
87
+ ]
88
+ extension_file = None
89
+ for pattern in extension_patterns:
90
+ file_path = bazel_bin / pattern
91
+ if file_path.exists():
92
+ extension_file = file_path
93
+ break
94
+ if not extension_file:
95
+ raise RuntimeError("mettagrid_c.{so,pyd,dylib} not found in bazel-bin/cpp/ or bazel-bin/")
96
+
97
+ # Copy to all source directories that exist
98
+ for src_dir in src_dirs:
99
+ if src_dir.parent.exists():
100
+ # Ensure destination directory exists
101
+ src_dir.mkdir(parents=True, exist_ok=True)
102
+ # Copy the extension to the source directory
103
+ dest = src_dir / extension_file.name
104
+ # Remove existing file if it exists (it might be read-only from previous build)
105
+ if dest.exists():
106
+ dest.unlink()
107
+ shutil.copy2(extension_file, dest)
108
+ print(f"Copied {extension_file} to {dest}")
109
+
110
+
111
+ def _run_mettascope_build() -> None:
112
+ """Run mettascope build script to compile the Nim library."""
113
+ build_script = METTASCOPE_DIR / "build.sh"
114
+
115
+ if not build_script.exists():
116
+ print(f"Warning: Mettascope build script not found at {build_script}")
117
+ return
118
+
119
+ # Check if nim and nimble are available
120
+ if shutil.which("nim") is None:
121
+ print("Warning: Nim compiler not found. Skipping mettascope build.")
122
+ print("To build mettascope, install Nim: https://nim-lang.org/install.html")
123
+ return
124
+
125
+ if shutil.which("nimble") is None:
126
+ print("Warning: Nimble package manager not found. Skipping mettascope build.")
127
+ print("To build mettascope, install Nim: https://nim-lang.org/install.html")
128
+ return
129
+
130
+ print(f"Building mettascope from {METTASCOPE_DIR}")
131
+
132
+ # Make the build script executable
133
+ build_script.chmod(0o755)
134
+
135
+ # Run the build script
136
+ result = subprocess.run(["./build.sh"], cwd=METTASCOPE_DIR, capture_output=True, text=True, shell=True)
137
+
138
+ if result.returncode != 0:
139
+ print("Warning: Mettascope build failed. STDERR:", file=sys.stderr)
140
+ print(result.stderr, file=sys.stderr)
141
+ print("Mettascope build STDOUT:", file=sys.stderr)
142
+ print(result.stdout, file=sys.stderr)
143
+ print("Continuing without mettascope...", file=sys.stderr)
144
+ else:
145
+ print("Successfully built mettascope")
146
+ if result.stdout:
147
+ print("Build output:", result.stdout)
148
+
149
+
150
+ def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
151
+ """Build a wheel, compiling the C++ extension with Bazel first, then mettascope."""
152
+ _run_bazel_build()
153
+ _run_mettascope_build()
154
+ # Ensure wheel is tagged as non-pure (platform-specific) since we bundle a native extension
155
+ # Setuptools/wheel derive purity from Distribution.has_ext_modules(). Monkeypatch to force True.
156
+ original_has_ext_modules = Distribution.has_ext_modules
157
+ try:
158
+ Distribution.has_ext_modules = lambda self: True # type: ignore[assignment]
159
+ return _build_wheel(wheel_directory, config_settings, metadata_directory)
160
+ finally:
161
+ Distribution.has_ext_modules = original_has_ext_modules
162
+
163
+
164
+ def build_editable(wheel_directory, config_settings=None, metadata_directory=None):
165
+ """Build an editable install, compiling the C++ extension with Bazel first, then mettascope."""
166
+ _run_bazel_build()
167
+ _run_mettascope_build()
168
+ return _build_editable(wheel_directory, config_settings, metadata_directory)
169
+
170
+
171
+ def build_sdist(sdist_directory, config_settings=None):
172
+ """Build a source distribution without compiling the extension."""
173
+ return _build_sdist(sdist_directory, config_settings)
174
+
175
+
176
+ __all__ = [
177
+ "build_wheel",
178
+ "build_editable",
179
+ "build_sdist",
180
+ "get_requires_for_build_wheel",
181
+ "get_requires_for_build_editable",
182
+ "get_requires_for_build_sdist",
183
+ "prepare_metadata_for_build_wheel",
184
+ "prepare_metadata_for_build_editable",
185
+ ]