tilemap-editor 4.3.2__tar.gz → 4.3.4__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.
- {tilemap_editor-4.3.2/src/tilemap_editor.egg-info → tilemap_editor-4.3.4}/PKG-INFO +1 -1
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/pyproject.toml +1 -1
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/layers.py +8 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap.py +4 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4/src/tilemap_editor.egg-info}/PKG-INFO +1 -1
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/layer_selector.py +47 -3
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_layers_autotile.py +45 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/LICENSE +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/MANIFEST.in +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/README.md +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/noto/NotoSans-Bold.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/noto/NotoSans-BoldItalic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/noto/NotoSans-Italic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/noto/NotoSans-Regular.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/arrow-down.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/check.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/checked.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/close.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/duplicate.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/error.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/file.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/filedead.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/fit.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/folder.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/grid.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/image.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/info.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/load.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/loop.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/onion.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/pan.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/pause.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/pencil.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/play.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/plus.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/radio.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/reset.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/save.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/skip-back.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/skip-forward.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/stop.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/tilemap.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/tileset.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/unchecked.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/warning.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/zoomin.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/icons/zoomout.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/setup.cfg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/constants.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/event_map.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/main.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/node_manager.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/nodes.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/models.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/protocols.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/shape_editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/standalone.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/models.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/protocols.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/standalone.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/__main__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/clipboard_util.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/frame_picker.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/models.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/preview.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/protocols.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/runtime_load.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/standalone.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/timeline.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/validation.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_editor/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_editor/dialogs.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_editor/editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_editor/region_export.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_editor/standalone.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/collision_painter.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/models.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/protocols.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/standalone.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/standalone_automap.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/standalone_error_console.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/standalone_filemanager.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/standalone_image_viewer.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/__main__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/noto/NotoSans-Bold.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/noto/NotoSans-BoldItalic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/noto/NotoSans-Italic.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/noto/NotoSans-Regular.ttf +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/ToolMove.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/arrow-down.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/check.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/checked.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/close.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/duplicate.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/error.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/file.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/filedead.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/fit.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/fold_down_arrow.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/folder.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/gear.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/grid.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/image.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/info.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/load.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/loop.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/miniobj.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/onion.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/pan.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/pause.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/pencil.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/play.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/plus.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/radio.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/reset.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/save.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/skip-back.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/skip-forward.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/stop.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/tilemap.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/tileset.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/unchecked.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/unfold_right_arrow.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/warning.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/zoomin.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/zoomout.svg +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/cli.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/main.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/settings.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor.egg-info/SOURCES.txt +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor.egg-info/dependency_links.txt +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor.egg-info/entry_points.txt +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor.egg-info/requires.txt +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor.egg-info/top_level.txt +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/ttypes/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/ttypes/tilemap.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/editor_preference.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/error_handler.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/font_manager.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/history.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/icon_manager.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/icons_cache.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/log_capture.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/project_paths.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/serialization.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/standalone.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/utils/validation.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/__init__.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/automap_models.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/autotile_template.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/autotiler.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/filemanager.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/input.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/map_properties.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/mapsetup.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/particle_presets.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/particle_system.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/regex_automap_designer.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/spritesheet_grid.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/tile_grid.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/tile_selector.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/button.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/checkbox.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/collision_layer_mask.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/collision_layer_sidebar.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/confirm_dialog.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/dialog_base.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/drag_tracker.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/draw_utils.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/fileinput.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/label.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/layer_type_dialog.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/menubar.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/mode_indicator.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/node_editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/node_selector.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/notification.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/particle_config_dialog.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/property_editor.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/region_selector.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/scrollbar.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/sidebar_container.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/splitter.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/status_bar.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/theme.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/tileset_type_dialog.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/toast.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/tool_manager.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/toolbar.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/tooltip.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/ui/tree_widget.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/widgets/widget_base.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_animation_library_grid_offset.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_collision_layer_mask.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_collision_layer_sidebar.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_drag_tracker.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_editor_pan_mode.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_gid_collision.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_project_paths.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_render_scale.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_serialization_regression.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_sprite_animation_editor_grid.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_tile_grid_selection.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_tile_selector_pick.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_tilemap_save.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_timeline_invalidate_cache.py +0 -0
- {tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/tests/test_toolbar_tools.py +0 -0
|
@@ -27,6 +27,8 @@ class Layer:
|
|
|
27
27
|
visible: bool = True,
|
|
28
28
|
locked: bool = False,
|
|
29
29
|
opacity: float = 1.0,
|
|
30
|
+
y_sort: bool = False,
|
|
31
|
+
y_sort_origin: int = 0,
|
|
30
32
|
):
|
|
31
33
|
self.name = name
|
|
32
34
|
self.layer_type = layer_type
|
|
@@ -34,6 +36,8 @@ class Layer:
|
|
|
34
36
|
self.visible = visible
|
|
35
37
|
self.locked = locked
|
|
36
38
|
self.opacity = max(0.0, min(1.0, opacity))
|
|
39
|
+
self.y_sort = y_sort
|
|
40
|
+
self.y_sort_origin = y_sort_origin
|
|
37
41
|
self.properties: dict[str, Any] = {}
|
|
38
42
|
|
|
39
43
|
self.tiles: dict[tuple[int, int], TypeTile] = {}
|
|
@@ -303,6 +307,8 @@ class Layer:
|
|
|
303
307
|
"visible": self.visible,
|
|
304
308
|
"locked": self.locked,
|
|
305
309
|
"opacity": self.opacity,
|
|
310
|
+
"y_sort": self.y_sort,
|
|
311
|
+
"y_sort_origin": self.y_sort_origin,
|
|
306
312
|
}
|
|
307
313
|
|
|
308
314
|
if self.tiles:
|
|
@@ -331,6 +337,8 @@ class Layer:
|
|
|
331
337
|
visible=data.get("visible", True),
|
|
332
338
|
locked=data.get("locked", False),
|
|
333
339
|
opacity=data.get("opacity", 1.0),
|
|
340
|
+
y_sort=data.get("y_sort", False),
|
|
341
|
+
y_sort_origin=data.get("y_sort_origin", 0),
|
|
334
342
|
)
|
|
335
343
|
|
|
336
344
|
if "tiles" in data:
|
|
@@ -331,6 +331,8 @@ class Tilemap:
|
|
|
331
331
|
"locked": layer.locked,
|
|
332
332
|
"opacity": layer.opacity,
|
|
333
333
|
"z_index": layer.z_index,
|
|
334
|
+
"y_sort": layer.y_sort,
|
|
335
|
+
"y_sort_origin": layer.y_sort_origin,
|
|
334
336
|
"tiles": {},
|
|
335
337
|
}
|
|
336
338
|
|
|
@@ -674,6 +676,8 @@ class Tilemap:
|
|
|
674
676
|
visible=layer_data.get("visible", True),
|
|
675
677
|
locked=layer_data.get("locked", False),
|
|
676
678
|
opacity=layer_data.get("opacity", 1.0),
|
|
679
|
+
y_sort=layer_data.get("y_sort", False),
|
|
680
|
+
y_sort_origin=layer_data.get("y_sort_origin", 0),
|
|
677
681
|
)
|
|
678
682
|
layer.properties = layer_data.get("properties", {})
|
|
679
683
|
|
|
@@ -109,6 +109,15 @@ class LayerSelector:
|
|
|
109
109
|
layer.locked = not layer.locked
|
|
110
110
|
return True
|
|
111
111
|
|
|
112
|
+
ysort_rect = self._get_ysort_icon_rect(layer_idx)
|
|
113
|
+
if ysort_rect and ysort_rect.collidepoint(mouse_pos):
|
|
114
|
+
layer = self.editor.tilemap.layer_manager.get_layer(
|
|
115
|
+
layer_idx
|
|
116
|
+
)
|
|
117
|
+
if layer:
|
|
118
|
+
layer.y_sort = not layer.y_sort
|
|
119
|
+
return True
|
|
120
|
+
|
|
112
121
|
opacity_rect = self._get_opacity_bar_rect(layer_idx)
|
|
113
122
|
if opacity_rect and opacity_rect.collidepoint(mouse_pos):
|
|
114
123
|
layer = self.editor.tilemap.layer_manager.get_layer(
|
|
@@ -269,6 +278,27 @@ class LayerSelector:
|
|
|
269
278
|
bar_y = item_y + self.item_h - bar_h - 3
|
|
270
279
|
return Rect(bar_x, bar_y, bar_w, bar_h)
|
|
271
280
|
|
|
281
|
+
def _get_ysort_icon_rect(self, layer_idx: int) -> Rect | None:
|
|
282
|
+
"""Get the clickable rect for the y-sort toggle of a layer."""
|
|
283
|
+
if layer_idx is None:
|
|
284
|
+
return None
|
|
285
|
+
|
|
286
|
+
item_y = self.list_rect.y + (layer_idx * self.item_h) - self.scroll_offset
|
|
287
|
+
|
|
288
|
+
if item_y + self.item_h < self.list_rect.y or item_y > self.list_rect.bottom:
|
|
289
|
+
return None
|
|
290
|
+
|
|
291
|
+
item_rect = Rect(
|
|
292
|
+
self.list_rect.x,
|
|
293
|
+
item_y,
|
|
294
|
+
self.list_rect.width,
|
|
295
|
+
self.item_h,
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
ysort_x = item_rect.x + 5
|
|
299
|
+
ysort_y = item_rect.y + 4
|
|
300
|
+
return Rect(ysort_x, ysort_y, 12, 20)
|
|
301
|
+
|
|
272
302
|
def _get_eye_icon_rect(self, layer_idx: int, mouse_pos) -> Rect | None:
|
|
273
303
|
"""Get the clickable rect for the eye icon of a layer."""
|
|
274
304
|
if layer_idx is None:
|
|
@@ -435,16 +465,20 @@ class LayerSelector:
|
|
|
435
465
|
mx, my = pygame.mouse.get_pos()
|
|
436
466
|
eye_rect = self._get_eye_icon_rect(i, (mx, my))
|
|
437
467
|
lock_rect = self._get_lock_icon_rect(i, (mx, my))
|
|
468
|
+
ysort_rect = self._get_ysort_icon_rect(i)
|
|
438
469
|
if eye_rect and eye_rect.collidepoint(mx, my):
|
|
439
470
|
self.editor.tooltip.show("Toggle Visibility", (mx + 10, my + 10))
|
|
440
471
|
elif lock_rect and lock_rect.collidepoint(mx, my):
|
|
441
472
|
self.editor.tooltip.show("Toggle Lock", (mx + 10, my + 10))
|
|
473
|
+
elif ysort_rect and ysort_rect.collidepoint(mx, my):
|
|
474
|
+
label = "On" if layer.y_sort else "Off"
|
|
475
|
+
self.editor.tooltip.show(f"Y-Sort: {label}", (mx + 10, my + 10))
|
|
442
476
|
|
|
443
477
|
if i == self.renaming_layer_idx:
|
|
444
478
|
pygame.draw.rect(
|
|
445
479
|
screen,
|
|
446
480
|
COLORS.selected,
|
|
447
|
-
Rect(item_rect.x +
|
|
481
|
+
Rect(item_rect.x + 22, item_rect.y + 4, 120, 20),
|
|
448
482
|
border_radius=SHAPE.radius_sm,
|
|
449
483
|
)
|
|
450
484
|
name_txt = self.font_layer.render(
|
|
@@ -452,7 +486,7 @@ class LayerSelector:
|
|
|
452
486
|
)
|
|
453
487
|
else:
|
|
454
488
|
name_txt = self.font_layer.render(layer.name, True, COLORS.text)
|
|
455
|
-
screen.blit(name_txt, (item_rect.x +
|
|
489
|
+
screen.blit(name_txt, (item_rect.x + 22, item_rect.y + 5))
|
|
456
490
|
|
|
457
491
|
opacity_bar = self._get_opacity_bar_rect(i)
|
|
458
492
|
if opacity_bar:
|
|
@@ -508,6 +542,16 @@ class LayerSelector:
|
|
|
508
542
|
screen, COLORS.text_muted, Rect(lock_x - 4, lock_y - 4, 8, 8), 1
|
|
509
543
|
)
|
|
510
544
|
|
|
545
|
+
ysort_rect = self._get_ysort_icon_rect(i)
|
|
546
|
+
if ysort_rect:
|
|
547
|
+
ysort_color = COLORS.accent if layer.y_sort else COLORS.text_dim
|
|
548
|
+
pygame.draw.rect(
|
|
549
|
+
screen, ysort_color, ysort_rect,
|
|
550
|
+
border_radius=SHAPE.radius_sm,
|
|
551
|
+
)
|
|
552
|
+
ysort_txt = self.font_layer.render("Y", True, COLORS.text)
|
|
553
|
+
screen.blit(ysort_txt, (ysort_rect.x + 3, ysort_rect.y + 3))
|
|
554
|
+
|
|
511
555
|
if self.dragging_layer_idx is not None:
|
|
512
556
|
mouse_y = pygame.mouse.get_pos()[1]
|
|
513
557
|
dragging_layer = layer_manager.layers[self.dragging_layer_idx]
|
|
@@ -525,7 +569,7 @@ class LayerSelector:
|
|
|
525
569
|
screen.blit(drag_surf, preview_rect)
|
|
526
570
|
|
|
527
571
|
name_txt = self.font_layer.render(dragging_layer.name, True, COLORS.text)
|
|
528
|
-
screen.blit(name_txt, (preview_rect.x +
|
|
572
|
+
screen.blit(name_txt, (preview_rect.x + 22, preview_rect.y + 5))
|
|
529
573
|
|
|
530
574
|
pygame.draw.rect(screen, (150, 150, 255), preview_rect, 2)
|
|
531
575
|
|
|
@@ -1018,3 +1018,48 @@ class TestPropagation:
|
|
|
1018
1018
|
changes = layer._autotile_tiles([solo, top], [(5, 5)])
|
|
1019
1019
|
assert changes == 1
|
|
1020
1020
|
assert layer.tiles[(5, 5)]["variant"] == 1
|
|
1021
|
+
|
|
1022
|
+
|
|
1023
|
+
class TestLayerYSort:
|
|
1024
|
+
def test_default_is_false(self):
|
|
1025
|
+
layer = Layer("test")
|
|
1026
|
+
assert layer.y_sort is False
|
|
1027
|
+
|
|
1028
|
+
def test_to_dict_includes_y_sort(self):
|
|
1029
|
+
layer = Layer("test", layer_type="tile")
|
|
1030
|
+
layer.y_sort = True
|
|
1031
|
+
data = layer.to_dict()
|
|
1032
|
+
assert data["y_sort"] is True
|
|
1033
|
+
|
|
1034
|
+
def test_from_dict_reads_y_sort(self):
|
|
1035
|
+
layer = Layer.from_dict({"name": "test", "type": "tile", "y_sort": True})
|
|
1036
|
+
assert layer.y_sort is True
|
|
1037
|
+
|
|
1038
|
+
def test_from_dict_defaults_false(self):
|
|
1039
|
+
layer = Layer.from_dict({"name": "test", "type": "tile"})
|
|
1040
|
+
assert layer.y_sort is False
|
|
1041
|
+
|
|
1042
|
+
def test_roundtrip(self):
|
|
1043
|
+
layer = Layer("bushes", layer_type="tile", y_sort=True)
|
|
1044
|
+
data = layer.to_dict()
|
|
1045
|
+
restored = Layer.from_dict(data)
|
|
1046
|
+
assert restored.y_sort is True
|
|
1047
|
+
assert restored.name == "bushes"
|
|
1048
|
+
|
|
1049
|
+
def test_y_sort_origin_defaults_to_zero(self):
|
|
1050
|
+
layer = Layer("test")
|
|
1051
|
+
assert layer.y_sort_origin == 0
|
|
1052
|
+
|
|
1053
|
+
def test_to_dict_includes_y_sort_origin(self):
|
|
1054
|
+
layer = Layer("test", y_sort_origin=16)
|
|
1055
|
+
data = layer.to_dict()
|
|
1056
|
+
assert data["y_sort_origin"] == 16
|
|
1057
|
+
|
|
1058
|
+
def test_from_dict_reads_y_sort_origin(self):
|
|
1059
|
+
layer = Layer.from_dict({"name": "test", "type": "tile", "y_sort_origin": 32})
|
|
1060
|
+
assert layer.y_sort_origin == 32
|
|
1061
|
+
|
|
1062
|
+
def test_y_sort_origin_roundtrip(self):
|
|
1063
|
+
layer = Layer("test", y_sort=True, y_sort_origin=24)
|
|
1064
|
+
restored = Layer.from_dict(layer.to_dict())
|
|
1065
|
+
assert restored.y_sort_origin == 24
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf
RENAMED
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf
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
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/character_collision/shape_editor.py
RENAMED
|
File without changes
|
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/__init__.py
RENAMED
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/editor.py
RENAMED
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/models.py
RENAMED
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/protocols.py
RENAMED
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/object_tileset_collision/standalone.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/sprite_animation/clipboard_util.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
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/plugins/tileset_collision/collision_painter.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
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/fonts/noto/NotoSans-Bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/arrow-down.svg
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
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/fold_down_arrow.svg
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
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/skip-forward.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor/assets/icons/unfold_right_arrow.svg
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
|
{tilemap_editor-4.3.2 → tilemap_editor-4.3.4}/src/tilemap_editor.egg-info/dependency_links.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
|