tilemap-editor 3.2.9__tar.gz → 3.2.10__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-3.2.9/src/tilemap_editor.egg-info → tilemap_editor-3.2.10}/PKG-INFO +1 -1
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/pyproject.toml +1 -1
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10/src/tilemap_editor.egg-info}/PKG-INFO +1 -1
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/tile_selector.py +54 -8
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/LICENSE +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/MANIFEST.in +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/README.md +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/jetbrain-fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/noto/NotoSans-Bold.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/noto/NotoSans-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/noto/NotoSans-Italic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/noto/NotoSans-Regular.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/arrow-down.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/check.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/checked.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/close.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/duplicate.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/error.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/file.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/filedead.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/fit.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/folder.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/grid.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/image.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/info.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/load.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/loop.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/pan.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/pause.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/pencil.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/play.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/plus.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/radio.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/reset.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/save.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/stop.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/tilemap.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/tileset.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/unchecked.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/warning.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/zoomin.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/icons/zoomout.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/setup.cfg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/configs/themes.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/constants.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/event_map.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/layers.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/main.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/node_manager.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/nodes.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/models.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/protocols.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/shape_editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/standalone.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/models.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/protocols.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/standalone.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/__main__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/clipboard_util.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/frame_picker.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/models.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/preview.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/protocols.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/runtime_load.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/standalone.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/timeline.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_animation/validation.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_editor/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_editor/editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/sprite_editor/standalone.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/tileset_collision/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/tileset_collision/collision_painter.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/tileset_collision/editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/tileset_collision/models.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/tileset_collision/protocols.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/tileset_collision/standalone.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/standalone_automap.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/standalone_error_console.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/standalone_filemanager.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/standalone_image_viewer.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/__main__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/jetbrain-fonts/JetBrainsMono-Regular.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/noto/NotoSans-Bold.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/noto/NotoSans-BoldItalic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/noto/NotoSans-Italic.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/fonts/noto/NotoSans-Regular.ttf +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/ToolMove.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/arrow-down.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/check.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/checked.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/close.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/duplicate.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/error.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/file.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/filedead.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/fit.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/folder.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/grid.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/image.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/info.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/load.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/loop.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/pan.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/pause.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/pencil.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/play.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/plus.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/radio.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/reset.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/save.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/stop.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/tilemap.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/tileset.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/unchecked.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/warning.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/zoomin.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/zoomout.svg +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/cli.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/main.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/settings.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor.egg-info/SOURCES.txt +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor.egg-info/dependency_links.txt +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor.egg-info/entry_points.txt +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor.egg-info/requires.txt +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor.egg-info/top_level.txt +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/ttypes/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/ttypes/tilemap.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/editor_preference.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/error_handler.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/font_manager.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/history.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/icon_manager.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/icons_cache.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/log_capture.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/project_paths.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/serialization.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/standalone.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/utils/validation.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/__init__.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/automap_models.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/autotile_template.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/autotiler.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/filemanager.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/input.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/layer_selector.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/map_properties.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/mapsetup.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/regex_automap_designer.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/spritesheet_grid.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/tile_grid.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/collision_layer_mask.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/collision_layer_sidebar.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/confirm_dialog.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/draw_utils.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/fileinput.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/layer_type_dialog.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/menubar.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/mode_indicator.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/node_editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/node_selector.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/notification.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/property_editor.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/region_selector.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/status_bar.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/theme.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/tileset_type_dialog.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/toolbar.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/widgets/ui/tooltip.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_animation_library_grid_offset.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_collision_layer_mask.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_collision_layer_sidebar.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_editor_pan_mode.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_project_paths.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_render_scale.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_sprite_animation_editor_grid.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_tile_grid_selection.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_tile_selector_pick.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_tilemap_save.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_timeline_invalidate_cache.py +0 -0
- {tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/tests/test_toolbar_tools.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tilemap-editor"
|
|
7
|
-
version = "3.2.
|
|
7
|
+
version = "3.2.10"
|
|
8
8
|
description = "Pygame tilemap editor with SVG icons, professional UI, and sprite animation tools"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -46,6 +46,10 @@ class TileSelector:
|
|
|
46
46
|
x, y + self.top_bar_h, w, h - self.top_bar_h - self.btm_bar_h
|
|
47
47
|
)
|
|
48
48
|
self.tab_scroll_x = 0
|
|
49
|
+
arrow_h = self.top_bar_h - 4
|
|
50
|
+
arrow_y = y + (self.top_bar_h - arrow_h) // 2
|
|
51
|
+
self._tab_arrow_left = Rect(x + 2, arrow_y, 18, arrow_h)
|
|
52
|
+
self._tab_arrow_right = Rect(x + w - 20, arrow_y, 18, arrow_h)
|
|
49
53
|
self.is_panning = False
|
|
50
54
|
self.pan_start = (0, 0)
|
|
51
55
|
self.pan_start_offset = (0, 0)
|
|
@@ -86,6 +90,10 @@ class TileSelector:
|
|
|
86
90
|
self.btn_collision = Rect(x + w - 105, btn_y, 30, 30)
|
|
87
91
|
self.btn_add = Rect(x + w - 70, btn_y, 30, 30)
|
|
88
92
|
self.btn_rem = Rect(x + w - 35, btn_y, 30, 30)
|
|
93
|
+
arrow_h = self.top_bar_h - 4
|
|
94
|
+
arrow_y = y + (self.top_bar_h - arrow_h) // 2
|
|
95
|
+
self._tab_arrow_left = Rect(x + 2, arrow_y, 18, arrow_h)
|
|
96
|
+
self._tab_arrow_right = Rect(x + w - 20, arrow_y, 18, arrow_h)
|
|
89
97
|
|
|
90
98
|
def set_rule_hints(self, hints: Set[int]):
|
|
91
99
|
self.rule_hints = hints
|
|
@@ -179,6 +187,13 @@ class TileSelector:
|
|
|
179
187
|
return True
|
|
180
188
|
|
|
181
189
|
if self.rect.collidepoint(mouse_pos) and mouse_pos[1] < self.view_rect.top:
|
|
190
|
+
# Check arrow buttons first
|
|
191
|
+
if self._tab_arrow_left.collidepoint(mouse_pos):
|
|
192
|
+
self._scroll_tabs(100)
|
|
193
|
+
return True
|
|
194
|
+
if self._tab_arrow_right.collidepoint(mouse_pos):
|
|
195
|
+
self._scroll_tabs(-100)
|
|
196
|
+
return True
|
|
182
197
|
self.check_tab_click(mouse_pos)
|
|
183
198
|
return True
|
|
184
199
|
|
|
@@ -561,8 +576,8 @@ class TileSelector:
|
|
|
561
576
|
def _get_tab_at_pos(self, pos) -> Optional[int]:
|
|
562
577
|
if not self.tilesets:
|
|
563
578
|
return None
|
|
564
|
-
tab_w =
|
|
565
|
-
idx = (pos[0] - self.rect.x) // tab_w
|
|
579
|
+
tab_w = 100
|
|
580
|
+
idx = (pos[0] - self.rect.x + self.tab_scroll_x) // tab_w
|
|
566
581
|
if 0 <= idx < len(self.tilesets):
|
|
567
582
|
return int(idx)
|
|
568
583
|
return None
|
|
@@ -875,14 +890,19 @@ class TileSelector:
|
|
|
875
890
|
clip = screen.get_clip()
|
|
876
891
|
tab_area = Rect(self.rect.x, self.rect.y, self.rect.width, self.top_bar_h)
|
|
877
892
|
screen.set_clip(tab_area)
|
|
893
|
+
|
|
894
|
+
pygame.draw.rect(screen, COLORS.header, tab_area)
|
|
895
|
+
|
|
878
896
|
tab_w = 100
|
|
879
897
|
total_w = tab_w * len(self.tilesets)
|
|
880
|
-
|
|
898
|
+
has_overflow = total_w > self.rect.width
|
|
899
|
+
if has_overflow:
|
|
881
900
|
self.tab_scroll_x = max(
|
|
882
901
|
0, min(self.tab_scroll_x, total_w - self.rect.width)
|
|
883
902
|
)
|
|
884
903
|
else:
|
|
885
904
|
self.tab_scroll_x = 0
|
|
905
|
+
|
|
886
906
|
for i, ts in enumerate(self.tilesets):
|
|
887
907
|
r = Rect(
|
|
888
908
|
self.rect.x + i * tab_w - self.tab_scroll_x,
|
|
@@ -895,13 +915,25 @@ class TileSelector:
|
|
|
895
915
|
is_active = i == self.active_idx
|
|
896
916
|
col = COLORS.selected if is_active else COLORS.header
|
|
897
917
|
pygame.draw.rect(screen, col, r)
|
|
898
|
-
|
|
918
|
+
if not is_active:
|
|
919
|
+
pygame.draw.line(screen, COLORS.border, r.bottomleft, r.bottomright, 1)
|
|
899
920
|
t = ts.name[:8] + ".." if len(ts.name) > 10 else ts.name
|
|
900
921
|
screen.blit(self.font.render(t, True, COLORS.text), (r.x + 5, r.y + 5))
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
922
|
+
|
|
923
|
+
mx, my = pygame.mouse.get_pos()
|
|
924
|
+
show_arrows = has_overflow and tab_area.collidepoint(mx, my)
|
|
925
|
+
|
|
926
|
+
if show_arrows:
|
|
927
|
+
for arrow_rect, label in [
|
|
928
|
+
(self._tab_arrow_left, "<"),
|
|
929
|
+
(self._tab_arrow_right, ">"),
|
|
930
|
+
]:
|
|
931
|
+
pygame.draw.rect(screen, COLORS.selected, arrow_rect)
|
|
932
|
+
pygame.draw.rect(screen, COLORS.border, arrow_rect, 1)
|
|
933
|
+
arrow_surf = self.font.render(label, True, COLORS.text)
|
|
934
|
+
arrow_rect_text = arrow_surf.get_rect(center=arrow_rect.center)
|
|
935
|
+
screen.blit(arrow_surf, arrow_rect_text)
|
|
936
|
+
|
|
905
937
|
bar_w = max(30, int(self.rect.width * (self.rect.width / total_w)))
|
|
906
938
|
bar_x = self.rect.x + int(
|
|
907
939
|
(self.tab_scroll_x / (total_w - self.rect.width))
|
|
@@ -909,6 +941,20 @@ class TileSelector:
|
|
|
909
941
|
)
|
|
910
942
|
bar_rect = Rect(bar_x, self.rect.y + self.top_bar_h - 4, bar_w, 3)
|
|
911
943
|
pygame.draw.rect(screen, COLORS.border_soft, bar_rect, border_radius=2)
|
|
944
|
+
|
|
945
|
+
# Tooltip for tab name
|
|
946
|
+
if tab_area.collidepoint(mx, my) and not (
|
|
947
|
+
show_arrows and (
|
|
948
|
+
self._tab_arrow_left.collidepoint(mx, my) or
|
|
949
|
+
self._tab_arrow_right.collidepoint(mx, my)
|
|
950
|
+
)
|
|
951
|
+
):
|
|
952
|
+
idx = self._get_tab_at_pos((mx, my))
|
|
953
|
+
if idx is not None and 0 <= idx < len(self.tilesets):
|
|
954
|
+
self.editor.tooltip.show(
|
|
955
|
+
self.tilesets[idx].name, (mx + 10, my + 10)
|
|
956
|
+
)
|
|
957
|
+
|
|
912
958
|
screen.set_clip(clip)
|
|
913
959
|
|
|
914
960
|
def _scroll_tabs(self, delta: float):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/jetbrain-fonts/JetBrainsMono-Bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/assets/fonts/jetbrain-fonts/JetBrainsMono-Italic.ttf
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/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
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/shape_editor.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/character_collision/standalone.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/__init__.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/editor.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/models.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/protocols.py
RENAMED
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/plugins/object_tileset_collision/standalone.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/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
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/arrow-down.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/duplicate.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tilemap_editor-3.2.9 → tilemap_editor-3.2.10}/src/tilemap_editor/assets/icons/unchecked.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-3.2.9 → tilemap_editor-3.2.10}/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
|