miniworld-maze 1.2.0__tar.gz → 1.3.1__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 miniworld-maze might be problematic. Click here for more details.
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/PKG-INFO +1 -1
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/live_control_opencv.py +2 -2
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/save_topdown_views.py +15 -15
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/pyproject.toml +1 -1
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/base_env.py +3 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/unified_env.py +16 -14
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/base_grid_rooms.py +3 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/LICENSE +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/README.md +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/README.md +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/basic_usage.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/benchmark_rendering.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/generate_observations.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/examples/observation_level_demo.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/constants.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/README.md +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/entities/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/entities/agent.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/entities/base_entity.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/entities/objects.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/entity_manager.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/envs/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/math.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/objmesh.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/occlusion_queries.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/opengl.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/params.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/random.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/rendering/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/rendering/drawing.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/rendering/framebuffer.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/rendering/texture.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/rendering_engine.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/room.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/texture_utils.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/airduct_grate_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/asphalt_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/beanpaste_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/beige_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/black_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/blueberry_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/brick_wall_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/cardboard_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/cardboard_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/cardboard_3.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/cardboard_4.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/ceiling_tile_noborder_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/ceiling_tiles_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/cinder_blocks_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/cobaltgreen_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/concrete_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/concrete_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/concrete_3.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/concrete_4.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/concrete_tiles_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/copperred_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/crimson_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_doom_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_doom_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_garage_red.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_garage_white.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_steel_brown.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_steel_grey.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/door_steel_red.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/drywall_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/floor_tiles_bw_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/floor_tiles_white.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/grass_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/grass_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lava_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lava_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lemongrass_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lightbeige_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lightcobaltgreen_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lightgray_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lightnavyblue_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lightskyblue_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/lime_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/logo_mila_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/magenta_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/marble_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/marble_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/metal_grill_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/metal_grill_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/morningglory_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/navyblue_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/oakbrown_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/orange_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/orchid_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/picket_fence_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/adelaide_hanscom1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/adelaide_hanscom1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alessandro_allori1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alessandro_allori1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alessandro_allori2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alessandro_allori2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alexandre_cabanel1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alexandre_cabanel1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alexei_harlamov1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alexei_harlamov1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alexey_petrovich_antropov1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alexey_petrovich_antropov1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alice_pike_barney1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/alice_pike_barney1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/aman_theodor1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/aman_theodor1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/antonello_messina1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/antonello_messina1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/antonio_herrera_toro1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/antonio_herrera_toro1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/benjamin-constant1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/benjamin-constant1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/benoist_marie-guillemine1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/benoist_marie-guillemine1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/bouguereau_william-adolphe1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/bouguereau_william-adolphe1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/byron1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/byron1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/carl_fredric_breda1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/carl_fredric_breda1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/carl_fredric_breda2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/carl_fredric_breda2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/cramacj_lucas1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/cramacj_lucas1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/cranach_lucas2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/cranach_lucas2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/cristobal_rojas1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/cristobal_rojas1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/delacroix_eugene_ferdinand_victor1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/delacroix_eugene_ferdinand_victor1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/domenikos_theotokopoulos1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/domenikos_theotokopoulos1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/edmund_blair_leighton1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/edmund_blair_leighton1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/edmund_blair_leighton2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/edmund_blair_leighton2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/edwin_longsden_long1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/edwin_longsden_long1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/falero_luis_ricardo1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/falero_luis_ricardo1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/felix_bonfils1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/felix_bonfils1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francesco_hayez1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francesco_hayez1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francisco_goya_lucientes1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francisco_goya_lucientes1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francisco_goya_lucientes2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francisco_goya_lucientes2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francisco_zurbaran1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/francisco_zurbaran1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/franz_von_defregger1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/franz_von_defregger1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/franz_von_defregger2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/franz_von_defregger2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/franz_von_defregger3.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/franz_von_defregger3.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/frederic_westin1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/frederic_westin1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/frederic_yates1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/frederic_yates1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/frederick_leighton1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/frederick_leighton1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/gaston_bussiere1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/gaston_bussiere1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/george_henry_hall1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/george_henry_hall1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/giovanni_battista_tiepolo1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/giovanni_battista_tiepolo1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/giovanni_bellini1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/giovanni_bellini1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/hans_holbein1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/hans_holbein1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/hayez_francesco1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/hayez_francesco1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/henryk_siemiradzki1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/henryk_siemiradzki1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/ilja_jefimowitsch_repin1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/ilja_jefimowitsch_repin1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/james_carrol_beckwith1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/james_carrol_beckwith1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-baptiste-camille_corot1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-baptiste-camille_corot1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-baptiste-camille_corot2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-baptiste-camille_corot2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome3.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome3.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome4.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/jean-leon_gerome4.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/john_william_godward1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/john_william_godward1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/john_william_godward2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/john_william_godward2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/john_william_godward3.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/john_william_godward3.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/julije_klovic1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/julije_klovic1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/juriaen_streek1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/juriaen_streek1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/kiprenskij_orest_adamovic1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/kiprenskij_orest_adamovic1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/konstantin_makovsky1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/konstantin_makovsky1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/lefebvre_jules_joseph1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/lefebvre_jules_joseph1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/leon-francois_comerre1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/leon-francois_comerre1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/leopold_loffler1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/leopold_loffler1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/lewis_john_frederick1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/lewis_john_frederick1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/madrazo_garreta_raimundo1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/madrazo_garreta_raimundo1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/marie_bashkirtseff1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/marie_bashkirtseff1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/moritz_kellerhoven1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/moritz_kellerhoven1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/nathaniel_jocelyn1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/nathaniel_jocelyn1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/nikolai_alexandrowitsch_jaroschenko1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/nikolai_alexandrowitsch_jaroschenko1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/nils_johan_olsson_blommer1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/nils_johan_olsson_blommer1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/paolo_veronese1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/paolo_veronese1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/parmigianino1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/parmigianino1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/paul_cesar_helleu1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/paul_cesar_helleu1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/regnault_henri1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/regnault_henri1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/richard_bergh1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/richard_bergh1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/richard_bergh2.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/richard_bergh2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/robert_dampier1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/robert_dampier1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/robert_lefevre1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/robert_lefevre1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/robert_leopold1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/robert_leopold1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/sichel_nathanael1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/sichel_nathanael1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/svetoslav_roerich1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/svetoslav_roerich1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/velazquez_diego1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/velazquez_diego1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/viktor_vasnetsov1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/viktor_vasnetsov1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/william-adolphe_bouguereau1.license +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/portraits/william-adolphe_bouguereau1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/realblueberry_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/redbean_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/rock_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/seablue_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/silver_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/skyblue_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/slime_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/stucco_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/sunnyyellow_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/turquoise_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/violet_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/water_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/water_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/water_3.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/white_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/wood_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/wood_2.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/textures/wood_planks_1.png +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/utils.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/wrappers.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/observation_types.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/factory.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/nine_rooms.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/spiral_nine_rooms.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/twenty_five_rooms.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/tools/__init__.py +0 -0
- {miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: miniworld-maze
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: Multi-room maze environments from the DrStrategy paper. Provides NineRooms-v0, SpiralNineRooms-v0, and TwentyFiveRooms-v0 gymnasium environments.
|
|
5
5
|
Keywords: reinforcement-learning,environment,gymnasium,multi-room-maze,drstrategy,maze-navigation,partial-observability,3d-environments
|
|
6
6
|
Author: Tim Joseph
|
|
@@ -215,9 +215,9 @@ class OpenCVLiveController:
|
|
|
215
215
|
Returns:
|
|
216
216
|
BGR image array for OpenCV or None if failed
|
|
217
217
|
"""
|
|
218
|
-
if self.current_info is not None and
|
|
218
|
+
if self.current_info is not None and ObservationLevel.FIRST_PERSON in self.current_info:
|
|
219
219
|
# Get first person observation from info
|
|
220
|
-
obs_hwc = self.current_info[
|
|
220
|
+
obs_hwc = self.current_info[ObservationLevel.FIRST_PERSON]
|
|
221
221
|
|
|
222
222
|
# Convert RGB to BGR for OpenCV
|
|
223
223
|
obs_bgr = cv2.cvtColor(obs_hwc, cv2.COLOR_RGB2BGR)
|
|
@@ -8,12 +8,11 @@ This script demonstrates:
|
|
|
8
8
|
3. Executing 1000 random steps and visualizing agent trajectory on top-down view
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
-
from typing import List
|
|
11
|
+
from typing import List
|
|
12
12
|
import numpy as np
|
|
13
13
|
from PIL import Image
|
|
14
14
|
import gymnasium as gym
|
|
15
15
|
import matplotlib.pyplot as plt
|
|
16
|
-
import matplotlib.patches as patches
|
|
17
16
|
|
|
18
17
|
from miniworld_maze import ObservationLevel
|
|
19
18
|
import miniworld_maze # noqa: F401
|
|
@@ -24,10 +23,10 @@ def save_single_topdown_view(env: gym.Env) -> str:
|
|
|
24
23
|
print("🎯 Generating single top-down full view...")
|
|
25
24
|
|
|
26
25
|
# Reset environment to ensure consistent state
|
|
27
|
-
env.reset(seed=42)
|
|
26
|
+
_, info = env.reset(seed=42)
|
|
28
27
|
|
|
29
|
-
#
|
|
30
|
-
obs_image =
|
|
28
|
+
# Get top-down full view from info dict
|
|
29
|
+
obs_image = info[ObservationLevel.TOP_DOWN_FULL]
|
|
31
30
|
|
|
32
31
|
# Save the observation as PNG
|
|
33
32
|
filename = "single_topdown_view.png"
|
|
@@ -89,7 +88,7 @@ def collect_trajectory_and_visualize(env: gym.Env) -> str:
|
|
|
89
88
|
print("🔍 Collecting agent trajectory over 1000 random steps...")
|
|
90
89
|
|
|
91
90
|
# Reset environment
|
|
92
|
-
obs,
|
|
91
|
+
obs, info = env.reset(seed=42)
|
|
93
92
|
|
|
94
93
|
# Get scene extent from environment using the new public method
|
|
95
94
|
env_unwrapped = env.unwrapped
|
|
@@ -103,17 +102,17 @@ def collect_trajectory_and_visualize(env: gym.Env) -> str:
|
|
|
103
102
|
|
|
104
103
|
# Execute 1000 random steps
|
|
105
104
|
for step in range(1000):
|
|
106
|
-
#
|
|
107
|
-
agent_pos = env_unwrapped.agent.pos
|
|
108
|
-
trajectory_positions.append((agent_pos[0], agent_pos[2])) # x, z coordinates
|
|
109
|
-
|
|
110
|
-
# Take random action
|
|
105
|
+
# Take random action first to get info dict with position
|
|
111
106
|
action = env.action_space.sample()
|
|
112
|
-
|
|
107
|
+
_, _, terminated, truncated, info = env.step(action)
|
|
108
|
+
|
|
109
|
+
# Get current agent position from info dict
|
|
110
|
+
agent_pos = info["pos"]
|
|
111
|
+
trajectory_positions.append((agent_pos[0], agent_pos[1])) # x, z coordinates
|
|
113
112
|
|
|
114
113
|
# Reset if episode ended
|
|
115
114
|
if terminated or truncated:
|
|
116
|
-
obs,
|
|
115
|
+
obs, info = env.reset()
|
|
117
116
|
|
|
118
117
|
if (step + 1) % 200 == 0:
|
|
119
118
|
print(f" Completed {step + 1}/1000 steps")
|
|
@@ -122,7 +121,7 @@ def collect_trajectory_and_visualize(env: gym.Env) -> str:
|
|
|
122
121
|
|
|
123
122
|
# Get top-down view for background
|
|
124
123
|
env.reset(seed=42)
|
|
125
|
-
background_image =
|
|
124
|
+
background_image = env.unwrapped.render_top_view(POMDP=False)
|
|
126
125
|
|
|
127
126
|
# Create matplotlib figure
|
|
128
127
|
fig, ax = plt.subplots(1, 1, figsize=(12, 12))
|
|
@@ -175,12 +174,13 @@ def main() -> None:
|
|
|
175
174
|
print("🖼️ Top-Down View Generator")
|
|
176
175
|
print("=" * 50)
|
|
177
176
|
|
|
178
|
-
# Create a single environment instance
|
|
177
|
+
# Create a single environment instance with info_obs for top-down full view
|
|
179
178
|
env = gym.make(
|
|
180
179
|
"NineRooms-v0",
|
|
181
180
|
obs_level=ObservationLevel.TOP_DOWN_PARTIAL,
|
|
182
181
|
obs_width=256,
|
|
183
182
|
obs_height=256,
|
|
183
|
+
info_obs=[ObservationLevel.TOP_DOWN_FULL],
|
|
184
184
|
)
|
|
185
185
|
|
|
186
186
|
try:
|
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "miniworld-maze"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.3.1"
|
|
8
8
|
description = "Multi-room maze environments from the DrStrategy paper. Provides NineRooms-v0, SpiralNineRooms-v0, and TwentyFiveRooms-v0 gymnasium environments."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {file = "LICENSE"}
|
|
@@ -21,6 +21,7 @@ class MiniWorldEnv(UnifiedMiniWorldEnv):
|
|
|
21
21
|
window_height=600,
|
|
22
22
|
params=DEFAULT_PARAMS,
|
|
23
23
|
domain_rand=False,
|
|
24
|
+
render_mode=None,
|
|
24
25
|
):
|
|
25
26
|
"""
|
|
26
27
|
Initialize base MiniWorld environment.
|
|
@@ -33,6 +34,7 @@ class MiniWorldEnv(UnifiedMiniWorldEnv):
|
|
|
33
34
|
window_height: Window height for human rendering
|
|
34
35
|
params: Environment parameters for domain randomization
|
|
35
36
|
domain_rand: Whether to enable domain randomization
|
|
37
|
+
render_mode: Render mode ("human", "rgb_array", or None)
|
|
36
38
|
"""
|
|
37
39
|
# Mark this as a base environment (not custom) for background color handling
|
|
38
40
|
self._is_custom_env = False
|
|
@@ -49,4 +51,5 @@ class MiniWorldEnv(UnifiedMiniWorldEnv):
|
|
|
49
51
|
window_height=window_height,
|
|
50
52
|
params=params,
|
|
51
53
|
domain_rand=domain_rand,
|
|
54
|
+
render_mode=render_mode,
|
|
52
55
|
)
|
|
@@ -63,7 +63,7 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
63
63
|
both the enhanced features of CustomMiniWorldEnv and the legacy BaseEnv functionality.
|
|
64
64
|
"""
|
|
65
65
|
|
|
66
|
-
metadata = {"
|
|
66
|
+
metadata = {"render_modes": ["human", "rgb_array"], "video.frames_per_second": 30}
|
|
67
67
|
|
|
68
68
|
# Enumeration of possible actions
|
|
69
69
|
class Actions(IntEnum):
|
|
@@ -98,6 +98,7 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
98
98
|
params=DEFAULT_PARAMS,
|
|
99
99
|
domain_rand=False,
|
|
100
100
|
info_obs: Optional[List[ObservationLevel]] = None,
|
|
101
|
+
render_mode=None,
|
|
101
102
|
):
|
|
102
103
|
"""
|
|
103
104
|
Initialize unified MiniWorld environment.
|
|
@@ -114,6 +115,7 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
114
115
|
params: Environment parameters for domain randomization
|
|
115
116
|
domain_rand: Whether to enable domain randomization
|
|
116
117
|
info_obs: List of observation levels to include in info dictionary
|
|
118
|
+
render_mode: Render mode ("human", "rgb_array", or None)
|
|
117
119
|
"""
|
|
118
120
|
# Store configuration
|
|
119
121
|
self.obs_level = obs_level
|
|
@@ -123,6 +125,13 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
123
125
|
self.params = params
|
|
124
126
|
self.domain_rand = domain_rand
|
|
125
127
|
self.info_obs = info_obs
|
|
128
|
+
self.render_mode = render_mode
|
|
129
|
+
|
|
130
|
+
# Validate render_mode
|
|
131
|
+
if render_mode is not None and render_mode not in self.metadata["render_modes"]:
|
|
132
|
+
raise ValueError(
|
|
133
|
+
f"render_mode must be one of {self.metadata['render_modes']}, got {render_mode}"
|
|
134
|
+
)
|
|
126
135
|
|
|
127
136
|
# Setup action space
|
|
128
137
|
self._setup_action_space()
|
|
@@ -340,8 +349,8 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
340
349
|
for obs_level in self.info_obs:
|
|
341
350
|
# Generate observation with the specified level
|
|
342
351
|
info_obs = self._generate_observation(observation_level=obs_level)
|
|
343
|
-
# Use the observation level
|
|
344
|
-
info[
|
|
352
|
+
# Use the observation level enum as key
|
|
353
|
+
info[obs_level] = info_obs
|
|
345
354
|
|
|
346
355
|
# Return first observation with info dict for Gymnasium compatibility
|
|
347
356
|
return obs, info
|
|
@@ -575,19 +584,14 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
575
584
|
|
|
576
585
|
def _calculate_step_results(self, observation):
|
|
577
586
|
"""Calculate reward, termination, and info for step."""
|
|
578
|
-
# Generate topdown view for info if needed
|
|
579
|
-
topdown = None
|
|
580
|
-
if self.obs_level != 2: # Not TOP_DOWN_FULL
|
|
581
|
-
topdown = self.render_top_view(POMDP=False, frame_buffer=self.topdown_fb)
|
|
582
|
-
|
|
583
587
|
# Generate additional observations for info dictionary if specified
|
|
584
588
|
info = {}
|
|
585
589
|
if self.info_obs is not None:
|
|
586
590
|
for obs_level in self.info_obs:
|
|
587
591
|
# Generate observation with the specified level
|
|
588
592
|
info_obs = self._generate_observation(observation_level=obs_level)
|
|
589
|
-
# Use the observation level
|
|
590
|
-
info[
|
|
593
|
+
# Use the observation level enum as key
|
|
594
|
+
info[obs_level] = info_obs
|
|
591
595
|
|
|
592
596
|
# Check termination
|
|
593
597
|
if self.step_count >= self.max_episode_steps:
|
|
@@ -595,8 +599,7 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
595
599
|
reward = 0
|
|
596
600
|
info.update(
|
|
597
601
|
{
|
|
598
|
-
"pos": self.agent.pos,
|
|
599
|
-
"mdp_view": topdown if topdown is not None else observation,
|
|
602
|
+
"pos": np.array([self.agent.pos[0], self.agent.pos[2]]),
|
|
600
603
|
}
|
|
601
604
|
)
|
|
602
605
|
else:
|
|
@@ -604,8 +607,7 @@ class UnifiedMiniWorldEnv(gym.Env):
|
|
|
604
607
|
terminated = False
|
|
605
608
|
info.update(
|
|
606
609
|
{
|
|
607
|
-
"pos": self.agent.pos,
|
|
608
|
-
"mdp_view": topdown if topdown is not None else observation,
|
|
610
|
+
"pos": np.array([self.agent.pos[0], self.agent.pos[2]]),
|
|
609
611
|
}
|
|
610
612
|
)
|
|
611
613
|
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/environments/base_grid_rooms.py
RENAMED
|
@@ -46,6 +46,7 @@ class GridRoomsEnvironment(UnifiedMiniWorldEnv):
|
|
|
46
46
|
agent_mode: Optional[str] = None,
|
|
47
47
|
obs_width: int = DEFAULT_OBS_WIDTH,
|
|
48
48
|
obs_height: int = DEFAULT_OBS_HEIGHT,
|
|
49
|
+
render_mode=None,
|
|
49
50
|
**kwargs,
|
|
50
51
|
):
|
|
51
52
|
"""
|
|
@@ -64,6 +65,7 @@ class GridRoomsEnvironment(UnifiedMiniWorldEnv):
|
|
|
64
65
|
agent_mode: Agent rendering mode ('triangle', 'circle', 'empty')
|
|
65
66
|
obs_width: Observation width in pixels (defaults to DEFAULT_OBS_WIDTH)
|
|
66
67
|
obs_height: Observation height in pixels (defaults to DEFAULT_OBS_HEIGHT)
|
|
68
|
+
render_mode: Render mode ("human", "rgb_array", or None)
|
|
67
69
|
**kwargs: Additional arguments passed to parent class
|
|
68
70
|
"""
|
|
69
71
|
|
|
@@ -120,6 +122,7 @@ class GridRoomsEnvironment(UnifiedMiniWorldEnv):
|
|
|
120
122
|
agent_mode=self.agent_mode,
|
|
121
123
|
obs_width=obs_width,
|
|
122
124
|
obs_height=obs_height,
|
|
125
|
+
render_mode=render_mode,
|
|
123
126
|
**kwargs,
|
|
124
127
|
)
|
|
125
128
|
|
|
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
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/README.md
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
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/math.py
RENAMED
|
File without changes
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/objmesh.py
RENAMED
|
File without changes
|
|
File without changes
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/opengl.py
RENAMED
|
File without changes
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/params.py
RENAMED
|
File without changes
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/random.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{miniworld_maze-1.2.0 → miniworld_maze-1.3.1}/src/miniworld_maze/core/miniworld_gymnasium/room.py
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
|