continual-foragax 0.38.0__tar.gz → 0.39.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.
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/PKG-INFO +1 -1
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/pyproject.toml +2 -2
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/PKG-INFO +1 -1
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/env.py +45 -19
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/registry.py +2 -2
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/README.md +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/setup.cfg +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/SOURCES.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/dependency_links.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/entry_points.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/requires.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/top_level.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/__init__.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/colors.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100897.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100928.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100929.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100930.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100931.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106714.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106715.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106716.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106717.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106718.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106930.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106931.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106932.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106933.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106934.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106935.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106936.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106937.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106938.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106939.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106940.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106941.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106942.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106943.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106994.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106995.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106996.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106997.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106998.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106999.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107000.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107001.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107002.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107003.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107004.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107005.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107006.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107007.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107008.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107009.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107010.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107011.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107012.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107013.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107014.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107015.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107016.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107017.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107018.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107019.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107020.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107021.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107022.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107023.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107024.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107025.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107026.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107027.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107028.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107029.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107030.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107031.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107032.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107033.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107034.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107035.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107036.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107037.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107038.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107039.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107040.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107041.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107042.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107043.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107044.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107045.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107046.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107047.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107048.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107049.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107050.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107051.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107052.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107053.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107054.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107055.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107056.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107057.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107058.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107059.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107060.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107061.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107062.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107063.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107064.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107065.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107066.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107067.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107068.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107069.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107070.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107071.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID115808.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID115812.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID146811.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156831.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156835.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156839.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156843.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156847.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156851.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156855.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156859.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156863.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156867.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156871.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156875.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156879.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156883.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156887.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/elements.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/metadata.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/data/ECA_non-blended_custom/sources.txt +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/objects.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/rendering.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/foragax/weather.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/tests/test_benchmark.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/tests/test_foragax.py +0 -0
- {continual_foragax-0.38.0 → continual_foragax-0.39.0}/tests/test_registry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "continual-foragax"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.39.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.
|
|
33
|
+
version = "0.39.0"
|
|
34
34
|
tag_format = "$version"
|
|
35
35
|
version_files = ["pyproject.toml"]
|
|
36
36
|
|
|
@@ -774,20 +774,53 @@ class ForagaxEnv(environment.Environment):
|
|
|
774
774
|
biome_mask = self.biome_masks_array[i]
|
|
775
775
|
new_gen_value = new_biome_state.generation[i]
|
|
776
776
|
|
|
777
|
-
#
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
777
|
+
# Update mask: biome area AND needs respawn
|
|
778
|
+
should_update = biome_mask & should_respawn[i][..., None]
|
|
779
|
+
|
|
780
|
+
# 1. Merge: Overwrite with new objects if present, otherwise keep existing
|
|
781
|
+
# If the new spawn has an object, we take it. If it's empty, we keep whatever was there.
|
|
782
|
+
new_spawn_valid = all_new_objects[i] > 0
|
|
781
783
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
784
|
+
merged_objs = jnp.where(new_spawn_valid, all_new_objects[i], new_obj_id)
|
|
785
|
+
merged_colors = jnp.where(
|
|
786
|
+
new_spawn_valid[..., None], all_new_colors[i], new_color
|
|
785
787
|
)
|
|
786
|
-
|
|
787
|
-
|
|
788
|
+
merged_params = jnp.where(
|
|
789
|
+
new_spawn_valid[..., None], all_new_params[i], new_params
|
|
788
790
|
)
|
|
789
|
-
|
|
790
|
-
|
|
791
|
+
|
|
792
|
+
# For generation/spawn time, update only if we took the NEW object
|
|
793
|
+
merged_gen = jnp.where(new_spawn_valid, new_gen_value, new_gen)
|
|
794
|
+
merged_spawn = jnp.where(new_spawn_valid, current_time, new_spawn)
|
|
795
|
+
|
|
796
|
+
# 2. Apply dropout to the MERGED result (only where we are allowed to update)
|
|
797
|
+
if self.dynamic_biome_spawn_empty > 0:
|
|
798
|
+
key, dropout_key = jax.random.split(key)
|
|
799
|
+
# Dropout applies only to cells that are both in the biome AND need updating
|
|
800
|
+
keep_mask = jax.random.bernoulli(
|
|
801
|
+
dropout_key, 1.0 - self.dynamic_biome_spawn_empty, merged_objs.shape
|
|
802
|
+
)
|
|
803
|
+
# Only apply dropout where should_update is true; elsewhere, keep merged_objs
|
|
804
|
+
dropout_mask = should_update & keep_mask
|
|
805
|
+
# Apply dropout only to the merged result and associated metadata
|
|
806
|
+
final_objs = jnp.where(dropout_mask, merged_objs, 0)
|
|
807
|
+
final_colors = jnp.where(dropout_mask[..., None], merged_colors, 0)
|
|
808
|
+
final_params = jnp.where(dropout_mask[..., None], merged_params, 0)
|
|
809
|
+
final_gen = jnp.where(dropout_mask, merged_gen, 0)
|
|
810
|
+
final_spawn = jnp.where(dropout_mask, merged_spawn, 0)
|
|
811
|
+
else:
|
|
812
|
+
final_objs = merged_objs
|
|
813
|
+
final_colors = merged_colors
|
|
814
|
+
final_params = merged_params
|
|
815
|
+
final_gen = merged_gen
|
|
816
|
+
final_spawn = merged_spawn
|
|
817
|
+
|
|
818
|
+
# 3. Write back: Only update where should_update is true
|
|
819
|
+
new_obj_id = jnp.where(should_update, final_objs, new_obj_id)
|
|
820
|
+
new_color = jnp.where(should_update[..., None], final_colors, new_color)
|
|
821
|
+
new_params = jnp.where(should_update[..., None], final_params, new_params)
|
|
822
|
+
new_gen = jnp.where(should_update, final_gen, new_gen)
|
|
823
|
+
new_spawn = jnp.where(should_update, final_spawn, new_spawn)
|
|
791
824
|
|
|
792
825
|
# Clear timers in respawning biomes
|
|
793
826
|
new_respawn_timer = object_state.respawn_timer
|
|
@@ -890,7 +923,7 @@ class ForagaxEnv(environment.Environment):
|
|
|
890
923
|
biome_freqs = self.biome_object_frequencies[biome_idx]
|
|
891
924
|
biome_mask = self.biome_masks_array[biome_idx]
|
|
892
925
|
|
|
893
|
-
key, spawn_key, color_key, params_key
|
|
926
|
+
key, spawn_key, color_key, params_key = jax.random.split(key, 4)
|
|
894
927
|
|
|
895
928
|
# Generate object IDs using deterministic or random spawn
|
|
896
929
|
if deterministic:
|
|
@@ -929,13 +962,6 @@ class ForagaxEnv(environment.Environment):
|
|
|
929
962
|
jnp.searchsorted(cumulative_freqs, grid_rand, side="right") - 1
|
|
930
963
|
)
|
|
931
964
|
|
|
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
|
-
|
|
939
965
|
# Initialize color grid
|
|
940
966
|
color_grid = jnp.full((self.size[1], self.size[0], 3), 255, dtype=jnp.uint8)
|
|
941
967
|
|
|
@@ -147,12 +147,12 @@ ENV_CONFIGS: Dict[str, Dict[str, Any]] = {
|
|
|
147
147
|
"size": (15, 15),
|
|
148
148
|
"aperture_size": None,
|
|
149
149
|
"objects": None,
|
|
150
|
-
"biomes": (Biome(start=(0, 0), stop=(15, 15), object_frequencies=(0.
|
|
150
|
+
"biomes": (Biome(start=(0, 0), stop=(15, 15), object_frequencies=(0.4,)),),
|
|
151
151
|
"nowrap": False,
|
|
152
152
|
"deterministic_spawn": True,
|
|
153
153
|
"dynamic_biomes": True,
|
|
154
154
|
"biome_consumption_threshold": 1000,
|
|
155
|
-
"dynamic_biome_spawn_empty": 0.
|
|
155
|
+
"dynamic_biome_spawn_empty": 0.4,
|
|
156
156
|
},
|
|
157
157
|
"ForagaxTwoBiome-v1": {
|
|
158
158
|
"size": (15, 15),
|
|
File without changes
|
|
File without changes
|
{continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/requires.txt
RENAMED
|
File without changes
|
{continual_foragax-0.38.0 → continual_foragax-0.39.0}/src/continual_foragax.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|