continual-foragax 0.37.0__tar.gz → 0.38.0__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.
Files changed (143) hide show
  1. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/PKG-INFO +1 -1
  2. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/pyproject.toml +2 -2
  3. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/continual_foragax.egg-info/PKG-INFO +1 -1
  4. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/env.py +10 -1
  5. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/registry.py +18 -0
  6. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/tests/test_foragax.py +9 -6
  7. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/README.md +0 -0
  8. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/setup.cfg +0 -0
  9. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/continual_foragax.egg-info/SOURCES.txt +0 -0
  10. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/continual_foragax.egg-info/dependency_links.txt +0 -0
  11. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/continual_foragax.egg-info/entry_points.txt +0 -0
  12. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/continual_foragax.egg-info/requires.txt +0 -0
  13. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/continual_foragax.egg-info/top_level.txt +0 -0
  14. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/__init__.py +0 -0
  15. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/colors.py +0 -0
  16. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100897.txt +0 -0
  17. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100928.txt +0 -0
  18. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100929.txt +0 -0
  19. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100930.txt +0 -0
  20. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100931.txt +0 -0
  21. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106714.txt +0 -0
  22. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106715.txt +0 -0
  23. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106716.txt +0 -0
  24. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106717.txt +0 -0
  25. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106718.txt +0 -0
  26. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106930.txt +0 -0
  27. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106931.txt +0 -0
  28. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106932.txt +0 -0
  29. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106933.txt +0 -0
  30. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106934.txt +0 -0
  31. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106935.txt +0 -0
  32. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106936.txt +0 -0
  33. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106937.txt +0 -0
  34. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106938.txt +0 -0
  35. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106939.txt +0 -0
  36. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106940.txt +0 -0
  37. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106941.txt +0 -0
  38. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106942.txt +0 -0
  39. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106943.txt +0 -0
  40. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106994.txt +0 -0
  41. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106995.txt +0 -0
  42. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106996.txt +0 -0
  43. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106997.txt +0 -0
  44. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106998.txt +0 -0
  45. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106999.txt +0 -0
  46. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107000.txt +0 -0
  47. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107001.txt +0 -0
  48. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107002.txt +0 -0
  49. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107003.txt +0 -0
  50. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107004.txt +0 -0
  51. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107005.txt +0 -0
  52. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107006.txt +0 -0
  53. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107007.txt +0 -0
  54. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107008.txt +0 -0
  55. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107009.txt +0 -0
  56. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107010.txt +0 -0
  57. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107011.txt +0 -0
  58. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107012.txt +0 -0
  59. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107013.txt +0 -0
  60. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107014.txt +0 -0
  61. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107015.txt +0 -0
  62. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107016.txt +0 -0
  63. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107017.txt +0 -0
  64. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107018.txt +0 -0
  65. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107019.txt +0 -0
  66. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107020.txt +0 -0
  67. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107021.txt +0 -0
  68. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107022.txt +0 -0
  69. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107023.txt +0 -0
  70. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107024.txt +0 -0
  71. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107025.txt +0 -0
  72. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107026.txt +0 -0
  73. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107027.txt +0 -0
  74. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107028.txt +0 -0
  75. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107029.txt +0 -0
  76. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107030.txt +0 -0
  77. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107031.txt +0 -0
  78. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107032.txt +0 -0
  79. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107033.txt +0 -0
  80. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107034.txt +0 -0
  81. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107035.txt +0 -0
  82. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107036.txt +0 -0
  83. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107037.txt +0 -0
  84. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107038.txt +0 -0
  85. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107039.txt +0 -0
  86. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107040.txt +0 -0
  87. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107041.txt +0 -0
  88. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107042.txt +0 -0
  89. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107043.txt +0 -0
  90. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107044.txt +0 -0
  91. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107045.txt +0 -0
  92. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107046.txt +0 -0
  93. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107047.txt +0 -0
  94. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107048.txt +0 -0
  95. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107049.txt +0 -0
  96. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107050.txt +0 -0
  97. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107051.txt +0 -0
  98. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107052.txt +0 -0
  99. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107053.txt +0 -0
  100. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107054.txt +0 -0
  101. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107055.txt +0 -0
  102. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107056.txt +0 -0
  103. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107057.txt +0 -0
  104. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107058.txt +0 -0
  105. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107059.txt +0 -0
  106. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107060.txt +0 -0
  107. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107061.txt +0 -0
  108. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107062.txt +0 -0
  109. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107063.txt +0 -0
  110. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107064.txt +0 -0
  111. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107065.txt +0 -0
  112. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107066.txt +0 -0
  113. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107067.txt +0 -0
  114. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107068.txt +0 -0
  115. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107069.txt +0 -0
  116. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107070.txt +0 -0
  117. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107071.txt +0 -0
  118. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID115808.txt +0 -0
  119. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID115812.txt +0 -0
  120. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID146811.txt +0 -0
  121. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156831.txt +0 -0
  122. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156835.txt +0 -0
  123. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156839.txt +0 -0
  124. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156843.txt +0 -0
  125. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156847.txt +0 -0
  126. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156851.txt +0 -0
  127. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156855.txt +0 -0
  128. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156859.txt +0 -0
  129. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156863.txt +0 -0
  130. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156867.txt +0 -0
  131. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156871.txt +0 -0
  132. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156875.txt +0 -0
  133. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156879.txt +0 -0
  134. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156883.txt +0 -0
  135. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156887.txt +0 -0
  136. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/elements.txt +0 -0
  137. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/metadata.txt +0 -0
  138. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/data/ECA_non-blended_custom/sources.txt +0 -0
  139. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/objects.py +0 -0
  140. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/rendering.py +0 -0
  141. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/src/foragax/weather.py +0 -0
  142. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/tests/test_benchmark.py +0 -0
  143. {continual_foragax-0.37.0 → continual_foragax-0.38.0}/tests/test_registry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: continual-foragax
3
- Version: 0.37.0
3
+ Version: 0.38.0
4
4
  Summary: A continual reinforcement learning benchmark
5
5
  Author-email: Steven Tang <stang5@ualberta.ca>
6
6
  Requires-Python: >=3.8
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "continual-foragax"
3
- version = "0.37.0"
3
+ version = "0.38.0"
4
4
  description = "A continual reinforcement learning benchmark"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -30,7 +30,7 @@ build-backend = "setuptools.build_meta"
30
30
  [tool]
31
31
  [tool.commitizen]
32
32
  name = "cz_conventional_commits"
33
- version = "0.37.0"
33
+ version = "0.38.0"
34
34
  tag_format = "$version"
35
35
  version_files = ["pyproject.toml"]
36
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: continual-foragax
3
- Version: 0.37.0
3
+ Version: 0.38.0
4
4
  Summary: A continual reinforcement learning benchmark
5
5
  Author-email: Steven Tang <stang5@ualberta.ca>
6
6
  Requires-Python: >=3.8
@@ -132,6 +132,7 @@ class ForagaxEnv(environment.Environment):
132
132
  observation_type: str = "object",
133
133
  dynamic_biomes: bool = False,
134
134
  biome_consumption_threshold: float = 0.9,
135
+ dynamic_biome_spawn_empty: float = 0.0,
135
136
  max_expiries_per_step: int = 1,
136
137
  ):
137
138
  super().__init__()
@@ -156,6 +157,7 @@ class ForagaxEnv(environment.Environment):
156
157
  self.teleport_interval = teleport_interval
157
158
  self.dynamic_biomes = dynamic_biomes
158
159
  self.biome_consumption_threshold = biome_consumption_threshold
160
+ self.dynamic_biome_spawn_empty = dynamic_biome_spawn_empty
159
161
  if max_expiries_per_step < 1:
160
162
  raise ValueError("max_expiries_per_step must be at least 1")
161
163
  self.max_expiries_per_step = max_expiries_per_step
@@ -888,7 +890,7 @@ class ForagaxEnv(environment.Environment):
888
890
  biome_freqs = self.biome_object_frequencies[biome_idx]
889
891
  biome_mask = self.biome_masks_array[biome_idx]
890
892
 
891
- key, spawn_key, color_key, params_key = jax.random.split(key, 4)
893
+ key, spawn_key, color_key, params_key, dropout_key = jax.random.split(key, 5)
892
894
 
893
895
  # Generate object IDs using deterministic or random spawn
894
896
  if deterministic:
@@ -927,6 +929,13 @@ class ForagaxEnv(environment.Environment):
927
929
  jnp.searchsorted(cumulative_freqs, grid_rand, side="right") - 1
928
930
  )
929
931
 
932
+ # Apply random dropout if configured
933
+ if self.dynamic_biome_spawn_empty > 0:
934
+ dropout_mask = jax.random.bernoulli(
935
+ dropout_key, 1.0 - self.dynamic_biome_spawn_empty, object_grid.shape
936
+ )
937
+ object_grid = jnp.where(dropout_mask, object_grid, 0)
938
+
930
939
  # Initialize color grid
931
940
  color_grid = jnp.full((self.size[1], self.size[0], 3), 255, dtype=jnp.uint8)
932
941
 
@@ -143,6 +143,17 @@ ENV_CONFIGS: Dict[str, Dict[str, Any]] = {
143
143
  "dynamic_biomes": True,
144
144
  "biome_consumption_threshold": 1000,
145
145
  },
146
+ "ForagaxDiwali-v5": {
147
+ "size": (15, 15),
148
+ "aperture_size": None,
149
+ "objects": None,
150
+ "biomes": (Biome(start=(0, 0), stop=(15, 15), object_frequencies=(0.2,)),),
151
+ "nowrap": False,
152
+ "deterministic_spawn": True,
153
+ "dynamic_biomes": True,
154
+ "biome_consumption_threshold": 1000,
155
+ "dynamic_biome_spawn_empty": 0.1,
156
+ },
146
157
  "ForagaxTwoBiome-v1": {
147
158
  "size": (15, 15),
148
159
  "aperture_size": None,
@@ -597,6 +608,13 @@ def make(
597
608
  regen_delay=(9, 11),
598
609
  reward_repeat=100,
599
610
  )
611
+ if env_id == "ForagaxDiwali-v5":
612
+ config["objects"] = create_fourier_objects(
613
+ num_fourier_terms=10,
614
+ reward_delay=reward_delay,
615
+ regen_delay=(9, 11),
616
+ reward_repeat=100,
617
+ )[:1]
600
618
 
601
619
  if env_id == "ForagaxSineTwoBiome-v1":
602
620
  biome1_oyster, biome1_deathcap, biome2_oyster, biome2_deathcap = (
@@ -2811,13 +2811,14 @@ def test_fourier_reward_mathematical_properties():
2811
2811
  key = jax.random.key(42)
2812
2812
 
2813
2813
  # Create a simple single-term Fourier series: a1*cos(t) + b1*sin(t)
2814
+ # We use period=8.0 so that clock=1 corresponds to phase 2π/8 = π/4
2814
2815
  simple_params = jnp.array(
2815
2816
  [
2816
- 2 * jnp.pi,
2817
+ 8.0, # period
2817
2818
  -1.0,
2818
- 1.0, # period=2π, min=-1, max=1
2819
+ 1.0, # min=-1, max=1
2819
2820
  0.5,
2820
- 0.5, # a1=0.5, b1=0.5 (should give 0.5*(cos(t) + sin(t)))
2821
+ 0.5, # a1=0.5, b1=0.5
2821
2822
  0.0,
2822
2823
  0.0,
2823
2824
  0.0,
@@ -2828,7 +2829,8 @@ def test_fourier_reward_mathematical_properties():
2828
2829
  dtype=jnp.float32,
2829
2830
  )
2830
2831
 
2831
- # At t=0: 0.5*(cos(0) + sin(0)) = 0.5*(1 + 0) = 0.5
2832
+ # At t=0 (clock=0): phase=0
2833
+ # 0.5*(cos(0) + sin(0)) = 0.5*(1 + 0) = 0.5
2832
2834
  reward_t0_simple = fourier_obj.reward(0, key, simple_params)
2833
2835
  # The actual reward is normalized: 2*(raw - min)/(max - min) - 1, then * base_magnitude
2834
2836
  # raw = 0.5, min=-1, max=1, so: 2*(0.5 - (-1))/(1 - (-1)) - 1 = 2*(1.5)/2 - 1 = 1.5 - 1 = 0.5
@@ -2837,9 +2839,10 @@ def test_fourier_reward_mathematical_properties():
2837
2839
  f"Expected ~1.0, got {reward_t0_simple}"
2838
2840
  )
2839
2841
 
2840
- # At t=π/4: 0.5*(cos(π/4) + sin(π/4)) = 0.5*(0.707 + 0.707) = 0.5*1.414 ≈ 0.707
2842
+ # At t=1 (clock=1): phase = * 1/8 = π/4
2843
+ # 0.5*(cos(π/4) + sin(π/4)) = 0.5*(0.707 + 0.707) = 0.5*1.414 ≈ 0.707
2844
+ reward_t_quarter = fourier_obj.reward(1, key, simple_params)
2841
2845
  t_quarter = jnp.pi / 4
2842
- reward_t_quarter = fourier_obj.reward(t_quarter, key, simple_params)
2843
2846
  raw_quarter = 0.5 * (jnp.cos(t_quarter) + jnp.sin(t_quarter))
2844
2847
  expected_quarter = (
2845
2848
  2 * (raw_quarter - (-1)) / (1 - (-1)) - 1