Compare commits

...

131 Commits

Author SHA1 Message Date
GriffinR
6a982402d9 Update manual
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.*) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-12-26 21:46:48 -05:00
GriffinR
6c0da12424 Update macOS intel download links 2025-12-26 16:19:46 -05:00
GriffinR
3479d09ac5 Release 6.3.0 2025-12-26 16:05:49 -05:00
GriffinR
df98d62339 Add unlockable icon 2025-12-26 15:34:31 -05:00
GriffinR
dcef773a33 Fix resizing issue on Metatiles panel
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.*) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-12-24 11:17:44 -05:00
GriffinR
7719eaf546 Fix some error formatting
Some checks are pending
Build Porymap / build-linux (5.14.2) (push) Waiting to run
Build Porymap / build-linux (6.8.*) (push) Waiting to run
Build Porymap / build-macos (macos-15-intel) (push) Waiting to run
Build Porymap / build-macos (macos-latest) (push) Waiting to run
Build Porymap / build-static-windows (push) Waiting to run
2025-12-23 12:30:16 -05:00
GriffinR
53bea222cc Fix new tileset directory collisions 2025-12-23 12:30:12 -05:00
GriffinR
57976c316b Merge branch 'master' of https://github.com/huderlem/porymap into dev
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.*) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-12-04 22:42:37 -05:00
GriffinR
6ffabb8adf Silence unused result warnings for QFile::open
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.*) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-12-04 22:29:24 -05:00
GriffinR
47a4e343af Bump Qt release version to support macOS 26 2025-12-04 22:29:10 -05:00
GriffinR
e186fd39f2 Remove unnecessary QGraphicsScene/item tracking from Tileset Editor
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-11-27 00:42:42 -05:00
GriffinR
0c6f901393 Fix missing negative bound when painting tiles 2025-11-26 22:52:18 -05:00
GriffinR
d59b24bd6f Avoid potential crash if file watching resources are exhausted
Some checks are pending
Build Porymap / build-linux (5.14.2) (push) Waiting to run
Build Porymap / build-linux (6.8.2) (push) Waiting to run
Build Porymap / build-macos (macos-15-intel) (push) Waiting to run
Build Porymap / build-macos (macos-latest) (push) Waiting to run
Build Porymap / build-static-windows (push) Waiting to run
2025-11-26 17:32:47 -05:00
GriffinR
9bdb25e10d Add setting to disable loading screen
Some checks are pending
Build Porymap / build-linux (5.14.2) (push) Waiting to run
Build Porymap / build-linux (6.8.2) (push) Waiting to run
Build Porymap / build-macos (macos-15-intel) (push) Waiting to run
Build Porymap / build-macos (macos-latest) (push) Waiting to run
Build Porymap / build-static-windows (push) Waiting to run
2025-11-25 23:07:10 -05:00
GriffinR
a20f14b93d Track metatile in MetatileLayersItem using ID instead of pointer 2025-11-25 16:39:13 -05:00
GriffinR
c7e417b044 Fix some QPointers not clearing promptly in Qt5
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-11-23 22:52:50 -05:00
GriffinR
e02ec2b695 Compatibility fixes for older compilers 2025-11-23 22:50:51 -05:00
GriffinR
ea8de4df76 Fix potential out of bounds map layout read
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-11-22 14:05:24 -05:00
GriffinR
97bf444b64 Fix the project version check not trusting the user's repo for some git versions
Some checks are pending
Build Porymap / build-linux (5.14.2) (push) Waiting to run
Build Porymap / build-linux (6.8.2) (push) Waiting to run
Build Porymap / build-macos (macos-15-intel) (push) Waiting to run
Build Porymap / build-macos (macos-latest) (push) Waiting to run
Build Porymap / build-static-windows (push) Waiting to run
2025-11-21 18:00:33 -05:00
GriffinR
5f6246b394 Fix map connection image exporting
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-11-16 20:40:39 -05:00
GriffinR
948aaeb2bf Fix map image export regression 2025-11-16 20:25:10 -05:00
GriffinR
79e935f8ac Fix middle button pan on Connections tab
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-11-14 22:29:21 -05:00
GriffinR
9f71023863 Remove deprecated functions from new pan shortcut 2025-11-14 21:50:38 -05:00
Marcus Huderle
66f26ab057 bucket fill shortcut is now Alt key
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-10-26 18:01:20 -05:00
GriffinR
1987fe64e8 Merge branch 'master' of https://github.com/huderlem/porymap into dev
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-10-19 22:12:37 -04:00
GriffinR
13a0b17baa Bump deprecated version for macOS intel runner
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled
2025-10-19 22:11:13 -04:00
GriffinR
543b7fa74e Update changelog 2025-10-07 08:51:25 -04:00
GriffinR
7d9cc8fa5d
Merge pull request #769 from GriffinRichards/fix-window-disable
Separate duplicate map/layout, fix window disabling
2025-10-07 08:38:04 -04:00
GriffinR
c9b7f471bb Fix Clear Map Entries in the region map editor 2025-10-07 08:10:43 -04:00
GriffinR
31718fef1b Reduce logging for failed file watcher 2025-10-07 07:57:58 -04:00
GriffinR
0706a62d3a Fix regression to 'Open Project in Text Editor' 2025-09-28 18:01:12 -04:00
GriffinR
7d6bbca0c2 Separate duplicate map/layout, fix window disabling 2025-09-28 14:38:58 -04:00
GriffinR
4bae91230c Update changelog 2025-09-28 01:11:00 -04:00
GriffinR
1ff4872770
Merge pull request #768 from GriffinRichards/fix-incbin-regex
Widen INCBIN regex support
2025-09-28 01:09:07 -04:00
GriffinR
15022af6fe Update changelog 2025-08-27 22:50:18 -04:00
GriffinR
4ab3322d97
Merge pull request #767 from GriffinRichards/map-list-sorting
Add sorting options to the Locations and Layouts list
2025-08-27 22:45:34 -04:00
GriffinR
fb45714dda
Merge pull request #766 from GriffinRichards/color-fix
Fix image export colors, add color space settings
2025-08-27 22:44:34 -04:00
GriffinR
7c5b527696 Widen INCBIN regex support 2025-08-27 00:38:50 -04:00
GriffinR
e232ef760c Add sorting options to the Locations and Layouts list 2025-08-17 23:31:40 -04:00
GriffinR
ae9a5a5074 Fix image export colors, add color space settings 2025-08-16 17:33:58 -04:00
GriffinR
ccc0ddd2f2 Set default focus to name field for new map/layout dialogs 2025-08-15 13:21:01 -04:00
GriffinR
71135a3ba0 Remove now-unnecessary continue statement 2025-08-13 12:44:11 -04:00
GriffinR
2fd52e0b32 Fix crash that can occur with very specific timing during quit 2025-08-13 12:32:10 -04:00
GriffinR
f47fc02b82 Improve error message when failing to find API scripts 2025-08-12 16:51:43 -04:00
GriffinR
4a12dd7f30 Update manual 2025-08-08 16:18:01 -04:00
GriffinR
af66502067 Release 6.2.0 2025-08-08 16:02:58 -04:00
GriffinR
7a2e4bb51e Merge branch 'dev' of https://github.com/huderlem/porymap 2025-08-08 16:00:36 -04:00
GriffinR
e2b1a1ecbb Fix window focus when closing Palette Editor 2025-08-08 15:24:46 -04:00
GriffinR
3ae1e404f8 Fix metatile status not updating while pasting/swapping in Tileset Editor 2025-08-08 15:09:27 -04:00
GriffinR
edabed0105 Fix status not updating while painting on map, remove redundant CollisionPixmapItem handling 2025-08-08 14:47:47 -04:00
GriffinR
9e820a79fe Fix tile status not updating while painting on layer view 2025-08-08 13:34:31 -04:00
GriffinR
b97a4e76b1 Better default names for range-based metatile images 2025-08-08 12:48:54 -04:00
GriffinR
14f72cba3c
Merge pull request #763 from GriffinRichards/modules
Allow compiling without the qml or network modules
2025-08-08 12:15:45 -04:00
GriffinR
78dcebdd3e Remove network warning on non-release platforms 2025-08-08 11:55:09 -04:00
GriffinR
b537375b15 Fix regressions to tile usage count 2025-08-07 23:49:58 -04:00
GriffinR
0b057a08a4 Preserve setting from set_transparent_pixels_black 2025-08-07 19:31:18 -04:00
GriffinR
c53d6eb105 Add qml note to manual, add version details to log 2025-08-07 15:02:29 -04:00
GriffinR
e6a20c76bb Allow compiling without the network module 2025-08-07 15:02:02 -04:00
GriffinR
6f4f393a88 Allow compiling without the qml module 2025-08-07 15:01:51 -04:00
GriffinR
5174dcb6eb Fix Tileset Editor changes being missed 2025-08-06 20:01:55 -04:00
GriffinR
a4a30ae3c8 Add Escape as an alternative to exit swap metatiles mode 2025-08-06 18:16:24 -04:00
GriffinR
9f5ac2935e Disallow invalid text in tileset selectors 2025-08-06 17:57:48 -04:00
GriffinR
b76c2ef316 Close metatile image exporter on save 2025-08-06 17:36:26 -04:00
GriffinR
d292dd05b4 Fix regression in resize layout popup 2025-08-06 17:29:30 -04:00
GriffinR
5da0655a15 Fix crash when changing dimensions in certain API callbacks 2025-08-06 17:11:35 -04:00
GriffinR
bc9fbe6e72 Remove some unprotected usage of QList::at 2025-08-06 13:44:29 -04:00
GriffinR
a5823f04f1 Fix new event data being discarded on maps with shared_events_map 2025-08-06 11:33:02 -04:00
GriffinR
73b774be7d Update changelog 2025-08-06 10:40:48 -04:00
GriffinR
5b4391c66f
Merge pull request #761 from GriffinRichards/tileset-editor
Add some Tileset Editor requests
2025-08-06 10:31:50 -04:00
GriffinR
66c8302c00 Fix Shortcuts Editor clear text buttons 2025-08-05 23:30:05 -04:00
GriffinR
301666e5bd Fix Shortcuts Editor displaying duplicate shortcut prompt repeatedly 2025-08-05 23:04:43 -04:00
GriffinR
b8c9fb8ccb Update changelog 2025-08-05 16:59:29 -04:00
GriffinR
7f3ef48515 Fix Porytiles sub-menu text 2025-08-05 16:57:42 -04:00
GriffinR
9f4125b6bd Prefix shortcut names with menu path 2025-08-05 16:55:51 -04:00
GriffinR
58540ab062 Highlight hovered metatile while swapping 2025-08-04 14:36:46 -04:00
GriffinR
b498eeec00 Fix tileset divider drawing, tile usage counts 2025-08-04 14:13:01 -04:00
GriffinR
c1fc2c8201 Fix bounds checking for external tile selections 2025-08-04 13:33:57 -04:00
GriffinR
db9ecd744f Improve metatile properties layout 2025-08-04 12:05:16 -04:00
GriffinR
2a74f0dc0e Update changelog 2025-08-01 21:12:27 -04:00
GriffinR
2e93e78a73
Merge pull request #760 from GriffinRichards/color-search
Add color usage features to the Palette Editor
2025-08-01 21:04:11 -04:00
GriffinR
d0337a7ae3 Add metatile swap 2025-08-01 20:54:52 -04:00
GriffinR
b66bfd0fd5 Fix some issues with the new layout dialog 2025-08-01 02:47:59 -04:00
GriffinR
f6f07ca5fc Allow vertical layout for layer view 2025-07-29 16:25:31 -04:00
GriffinR
5584a2d47b Fix possible file watcher crash 2025-07-29 14:12:51 -04:00
GriffinR
a88730ee3f Add palette painting to metatile layer painter 2025-07-28 12:42:35 -04:00
GriffinR
9ce865a9c1 Replace QPoint where QSize was meant 2025-07-28 11:58:44 -04:00
GriffinR
6eaeee5f57 Add color search feature 2025-07-27 20:09:06 -04:00
GriffinR
2f2f71948a Add setting to show unused palette colors 2025-07-25 13:35:08 -04:00
GriffinR
d3d30ae0f2 Update changelog 2025-07-25 13:33:11 -04:00
GriffinR
647e595254
Merge pull request #758 from GriffinRichards/metatile-layers
New metatile export options, metatile/tile image fixes
2025-07-25 13:22:12 -04:00
GriffinR
be9728523e Add setting to change metatile selector width 2025-07-23 12:22:03 -04:00
GriffinR
c45598f6c4 Merge branch 'dev' of https://github.com/huderlem/porymap into metatile-layers 2025-07-22 02:13:19 -04:00
GriffinR
26ad93f2ae Add Porytiles export shortcut 2025-07-22 02:02:16 -04:00
GriffinR
15b300f864 Clean up tile/metatile image changes 2025-07-22 00:15:33 -04:00
GriffinR
c5117e458b Use checkered bg for image export previews 2025-07-19 16:33:39 -04:00
GriffinR
dc4b1ef93a Enforce tile/metatile limits on load, fix tile selector performance 2025-07-19 16:17:59 -04:00
GriffinR
70aeda9adb Fix ranges for metatile sheet images 2025-07-17 15:14:59 -04:00
GriffinR
25e8bdee49 Fix resize layout grid changing with viewport 2025-07-17 13:04:35 -04:00
GriffinR
5fa5638277 More usage of Tile/Metatile size constants 2025-07-17 12:28:35 -04:00
GriffinR
4ea92dd9b9 Update changelog 2025-07-17 11:32:25 -04:00
GriffinR
4df2da6a7a
Merge pull request #754 from GriffinRichards/autocomplete-settings
Add setting to autocomplete with common scripts but not all scripts
2025-07-17 11:28:13 -04:00
GriffinR
0718da2fe2
Merge pull request #756 from BigLanturnProductions/patch-1
Update INSTALL.md
2025-07-16 21:02:33 -04:00
GriffinR
182f54df73 Disable Windows build job 2025-07-16 21:01:01 -04:00
BigLanturnProductions
4f2fafb514
Update INSTALL.md
It may seem unnecessary to explicitly include the clone and cd instructions again, but this aligns with the macOS instructions above.
2025-07-17 00:35:24 +01:00
GriffinR
38e2772213 Add new metatile image export window 2025-07-13 16:45:04 -04:00
GriffinR
ef86103f78 Add setting to autocomplete with common scripts but not all scripts 2025-07-08 14:21:35 -04:00
GriffinR
a2bb2efa3e Fix UIntSpinBox disallowing intermediate inputs outside of range 2025-07-07 22:24:01 -04:00
GriffinR
06b22e0c2e Add direct link to manual under Help 2025-07-07 16:14:31 -04:00
GriffinR
b2798e77d4 Allow rendering individual metatile layers 2025-07-02 13:39:01 -04:00
GriffinR
17e4cbfa30 Fix paste for Wild Pokemon not updating data in memory 2025-07-01 16:10:23 -04:00
GriffinR
6ab6a13f2f Update changelog 2025-06-30 21:35:03 -04:00
GriffinR
dd5b8262f8
Merge pull request #751 from GriffinRichards/tileset-editor-scale
Fix exported metatile image scaling, remove hardcoded cell sizes
2025-06-30 21:33:35 -04:00
GriffinR
e7f91097b2 Fix Region Map Editor incorrectly displaying certain MAPSEC data 2025-06-30 20:37:30 -04:00
GriffinR
d2febd99e9 Update changelog 2025-06-27 00:34:03 -04:00
GriffinR
4cc65cbd06
Merge pull request #750 from GriffinRichards/update-cursor-rects
Cursor refactoring
2025-06-27 00:26:35 -04:00
GriffinR
56d1a0d570 Fix exported metatile image scaling, remove hardcoded cell sizes 2025-06-26 15:01:53 -04:00
GriffinR
9a0dc28f51
Merge pull request #748 from GriffinRichards/fix-file-watcher
Condense file watcher warning, reduce resource usage
2025-06-24 21:19:39 -04:00
GriffinR
bbe34e4983 Sync Connections tab map view position 2025-06-23 15:44:18 -04:00
GriffinR
0da6ae9b37 Fix dragging events to negative coordinates 2025-06-22 00:20:16 -04:00
GriffinR
37ccc82bf4 Fix incorrect EditMode limits 2025-06-21 23:51:37 -04:00
GriffinR
f42e9ed3cf Fix Move tool affecting cursor anchor 2025-06-21 23:26:35 -04:00
GriffinR
1ab07cf3c7 Fix drag mode cursor icon not updating properly 2025-06-21 22:39:19 -04:00
GriffinR
440c0f9d5c Better pan control 2025-06-20 15:10:13 -04:00
GriffinR
573358b758 Condense file watcher warning, reduce resource usage 2025-06-18 16:07:31 -04:00
GriffinR
dbc13484b1 Disable Windows build job 2025-06-18 15:53:02 -04:00
GriffinR
13c6c90e02 Extra pointer safety 2025-06-16 22:12:40 -04:00
GriffinR
c56bac4f95 Fix Map::m_scriptFileWatcher being created before its needed 2025-06-16 22:02:14 -04:00
GriffinR
d1142d244e Refactor cursor rectangles 2025-06-16 21:15:29 -04:00
GriffinR
dd1d856bf3 Fix log file cleanup warning only printing to debug 2025-06-16 02:18:00 -04:00
GriffinR
513ba15838 Remove tile rectangle from non-tile tools 2025-06-15 19:17:07 -04:00
GriffinR
23584914ec Update manual 2025-06-09 14:40:44 -04:00
166 changed files with 9278 additions and 4483 deletions

View File

@ -18,7 +18,7 @@ jobs:
build-linux:
strategy:
matrix:
qtversion: [5.14.2, 6.8.2]
qtversion: [5.14.2, 6.8.*]
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
@ -35,12 +35,12 @@ jobs:
run: qmake porymap.pro
- name: Compile
run: make
run: make -j8
build-macos:
strategy:
matrix:
os: [macos-latest, macos-13]
os: [macos-latest, macos-15-intel]
runs-on: ${{ matrix.os }}
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
@ -53,7 +53,8 @@ jobs:
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.8.2'
# 6.10 is the first Qt version (by release date) to support macOS 26
version: '6.10.*'
modules: 'qtcharts'
cache: 'true'
@ -61,7 +62,7 @@ jobs:
run: qmake -config release porymap.pro
- name: Compile
run: make
run: make -j8
- name: Create Disk Image
if: startsWith(github.ref, 'refs/tags/')
@ -87,6 +88,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-static-windows:
if: false # Windows job is currently disabled; it's failing to find required modules in the Qt build
runs-on: windows-latest
env:
BUILD_NAME: porymap-windows

1
.gitignore vendored
View File

@ -9,6 +9,7 @@ porymap
porymap.cfg
porymap.log
build/
venv/
# Qt generated files
ui_*.h

View File

@ -7,6 +7,90 @@ and this project somewhat adheres to [Semantic Versioning](https://semver.org/sp
## [Unreleased]
Nothing, yet.
## [6.3.0] - 2025-12-26
### Added
- Add option to sort Locations and Layouts lists by value, rather than alphabetically.
- Add color space settings for exported images.
- Add setting to disable the project loading screen.
### Changed
- Separate `File > Duplicate Current Map/Layout` into two options to allow duplicating the current layout when a map is open.
- The name field now receives focus immediately for the new map/layout dialogs.
- The middle mouse button can now be used to pan around the map views, rather than needing to select the Map Tool. This is a very convenient shortcut that matches popular image-editing programs.
- Previously, the middle mouse button could be used as a shortcut with the pencil tool to switch to bucket-fill mode. This is now achieved using the `Alt` key.
### Fixed
- Fix crash when a painted tile selection goes out of bounds of the metatile layer view in the Tileset Editor.
- Fix crash on older versions of Qt when reopening a project with certain windows open.
- Fix potential crash when painting and the cursor leaves the map area.
- Fix potential crash when changing maps with the Tileset Editor open.
- Fix rare crash while quitting Porymap.
- Fix `Edit > Clear Map Entries` in the Region Map Editor not saving the applied changes.
- Fix `Edit > Undo/Redo` appearing enabled even when they don't do anything.
- Fix `Help > Open Manual` being disabled when no project is open.
- Fix new tilesets potentially overwriting data in an existing directory.
- Fix exported images on macOS using a different color space than in Porymap.
- Fix some `INCBIN` statements not being parsed correctly.
- Fix excessive logging if Porymap fails to monitor all map files.
- Fix map connections getting cut off in exported map images if they're on the same side as another short map connection.
- Fix the project version check failing for some versions of `git`.
- Fix some error highlights persisting after the error is resolved.
- Fix the Layout/Tileset labels on the `Metatiles` panel disappearing if the panel is too narrow.
## [6.2.0] - 2025-08-08
### Added
- Add `View > Show Unused Colors` to the Palette Editor.
- Add `Tools > Find Color Usage` to the Palette Editor. This opens a dialog showing which metatiles use a particular color.
- Add `Edit > Swap Metatiles` to the Tileset Editor. While in this mode, selecting two metatiles in the selector will swap their positions. When changes to the tilesets are saved these relocations will be applied to all layouts that use the relevant tileset(s).
- Add `View > Layer Arrangement` to the Tileset Editor, which changes whether the metatile layer view is oriented vertically (default) or horizontally.
- Add an `Export Metatiles Image` option to the Tileset Editor that provides many more options for customizing metatile images.
- Add an `Export Porytiles Layer Images` option to the Tileset Editor, which is a shortcut for individually exporting layer images that Porytiles can use.
- Add an option under `Preferences` to include common scripts in the autocomplete for Script labels.
- Add a setting under `Project Settings` to change the width of the metatile selectors.
- Add versions of the API functions `[get|set]MetatileLayerOrder` and `[get|set]MetatileLayerOpacity` that work globally, rather than on individual layouts.
- A link to Porymap's manual is now available under `Help`.
### Changed
- The Player View Rectangle is now visible on the Events tab, as is the Cursor Tile Outline for certain tools.
- When hovering over tiles in the Tileset Editor their palette and x/yflip are now listed alongside the tile ID.
- The scroll position of the map view now remains the same between the Connections tab and the Map/Events tabs.
- The Move tool now behaves more like a traditional pan tool (with no momentum).
- The map image exporter now uses a checkered background to indicate transparency.
- Invalid tile IDs are now rendered as magenta (like invalid metatiles), instead of rendering the same as a transparent tile.
- While holding down `Ctrl` (`Cmd` on macOS) painting on the metatile layer view will now only change the tile's palette.
- Full menu paths are now listed for shortcuts in the Shortcuts Editor.
- Adding new event data to a map that has a `shared_events_map` will now remove the `shared_events_map`, rather than discard the event data.
### Fixed
- Fix crash when rendering tiles with invalid palette numbers.
- Fix crash when opening the Tileset Editor for tilesets with no metatiles.
- Fix crash when changing the map/border size in certain API callbacks.
- Fix metatile images exporting at 2x scale.
- Fix display errors when a project's metatile limits are not divisible by 8.
- Fix incorrect dividing line position for primary tiles images that are smaller than the maximum size.
- Fix the checkered background of the `Change Dimensions` popup shifting while scrolling around.
- Fix pasting Wild Pokémon data then changing maps resetting the pasted data.
- Fix click-drag map selections behaving unexpectedly when the cursor is outside the map grid.
- Fix events being dragged in negative coordinates lagging behind the cursor.
- Fix the shortcut for duplicating events working while on the Connections tab.
- Fix the Shortcuts Editor displaying the duplicate shortcut prompt repeatedly.
- Fix the clear text button on the left in each row of the Shortcuts Editor also clearing the shortcut on the right.
- Fix Undo/Redo ignoring the automatic resizing that occurs if a layout/border was an unexpected size.
- Fix Undo/Redo in the Tileset and Palette Editors and Paste in the Tileset Editor appearing enabled even when they don't do anything.
- Fix `Ctrl+Shift+Z` not being set as a default shortcut for Redo in the Palette Editor like it is for other windows.
- Fix the Tileset Editor's status bar not updating while selecting tiles in the metatile layer view, or when pasting metatiles.
- Fix the main window's status bar not immediately reflecting changes made while painting metatiles / movement permissions.
- Fix cleared metatile labels not updating until the project is reloaded.
- Fix some changes in the Tileset Editor being discarded if the window is closed too quickly.
- Fix the Region Map Editor incorrectly displaying whether a `MAPSEC` has region map data.
- Fix the Primary/Secondary Tileset selectors allowing invalid text, and considering a map unsaved if changed to invalid text then back again.
- Fix broken error message for the primary tileset on the new map/layout dialogs.
- Fix the dialog for duplicating/importing a map layout not allowing the tilesets to be changed.
- Fix warning not appearing when the log file exceeds maximum size.
- Fix possible lag while using the Tileset Editor's tile selector.
- Fix unnecessary resources being used to watch files.
- Fix possible crash on Linux if too many inotify instances are requested.
## [6.1.0] - 2025-06-09
### Added
- Add settings to change the application font and the map list font.
@ -626,7 +710,9 @@ Nothing, yet.
## [1.0.0] - 2018-10-26
This was the initial release.
[Unreleased]: https://github.com/huderlem/porymap/compare/6.1.0...HEAD
[Unreleased]: https://github.com/huderlem/porymap/compare/6.3.0...HEAD
[6.3.0]: https://github.com/huderlem/porymap/compare/6.2.0...6.3.0
[6.2.0]: https://github.com/huderlem/porymap/compare/6.1.0...6.2.0
[6.1.0]: https://github.com/huderlem/porymap/compare/6.0.0...6.1.0
[6.0.0]: https://github.com/huderlem/porymap/compare/5.4.1...6.0.0
[5.4.1]: https://github.com/huderlem/porymap/compare/5.4.0...5.4.1

View File

@ -4,7 +4,7 @@
- [Download Porymap for Windows](https://github.com/huderlem/porymap/releases/latest/download/porymap-windows.zip).
- [Download Porymap for macOS latest (arm)](https://github.com/huderlem/porymap/releases/latest/download/porymap-macos-latest.zip).
- [Download Porymap for macOS 13 (intel)](https://github.com/huderlem/porymap/releases/latest/download/porymap-macos-13.zip).
- [Download Porymap for macOS 15 (intel)](https://github.com/huderlem/porymap/releases/latest/download/porymap-macos-15-intel.zip).
For installation, Porymap requires Qt 5.14.2 & C++11.
@ -37,11 +37,15 @@ Install [Qt development tools](https://www.qt.io/download-qt-installer), and use
## Ubuntu
You need to install Qt. The minimum supported version is currently Qt 5.14.2. You can check your Qt version
with `qtdiag`.
with `qtdiag` or `qmake --version`.
```bash
sudo apt-get install qt6-declarative-dev
# if your distro does not have qt6-declarative-dev, try sudo apt-get install qtdeclarative5-dev
git clone https://github.com/huderlem/porymap
cd porymap
qmake
make
./porymap
@ -53,6 +57,10 @@ You need to install Qt. You can check the version of your Qt packages with `qtdi
```bash
sudo pacman -S qt6-declarative qt6-charts
git clone https://github.com/huderlem/porymap
cd porymap
qmake
make
./porymap

View File

@ -14,7 +14,7 @@ Windows and macOS users can download Porymap below to start using it immediately
- [Download Porymap for Windows](https://github.com/huderlem/porymap/releases/latest/download/porymap-windows.zip).
- [Download Porymap for macOS latest (arm)](https://github.com/huderlem/porymap/releases/latest/download/porymap-macos-latest.zip).
- [Download Porymap for macOS 13 (intel)](https://github.com/huderlem/porymap/releases/latest/download/porymap-macos-13.zip).
- [Download Porymap for macOS 15 (intel)](https://github.com/huderlem/porymap/releases/latest/download/porymap-macos-15-intel.zip).
Linux users must compile Porymap from source.

View File

@ -1,5 +1,5 @@
Version: 6.1.0
Date: June 9th, 2025
Version: 6.3.0
Date: December 26th, 2025
Official Porymap documentation: https://huderlem.github.io/porymap/
@ -7,6 +7,90 @@ Please report any issues on GitHub: [https://github.com/huderlem/porymap/issues]
-------------------------
## [6.3.0] - 2025-12-26
### Added
- Add option to sort Locations and Layouts lists by value, rather than alphabetically.
- Add color space settings for exported images.
- Add setting to disable the project loading screen.
### Changed
- Separate `File > Duplicate Current Map/Layout` into two options to allow duplicating the current layout when a map is open.
- The name field now receives focus immediately for the new map/layout dialogs.
- The middle mouse button can now be used to pan around the map views, rather than needing to select the Map Tool. This is a very convenient shortcut that matches popular image-editing programs.
- Previously, the middle mouse button could be used as a shortcut with the pencil tool to switch to bucket-fill mode. This is now achieved using the `Alt` key.
### Fixed
- Fix crash when a painted tile selection goes out of bounds of the metatile layer view in the Tileset Editor.
- Fix crash on older versions of Qt when reopening a project with certain windows open.
- Fix potential crash when painting and the cursor leaves the map area.
- Fix potential crash when changing maps with the Tileset Editor open.
- Fix rare crash while quitting Porymap.
- Fix `Edit > Clear Map Entries` in the Region Map Editor not saving the applied changes.
- Fix `Edit > Undo/Redo` appearing enabled even when they don't do anything.
- Fix `Help > Open Manual` being disabled when no project is open.
- Fix new tilesets potentially overwriting data in an existing directory.
- Fix exported images on macOS using a different color space than in Porymap.
- Fix some `INCBIN` statements not being parsed correctly.
- Fix excessive logging if Porymap fails to monitor all map files.
- Fix map connections getting cut off in exported map images if they're on the same side as another short map connection.
- Fix the project version check failing for some versions of `git`.
- Fix some error highlights persisting after the error is resolved.
- Fix the Layout/Tileset labels on the `Metatiles` panel disappearing if the panel is too narrow.
## [6.2.0] - 2025-08-08
### Added
- Add `View > Show Unused Colors` to the Palette Editor.
- Add `Tools > Find Color Usage` to the Palette Editor. This opens a dialog showing which metatiles use a particular color.
- Add `Edit > Swap Metatiles` to the Tileset Editor. While in this mode, selecting two metatiles in the selector will swap their positions. When changes to the tilesets are saved these relocations will be applied to all layouts that use the relevant tileset(s).
- Add `View > Layer Arrangement` to the Tileset Editor, which changes whether the metatile layer view is oriented vertically (default) or horizontally.
- Add an `Export Metatiles Image` option to the Tileset Editor that provides many more options for customizing metatile images.
- Add an `Export Porytiles Layer Images` option to the Tileset Editor, which is a shortcut for individually exporting layer images that Porytiles can use.
- Add an option under `Preferences` to include common scripts in the autocomplete for Script labels.
- Add a setting under `Project Settings` to change the width of the metatile selectors.
- Add versions of the API functions `[get|set]MetatileLayerOrder` and `[get|set]MetatileLayerOpacity` that work globally, rather than on individual layouts.
- A link to Porymap's manual is now available under `Help`.
### Changed
- The Player View Rectangle is now visible on the Events tab, as is the Cursor Tile Outline for certain tools.
- When hovering over tiles in the Tileset Editor their palette and x/yflip are now listed alongside the tile ID.
- The scroll position of the map view now remains the same between the Connections tab and the Map/Events tabs.
- The Move tool now behaves more like a traditional pan tool (with no momentum).
- The map image exporter now uses a checkered background to indicate transparency.
- Invalid tile IDs are now rendered as magenta (like invalid metatiles), instead of rendering the same as a transparent tile.
- While holding down `Ctrl` (`Cmd` on macOS) painting on the metatile layer view will now only change the tile's palette.
- Full menu paths are now listed for shortcuts in the Shortcuts Editor.
- Adding new event data to a map that has a `shared_events_map` will now remove the `shared_events_map`, rather than discard the event data.
### Fixed
- Fix crash when rendering tiles with invalid palette numbers.
- Fix crash when opening the Tileset Editor for tilesets with no metatiles.
- Fix crash when changing the map/border size in certain API callbacks.
- Fix metatile images exporting at 2x scale.
- Fix display errors when a project's metatile limits are not divisible by 8.
- Fix incorrect dividing line position for primary tiles images that are smaller than the maximum size.
- Fix the checkered background of the `Change Dimensions` popup shifting while scrolling around.
- Fix pasting Wild Pokémon data then changing maps resetting the pasted data.
- Fix click-drag map selections behaving unexpectedly when the cursor is outside the map grid.
- Fix events being dragged in negative coordinates lagging behind the cursor.
- Fix the shortcut for duplicating events working while on the Connections tab.
- Fix the Shortcuts Editor displaying the duplicate shortcut prompt repeatedly.
- Fix the clear text button on the left in each row of the Shortcuts Editor also clearing the shortcut on the right.
- Fix Undo/Redo ignoring the automatic resizing that occurs if a layout/border was an unexpected size.
- Fix Undo/Redo in the Tileset and Palette Editors and Paste in the Tileset Editor appearing enabled even when they don't do anything.
- Fix `Ctrl+Shift+Z` not being set as a default shortcut for Redo in the Palette Editor like it is for other windows.
- Fix the Tileset Editor's status bar not updating while selecting tiles in the metatile layer view, or when pasting metatiles.
- Fix the main window's status bar not immediately reflecting changes made while painting metatiles / movement permissions.
- Fix cleared metatile labels not updating until the project is reloaded.
- Fix some changes in the Tileset Editor being discarded if the window is closed too quickly.
- Fix the Region Map Editor incorrectly displaying whether a `MAPSEC` has region map data.
- Fix the Primary/Secondary Tileset selectors allowing invalid text, and considering a map unsaved if changed to invalid text then back again.
- Fix broken error message for the primary tileset on the new map/layout dialogs.
- Fix the dialog for duplicating/importing a map layout not allowing the tilesets to be changed.
- Fix warning not appearing when the log file exceeds maximum size.
- Fix possible lag while using the Tileset Editor's tile selector.
- Fix unnecessary resources being used to watch files.
- Fix possible crash on Linux if too many inotify instances are requested.
## [6.1.0] - 2025-06-09
### Added
- Add settings to change the application font and the map list font.

View File

@ -82,6 +82,8 @@ Pencil Tool
The Pencil Tool |pencil-tool| (``Tools > Pencil``, or ``N``) is your bread and butter when editing maps. Simply left-click to paint your current metatile selection onto the map. You can click and drag to paint a bigger portion of the map. When clicking and dragging, the metatiles will be painted as if they are snapping to a grid. This simplifies things like painting large areas of trees.
While using the Pencil Tool (or really, viewing any map view in Porymap), the middle mouse button can be pressed as a hotkey to pan around the map. This is a convenient shortcut as an alternative to selecting the Move Tool.
.. figure:: images/editing-map-tiles/snapping-painting.gif
:alt: Painting a Large Metatile Selection
:align: center

View File

@ -11,6 +11,9 @@ Porymap is extensible via scripting capabilities. This allows the user to write
- Procedurally Generated Maps
- Randomize Grass Patterns
.. note::
If you are compiling Porymap yourself, these features will only be available if Qt's ``qml`` module is installed.
Custom Scripts Editor
---------------------
@ -1222,6 +1225,58 @@ All tileset functions are callable via the global ``map`` object.
:returns: the pixel data
:rtype: array
.. |describe-metatile-layer-order|
replace:: where ``0`` is the bottom layer, ``1`` is the middle layer, and ``2`` is the top layer. The default order is ``[0, 1, 2]``
.. |describe-metatile-layer-order-handling|
replace:: If no elements are provided the layer order will be reset to the default. Any layer not listed in the provided ``order`` will not be rendered. Any additional elements after the first 3 are ignored
.. js:function:: map.getMetatileLayerOrder()
Gets the order that metatile layers are rendered for the current layout, |describe-metatile-layer-order|.
If you'd like to get the default metatile layer order for all layouts, see :js:func:`utility.getMetatileLayerOrder` instead.
:returns: array of layers
:rtype: array
.. js:function:: map.setMetatileLayerOrder(order)
Sets the order that metatile layers are rendered for the current layout, |describe-metatile-layer-order|.
|describe-metatile-layer-order-handling|.
If you'd like to set the default metatile layer order for all layouts, see :js:func:`utility.setMetatileLayerOrder` instead.
:param order: array of layers
:type order: array
.. |describe-metatile-layer-opacity|
replace:: where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are ``[1.0, 1.0, 1.0]``
.. |describe-metatile-layer-opacity-handling|
replace:: Any additional elements after the first 3 are ignored. Any elements not provided will be rendered with opacity ``1.0``
.. js:function:: map.getMetatileLayerOpacity()
Gets the opacities that metatile layers are rendered with for the current layout, |describe-metatile-layer-opacity|.
If you'd like to get the default metatile layer opacities for all layouts, see :js:func:`utility.getMetatileLayerOpacity` instead.
:returns: array of opacities for each layer
:rtype: array
.. js:function:: map.setMetatileLayerOpacity(opacities)
Sets the opacities that metatile layers are rendered with for the current layout, |describe-metatile-layer-opacity|.
|describe-metatile-layer-opacity-handling|.
If you'd like to set the default metatile layer opacities for all layouts, see :js:func:`utility.setMetatileLayerOpacity` instead.
:param opacities: array of opacities for each layer
:type opacities: array
Overlay Functions
^^^^^^^^^^^^^^^^^
@ -1811,30 +1866,42 @@ All settings functions are callable via the global ``utility`` object.
.. js:function:: utility.getMetatileLayerOrder()
Gets the order that metatile layers are rendered.
Gets the order that metatile layers are rendered by default, |describe-metatile-layer-order|.
:returns: array of layers. The bottom layer is represented as 0.
If you'd like to get the metatile layer order for only the current layout, see :js:func:`map.getMetatileLayerOrder` instead.
:returns: array of layers
:rtype: array
.. js:function:: utility.setMetatileLayerOrder(order)
Sets the order that metatile layers are rendered.
Sets the order that metatile layers are rendered by default, |describe-metatile-layer-order|.
:param order: array of layers. The bottom layer is represented as 0.
|describe-metatile-layer-order-handling|.
If you'd like to set the metatile layer order for only the current layout, see :js:func:`map.setMetatileLayerOrder` instead.
:param order: array of layers
:type order: array
.. js:function:: utility.getMetatileLayerOpacity()
Gets the opacities that metatile layers are rendered with.
Gets the opacities that metatile layers are rendered with by default, |describe-metatile-layer-opacity|.
:returns: array of opacities for each layer. The bottom layer is the first element.
If you'd like to get the metatile layer opacities for only the current layout, see :js:func:`map.getMetatileLayerOpacity` instead.
:returns: array of opacities for each layer
:rtype: array
.. js:function:: utility.setMetatileLayerOpacity(opacities)
Sets the opacities that metatile layers are rendered with.
Sets the opacities that metatile layers are rendered with by default, |describe-metatile-layer-opacity|.
:param opacities: array of opacities for each layer. The bottom layer is the first element.
|describe-metatile-layer-opacity-handling|.
If you'd like to set the metatile layer opacities for only the current layout, see :js:func:`map.setMetatileLayerOpacity` instead.
:param opacities: array of opacities for each layer
:type opacities: array

View File

@ -7,7 +7,108 @@ and this project somewhat adheres to [Semantic Versioning](https://semver.org/sp
## [Unreleased]
Nothing, yet.
## [6.0.0] - 2025-05-26
## [6.3.0] - 2025-12-26
### Added
- Add option to sort Locations and Layouts lists by value, rather than alphabetically.
- Add color space settings for exported images.
- Add setting to disable the project loading screen.
### Changed
- Separate `File > Duplicate Current Map/Layout` into two options to allow duplicating the current layout when a map is open.
- The name field now receives focus immediately for the new map/layout dialogs.
- The middle mouse button can now be used to pan around the map views, rather than needing to select the Map Tool. This is a very convenient shortcut that matches popular image-editing programs.
- Previously, the middle mouse button could be used as a shortcut with the pencil tool to switch to bucket-fill mode. This is now achieved using the `Alt` key.
### Fixed
- Fix crash when a painted tile selection goes out of bounds of the metatile layer view in the Tileset Editor.
- Fix crash on older versions of Qt when reopening a project with certain windows open.
- Fix potential crash when painting and the cursor leaves the map area.
- Fix potential crash when changing maps with the Tileset Editor open.
- Fix rare crash while quitting Porymap.
- Fix `Edit > Clear Map Entries` in the Region Map Editor not saving the applied changes.
- Fix `Edit > Undo/Redo` appearing enabled even when they don't do anything.
- Fix `Help > Open Manual` being disabled when no project is open.
- Fix new tilesets potentially overwriting data in an existing directory.
- Fix exported images on macOS using a different color space than in Porymap.
- Fix some `INCBIN` statements not being parsed correctly.
- Fix excessive logging if Porymap fails to monitor all map files.
- Fix map connections getting cut off in exported map images if they're on the same side as another short map connection.
- Fix the project version check failing for some versions of `git`.
- Fix some error highlights persisting after the error is resolved.
- Fix the Layout/Tileset labels on the `Metatiles` panel disappearing if the panel is too narrow.
## [6.2.0] - 2025-08-08
### Added
- Add `View > Show Unused Colors` to the Palette Editor.
- Add `Tools > Find Color Usage` to the Palette Editor. This opens a dialog showing which metatiles use a particular color.
- Add `Edit > Swap Metatiles` to the Tileset Editor. While in this mode, selecting two metatiles in the selector will swap their positions. When changes to the tilesets are saved these relocations will be applied to all layouts that use the relevant tileset(s).
- Add `View > Layer Arrangement` to the Tileset Editor, which changes whether the metatile layer view is oriented vertically (default) or horizontally.
- Add an `Export Metatiles Image` option to the Tileset Editor that provides many more options for customizing metatile images.
- Add an `Export Porytiles Layer Images` option to the Tileset Editor, which is a shortcut for individually exporting layer images that Porytiles can use.
- Add an option under `Preferences` to include common scripts in the autocomplete for Script labels.
- Add a setting under `Project Settings` to change the width of the metatile selectors.
- Add versions of the API functions `[get|set]MetatileLayerOrder` and `[get|set]MetatileLayerOpacity` that work globally, rather than on individual layouts.
- A link to Porymap's manual is now available under `Help`.
### Changed
- The Player View Rectangle is now visible on the Events tab, as is the Cursor Tile Outline for certain tools.
- When hovering over tiles in the Tileset Editor their palette and x/yflip are now listed alongside the tile ID.
- The scroll position of the map view now remains the same between the Connections tab and the Map/Events tabs.
- The Move tool now behaves more like a traditional pan tool (with no momentum).
- The map image exporter now uses a checkered background to indicate transparency.
- Invalid tile IDs are now rendered as magenta (like invalid metatiles), instead of rendering the same as a transparent tile.
- While holding down `Ctrl` (`Cmd` on macOS) painting on the metatile layer view will now only change the tile's palette.
- Full menu paths are now listed for shortcuts in the Shortcuts Editor.
- Adding new event data to a map that has a `shared_events_map` will now remove the `shared_events_map`, rather than discard the event data.
### Fixed
- Fix crash when rendering tiles with invalid palette numbers.
- Fix crash when opening the Tileset Editor for tilesets with no metatiles.
- Fix crash when changing the map/border size in certain API callbacks.
- Fix metatile images exporting at 2x scale.
- Fix display errors when a project's metatile limits are not divisible by 8.
- Fix incorrect dividing line position for primary tiles images that are smaller than the maximum size.
- Fix the checkered background of the `Change Dimensions` popup shifting while scrolling around.
- Fix pasting Wild Pokémon data then changing maps resetting the pasted data.
- Fix click-drag map selections behaving unexpectedly when the cursor is outside the map grid.
- Fix events being dragged in negative coordinates lagging behind the cursor.
- Fix the shortcut for duplicating events working while on the Connections tab.
- Fix the Shortcuts Editor displaying the duplicate shortcut prompt repeatedly.
- Fix the clear text button on the left in each row of the Shortcuts Editor also clearing the shortcut on the right.
- Fix Undo/Redo ignoring the automatic resizing that occurs if a layout/border was an unexpected size.
- Fix Undo/Redo in the Tileset and Palette Editors and Paste in the Tileset Editor appearing enabled even when they don't do anything.
- Fix `Ctrl+Shift+Z` not being set as a default shortcut for Redo in the Palette Editor like it is for other windows.
- Fix the Tileset Editor's status bar not updating while selecting tiles in the metatile layer view, or when pasting metatiles.
- Fix the main window's status bar not immediately reflecting changes made while painting metatiles / movement permissions.
- Fix cleared metatile labels not updating until the project is reloaded.
- Fix some changes in the Tileset Editor being discarded if the window is closed too quickly.
- Fix the Region Map Editor incorrectly displaying whether a `MAPSEC` has region map data.
- Fix the Primary/Secondary Tileset selectors allowing invalid text, and considering a map unsaved if changed to invalid text then back again.
- Fix broken error message for the primary tileset on the new map/layout dialogs.
- Fix the dialog for duplicating/importing a map layout not allowing the tilesets to be changed.
- Fix warning not appearing when the log file exceeds maximum size.
- Fix possible lag while using the Tileset Editor's tile selector.
- Fix unnecessary resources being used to watch files.
- Fix possible crash on Linux if too many inotify instances are requested.
## [6.1.0] - 2025-06-09
### Added
- Add settings to change the application font and the map list font.
### Changed
- The scale of the map can now be changed while resizing the map.
### Fixed
- Fix duplicated maps writing the wrong name.
- Fix small maps being difficult to see while resizing.
- Fix the map border sometimes not updating to reflect changes.
- Fix expressions using the prefix '0X' as opposed to '0x' not being recognized has hex numbers.
- Fix certain characters not writing correctly to JSON files.
- Fix all `map.json` files being added to the file watcher at launch.
- Fix files sometimes being removed from the file watcher if they're deleted as part of a write.
- Fix `porymap.cfg` and `porymap.shortcuts.cfg` writing outside the `pret/porymap` folder.
## [6.0.0] - 2025-05-27
### Breaking Changes
- See [Breaking Changes](https://huderlem.github.io/porymap/manual/breaking-changes.html) in the manual.
@ -609,7 +710,10 @@ Nothing, yet.
## [1.0.0] - 2018-10-26
This was the initial release.
[Unreleased]: https://github.com/huderlem/porymap/compare/6.0.0...HEAD
[Unreleased]: https://github.com/huderlem/porymap/compare/6.3.0...HEAD
[6.3.0]: https://github.com/huderlem/porymap/compare/6.2.0...6.3.0
[6.2.0]: https://github.com/huderlem/porymap/compare/6.1.0...6.2.0
[6.1.0]: https://github.com/huderlem/porymap/compare/6.0.0...6.1.0
[6.0.0]: https://github.com/huderlem/porymap/compare/5.4.1...6.0.0
[5.4.1]: https://github.com/huderlem/porymap/compare/5.4.0...5.4.1
[5.4.0]: https://github.com/huderlem/porymap/compare/5.3.0...5.4.0

View File

@ -247,141 +247,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>
@ -505,6 +523,10 @@
<li><a href="manual/scripting-capabilities.html#map.getMetatileId">map.getMetatileId() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.getMetatileLabel">map.getMetatileLabel() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.getMetatileLayerOpacity">map.getMetatileLayerOpacity() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.getMetatileLayerOrder">map.getMetatileLayerOrder() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.getMetatileLayerType">map.getMetatileLayerType() (map method)</a>
</li>
@ -607,6 +629,10 @@
<li><a href="manual/scripting-capabilities.html#map.setMetatileId">map.setMetatileId() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.setMetatileLabel">map.setMetatileLabel() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.setMetatileLayerOpacity">map.setMetatileLayerOpacity() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.setMetatileLayerOrder">map.setMetatileLayerOrder() (map method)</a>
</li>
<li><a href="manual/scripting-capabilities.html#map.setMetatileLayerType">map.setMetatileLayerType() (map method)</a>
</li>

View File

@ -249,141 +249,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>
@ -537,29 +555,32 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.0.0 - 2025-05-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.1 - 2024-03-21</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.4.0 - 2024-02-13</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.3.0 - 2024-01-15</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.2.0 - 2024-01-02</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.1 - 2023-02-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.1.0 - 2023-01-22</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.0.0 - 2022-10-30</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id29">4.5.0 - 2021-12-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id33">4.4.0 - 2020-12-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id37">4.3.1 - 2020-07-17</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.3.0 - 2020-06-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.2.0 - 2020-06-06</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.1.0 - 2020-05-18</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.0.0 - 2020-04-28</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id58">3.0.1 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">3.0.0 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">2.0.0 - 2019-10-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">1.2.2 - 2019-05-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id74">1.2.1 - 2019-02-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.2.0 - 2019-02-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.1.0 - 2018-12-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.3.0 - 2025-12-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">6.2.0 - 2025-08-08</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">6.1.0 - 2025-06-09</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">6.0.0 - 2025-05-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.4.1 - 2024-03-21</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.4.0 - 2024-02-13</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.3.0 - 2024-01-15</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.2.0 - 2024-01-02</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">5.1.1 - 2023-02-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">5.1.0 - 2023-01-22</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">5.0.0 - 2022-10-30</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.5.0 - 2021-12-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.4.0 - 2020-12-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.3.1 - 2020-07-17</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.3.0 - 2020-06-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id57">4.2.0 - 2020-06-06</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id61">4.1.0 - 2020-05-18</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">4.0.0 - 2020-04-28</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">3.0.1 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">3.0.0 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">2.0.0 - 2019-10-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.2.2 - 2019-05-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id86">1.2.1 - 2019-02-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id89">1.2.0 - 2019-02-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id94">1.1.0 - 2018-12-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>
@ -476,6 +494,7 @@
<section id="pencil-tool">
<h2>Pencil Tool<a class="headerlink" href="#pencil-tool" title="Link to this heading"></a></h2>
<p>The Pencil Tool <a class="reference internal" href="../_images/pencil-tool.png"><img alt="pencil-tool" src="../_images/pencil-tool.png" style="height: 24px;" /></a> (<code class="docutils literal notranslate"><span class="pre">Tools</span> <span class="pre">&gt;</span> <span class="pre">Pencil</span></code>, or <code class="docutils literal notranslate"><span class="pre">N</span></code>) is your bread and butter when editing maps. Simply left-click to paint your current metatile selection onto the map. You can click and drag to paint a bigger portion of the map. When clicking and dragging, the metatiles will be painted as if they are snapping to a grid. This simplifies things like painting large areas of trees.</p>
<p>While using the Pencil Tool (or really, viewing any map view in Porymap), the middle mouse button can be pressed as a hotkey to pan around the map. This is a convenient shortcut as an alternative to selecting the Move Tool.</p>
<figure class="align-center" id="id8">
<img alt="Painting a Large Metatile Selection" src="../_images/snapping-painting.gif" />
<figcaption>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>
@ -425,6 +443,10 @@
<li><p>Procedurally Generated Maps</p></li>
<li><p>Randomize Grass Patterns</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you are compiling Porymap yourself, these features will only be available if Qts <code class="docutils literal notranslate"><span class="pre">qml</span></code> module is installed.</p>
</div>
<section id="custom-scripts-editor">
<h2>Custom Scripts Editor<a class="headerlink" href="#custom-scripts-editor" title="Link to this heading"></a></h2>
<p>Your custom scripts can be managed with the Custom Scripts Editor accessible under <code class="docutils literal notranslate"><span class="pre">Options</span> <span class="pre">-&gt;</span> <span class="pre">Custom</span> <span class="pre">Scripts...</span></code>.</p>
@ -2241,6 +2263,66 @@
</dl>
</dd></dl>
<dl class="js function">
<dt class="sig sig-object js" id="map.getMetatileLayerOrder">
<span class="sig-prename descclassname"><span class="n"><span class="pre">map</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getMetatileLayerOrder</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#map.getMetatileLayerOrder" title="Link to this definition"></a></dt>
<dd><p>Gets the order that metatile layers are rendered for the current layout, where <code class="docutils literal notranslate"><span class="pre">0</span></code> is the bottom layer, <code class="docutils literal notranslate"><span class="pre">1</span></code> is the middle layer, and <code class="docutils literal notranslate"><span class="pre">2</span></code> is the top layer. The default order is <code class="docutils literal notranslate"><span class="pre">[0,</span> <span class="pre">1,</span> <span class="pre">2]</span></code>.</p>
<p>If youd like to get the default metatile layer order for all layouts, see <a class="reference internal" href="#utility.getMetatileLayerOrder" title="utility.getMetatileLayerOrder"><code class="xref js js-func docutils literal notranslate"><span class="pre">utility.getMetatileLayerOrder</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>array of layers</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>array</p>
</dd>
</dl>
</dd></dl>
<dl class="js function">
<dt class="sig sig-object js" id="map.setMetatileLayerOrder">
<span class="sig-prename descclassname"><span class="n"><span class="pre">map</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setMetatileLayerOrder</span></span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">order</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#map.setMetatileLayerOrder" title="Link to this definition"></a></dt>
<dd><p>Sets the order that metatile layers are rendered for the current layout, where <code class="docutils literal notranslate"><span class="pre">0</span></code> is the bottom layer, <code class="docutils literal notranslate"><span class="pre">1</span></code> is the middle layer, and <code class="docutils literal notranslate"><span class="pre">2</span></code> is the top layer. The default order is <code class="docutils literal notranslate"><span class="pre">[0,</span> <span class="pre">1,</span> <span class="pre">2]</span></code>.</p>
<p>If no elements are provided the layer order will be reset to the default. Any layer not listed in the provided <code class="docutils literal notranslate"><span class="pre">order</span></code> will not be rendered. Any additional elements after the first 3 are ignored.</p>
<p>If youd like to set the default metatile layer order for all layouts, see <a class="reference internal" href="#utility.setMetatileLayerOrder" title="utility.setMetatileLayerOrder"><code class="xref js js-func docutils literal notranslate"><span class="pre">utility.setMetatileLayerOrder</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>order</strong> (<span><code class="xref js js-func docutils literal notranslate"><span class="pre">array</span></code></span>) array of layers</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="js function">
<dt class="sig sig-object js" id="map.getMetatileLayerOpacity">
<span class="sig-prename descclassname"><span class="n"><span class="pre">map</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getMetatileLayerOpacity</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#map.getMetatileLayerOpacity" title="Link to this definition"></a></dt>
<dd><p>Gets the opacities that metatile layers are rendered with for the current layout, where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are <code class="docutils literal notranslate"><span class="pre">[1.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></code>.</p>
<p>If youd like to get the default metatile layer opacities for all layouts, see <a class="reference internal" href="#utility.getMetatileLayerOpacity" title="utility.getMetatileLayerOpacity"><code class="xref js js-func docutils literal notranslate"><span class="pre">utility.getMetatileLayerOpacity</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>array of opacities for each layer</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>array</p>
</dd>
</dl>
</dd></dl>
<dl class="js function">
<dt class="sig sig-object js" id="map.setMetatileLayerOpacity">
<span class="sig-prename descclassname"><span class="n"><span class="pre">map</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setMetatileLayerOpacity</span></span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">opacities</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#map.setMetatileLayerOpacity" title="Link to this definition"></a></dt>
<dd><p>Sets the opacities that metatile layers are rendered with for the current layout, where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are <code class="docutils literal notranslate"><span class="pre">[1.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></code>.</p>
<p>Any additional elements after the first 3 are ignored. Any elements not provided will be rendered with opacity <code class="docutils literal notranslate"><span class="pre">1.0</span></code>.</p>
<p>If youd like to set the default metatile layer opacities for all layouts, see <a class="reference internal" href="#utility.setMetatileLayerOpacity" title="utility.setMetatileLayerOpacity"><code class="xref js js-func docutils literal notranslate"><span class="pre">utility.setMetatileLayerOpacity</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>opacities</strong> (<span><code class="xref js js-func docutils literal notranslate"><span class="pre">array</span></code></span>) array of opacities for each layer</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</section>
<section id="overlay-functions">
<h4>Overlay Functions<a class="headerlink" href="#overlay-functions" title="Link to this heading"></a></h4>
@ -3134,10 +3216,11 @@
<dl class="js function">
<dt class="sig sig-object js" id="utility.getMetatileLayerOrder">
<span class="sig-prename descclassname"><span class="n"><span class="pre">utility</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getMetatileLayerOrder</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#utility.getMetatileLayerOrder" title="Link to this definition"></a></dt>
<dd><p>Gets the order that metatile layers are rendered.</p>
<dd><p>Gets the order that metatile layers are rendered by default, where <code class="docutils literal notranslate"><span class="pre">0</span></code> is the bottom layer, <code class="docutils literal notranslate"><span class="pre">1</span></code> is the middle layer, and <code class="docutils literal notranslate"><span class="pre">2</span></code> is the top layer. The default order is <code class="docutils literal notranslate"><span class="pre">[0,</span> <span class="pre">1,</span> <span class="pre">2]</span></code>.</p>
<p>If youd like to get the metatile layer order for only the current layout, see <a class="reference internal" href="#map.getMetatileLayerOrder" title="map.getMetatileLayerOrder"><code class="xref js js-func docutils literal notranslate"><span class="pre">map.getMetatileLayerOrder</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>array of layers. The bottom layer is represented as 0.</p>
<dd class="field-odd"><p>array of layers</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>array</p>
@ -3148,11 +3231,13 @@
<dl class="js function">
<dt class="sig sig-object js" id="utility.setMetatileLayerOrder">
<span class="sig-prename descclassname"><span class="n"><span class="pre">utility</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setMetatileLayerOrder</span></span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">order</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#utility.setMetatileLayerOrder" title="Link to this definition"></a></dt>
<dd><p>Sets the order that metatile layers are rendered.</p>
<dd><p>Sets the order that metatile layers are rendered by default, where <code class="docutils literal notranslate"><span class="pre">0</span></code> is the bottom layer, <code class="docutils literal notranslate"><span class="pre">1</span></code> is the middle layer, and <code class="docutils literal notranslate"><span class="pre">2</span></code> is the top layer. The default order is <code class="docutils literal notranslate"><span class="pre">[0,</span> <span class="pre">1,</span> <span class="pre">2]</span></code>.</p>
<p>If no elements are provided the layer order will be reset to the default. Any layer not listed in the provided <code class="docutils literal notranslate"><span class="pre">order</span></code> will not be rendered. Any additional elements after the first 3 are ignored.</p>
<p>If youd like to set the metatile layer order for only the current layout, see <a class="reference internal" href="#map.setMetatileLayerOrder" title="map.setMetatileLayerOrder"><code class="xref js js-func docutils literal notranslate"><span class="pre">map.setMetatileLayerOrder</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>order</strong> (<span><code class="xref js js-func docutils literal notranslate"><span class="pre">array</span></code></span>) array of layers. The bottom layer is represented as 0.</p></li>
<li><p><strong>order</strong> (<span><code class="xref js js-func docutils literal notranslate"><span class="pre">array</span></code></span>) array of layers</p></li>
</ul>
</dd>
</dl>
@ -3161,10 +3246,11 @@
<dl class="js function">
<dt class="sig sig-object js" id="utility.getMetatileLayerOpacity">
<span class="sig-prename descclassname"><span class="n"><span class="pre">utility</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getMetatileLayerOpacity</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#utility.getMetatileLayerOpacity" title="Link to this definition"></a></dt>
<dd><p>Gets the opacities that metatile layers are rendered with.</p>
<dd><p>Gets the opacities that metatile layers are rendered with by default, where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are <code class="docutils literal notranslate"><span class="pre">[1.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></code>.</p>
<p>If youd like to get the metatile layer opacities for only the current layout, see <a class="reference internal" href="#map.getMetatileLayerOpacity" title="map.getMetatileLayerOpacity"><code class="xref js js-func docutils literal notranslate"><span class="pre">map.getMetatileLayerOpacity</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>array of opacities for each layer. The bottom layer is the first element.</p>
<dd class="field-odd"><p>array of opacities for each layer</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>array</p>
@ -3175,11 +3261,13 @@
<dl class="js function">
<dt class="sig sig-object js" id="utility.setMetatileLayerOpacity">
<span class="sig-prename descclassname"><span class="n"><span class="pre">utility</span></span><span class="p"><span class="pre">.</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setMetatileLayerOpacity</span></span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">opacities</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#utility.setMetatileLayerOpacity" title="Link to this definition"></a></dt>
<dd><p>Sets the opacities that metatile layers are rendered with.</p>
<dd><p>Sets the opacities that metatile layers are rendered with by default, where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are <code class="docutils literal notranslate"><span class="pre">[1.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></code>.</p>
<p>Any additional elements after the first 3 are ignored. Any elements not provided will be rendered with opacity <code class="docutils literal notranslate"><span class="pre">1.0</span></code>.</p>
<p>If youd like to set the metatile layer opacities for only the current layout, see <a class="reference internal" href="#map.setMetatileLayerOpacity" title="map.setMetatileLayerOpacity"><code class="xref js js-func docutils literal notranslate"><span class="pre">map.setMetatileLayerOpacity</span></code></a> instead.</p>
<dl class="field-list simple">
<dt class="field-odd">Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>opacities</strong> (<span><code class="xref js js-func docutils literal notranslate"><span class="pre">array</span></code></span>) array of opacities for each layer. The bottom layer is the first element.</p></li>
<li><p><strong>opacities</strong> (<span><code class="xref js js-func docutils literal notranslate"><span class="pre">array</span></code></span>) array of opacities for each layer</p></li>
</ul>
</dd>
</dl>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -114,6 +114,8 @@
<li class="toctree-l1"><a class="reference internal" href="../manual/editing-wild-encounters.html">Editing Wild Encounters</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../manual/editing-wild-encounters.html#adding-new-encounter-groups">Adding New Encounter Groups</a></li>
<li class="toctree-l2"><a class="reference internal" href="../manual/editing-wild-encounters.html#configuring-the-wild-encounter-fields">Configuring the Wild Encounter Fields</a></li>
<li class="toctree-l2"><a class="reference internal" href="../manual/editing-wild-encounters.html#summary-chart">Summary Chart</a></li>
<li class="toctree-l2"><a class="reference internal" href="../manual/editing-wild-encounters.html#species-search">Species Search</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../manual/creating-new-maps.html">Creating New Maps</a></li>
@ -204,10 +206,20 @@
<li class="toctree-l2"><a class="reference internal" href="../manual/breaking-changes.html#what-s-a-breaking-change">Whats a breaking change?</a></li>
<li class="toctree-l2"><a class="reference internal" href="../manual/breaking-changes.html#updating-your-project">Updating your project</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../manual/breaking-changes.html#from-5-x-x-to-6-x-x">From <code class="docutils literal notranslate"><span class="pre">5.x.x</span></code> to <code class="docutils literal notranslate"><span class="pre">6.x.x</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#change">Change</a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#map-num-map-group">1. <code class="docutils literal notranslate"><span class="pre">MAP_NUM</span></code>/<code class="docutils literal notranslate"><span class="pre">MAP_GROUP</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#heal-locations">2. Heal Locations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#region-map-sections">3. Region Map Sections</a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#local-ids">4. Local IDs</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../manual/breaking-changes.html#from-4-x-x-to-5-x-x">From <code class="docutils literal notranslate"><span class="pre">4.x.x</span></code> to <code class="docutils literal notranslate"><span class="pre">5.x.x</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#map-none-renamed">1. <code class="docutils literal notranslate"><span class="pre">MAP_NONE</span></code> renamed</a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#dest-warp-id">2. <code class="docutils literal notranslate"><span class="pre">dest_warp_id</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#clone-object-events">3. Clone Object events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#region-map-editor">4. Region Map Editor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../manual/breaking-changes.html#additional-api-changes">5. Additional API changes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../manual/breaking-changes.html#from-4-x-x-to-5-x-x">From <code class="docutils literal notranslate"><span class="pre">4.x.x</span></code> to <code class="docutils literal notranslate"><span class="pre">5.x.x</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../manual/breaking-changes.html#prior-to-4-x-x">Prior to <code class="docutils literal notranslate"><span class="pre">4.x.x</span></code></a></li>
</ul>
</li>
@ -236,140 +248,160 @@
<p class="caption" role="heading"><span class="caption-text">Reference</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#unreleased">Unreleased</a><ul>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id2">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id3">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id4">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id5">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id6">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id7">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id8">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id9">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id10">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id11">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id12">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id13">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id14">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id15">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id16">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id17">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id18">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id19">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id20">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id21">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id22">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id23">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id24">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id25">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id26">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id27">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id28">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id29">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id30">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id31">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id32">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id33">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id34">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id35">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id36">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id37">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id38">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id39">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id40">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id41">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id42">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id43">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id47">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id48">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id49">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id50">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id51">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id52">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id53">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id54">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id55">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id56">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id58">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id59">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id63">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id64">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id65">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id66">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id67">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id68">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id69">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id70">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id72">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id74">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id75">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id76">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id77">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id78">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id79">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id80">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id81">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id82">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id83">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id84">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id85">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Related Projects</a></li>

View File

@ -250,141 +250,159 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.0.0 - 2025-05-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">6.3.0 - 2025-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">6.2.0 - 2025-08-08</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">6.1.0 - 2025-06-09</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">6.0.0 - 2025-05-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id28">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id29">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id32">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id33">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id36">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id37">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id38">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id40">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id41">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id42">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id44">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id45">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id47">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id48">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id58">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id57">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id60">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id61">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id66">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id69">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id72">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id70">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id74">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Added</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id83">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id84">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id85">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id86">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id83">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id84">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id85">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id87">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id86">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id87">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id88">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id89">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id90">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id91">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id92">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id93">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id94">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id95">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id96">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id97">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id98">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id99">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>

File diff suppressed because one or more lines are too long

View File

@ -82,6 +82,8 @@ Pencil Tool
The Pencil Tool |pencil-tool| (``Tools > Pencil``, or ``N``) is your bread and butter when editing maps. Simply left-click to paint your current metatile selection onto the map. You can click and drag to paint a bigger portion of the map. When clicking and dragging, the metatiles will be painted as if they are snapping to a grid. This simplifies things like painting large areas of trees.
While using the Pencil Tool (or really, viewing any map view in Porymap), the middle mouse button can be pressed as a hotkey to pan around the map. This is a convenient shortcut as an alternative to selecting the Move Tool.
.. figure:: images/editing-map-tiles/snapping-painting.gif
:alt: Painting a Large Metatile Selection
:align: center

View File

@ -11,6 +11,9 @@ Porymap is extensible via scripting capabilities. This allows the user to write
- Procedurally Generated Maps
- Randomize Grass Patterns
.. note::
If you are compiling Porymap yourself, these features will only be available if Qt's ``qml`` module is installed.
Custom Scripts Editor
---------------------
@ -1222,6 +1225,58 @@ All tileset functions are callable via the global ``map`` object.
:returns: the pixel data
:rtype: array
.. |describe-metatile-layer-order|
replace:: where ``0`` is the bottom layer, ``1`` is the middle layer, and ``2`` is the top layer. The default order is ``[0, 1, 2]``
.. |describe-metatile-layer-order-handling|
replace:: If no elements are provided the layer order will be reset to the default. Any layer not listed in the provided ``order`` will not be rendered. Any additional elements after the first 3 are ignored
.. js:function:: map.getMetatileLayerOrder()
Gets the order that metatile layers are rendered for the current layout, |describe-metatile-layer-order|.
If you'd like to get the default metatile layer order for all layouts, see :js:func:`utility.getMetatileLayerOrder` instead.
:returns: array of layers
:rtype: array
.. js:function:: map.setMetatileLayerOrder(order)
Sets the order that metatile layers are rendered for the current layout, |describe-metatile-layer-order|.
|describe-metatile-layer-order-handling|.
If you'd like to set the default metatile layer order for all layouts, see :js:func:`utility.setMetatileLayerOrder` instead.
:param order: array of layers
:type order: array
.. |describe-metatile-layer-opacity|
replace:: where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are ``[1.0, 1.0, 1.0]``
.. |describe-metatile-layer-opacity-handling|
replace:: Any additional elements after the first 3 are ignored. Any elements not provided will be rendered with opacity ``1.0``
.. js:function:: map.getMetatileLayerOpacity()
Gets the opacities that metatile layers are rendered with for the current layout, |describe-metatile-layer-opacity|.
If you'd like to get the default metatile layer opacities for all layouts, see :js:func:`utility.getMetatileLayerOpacity` instead.
:returns: array of opacities for each layer
:rtype: array
.. js:function:: map.setMetatileLayerOpacity(opacities)
Sets the opacities that metatile layers are rendered with for the current layout, |describe-metatile-layer-opacity|.
|describe-metatile-layer-opacity-handling|.
If you'd like to set the default metatile layer opacities for all layouts, see :js:func:`utility.setMetatileLayerOpacity` instead.
:param opacities: array of opacities for each layer
:type opacities: array
Overlay Functions
^^^^^^^^^^^^^^^^^
@ -1811,30 +1866,42 @@ All settings functions are callable via the global ``utility`` object.
.. js:function:: utility.getMetatileLayerOrder()
Gets the order that metatile layers are rendered.
Gets the order that metatile layers are rendered by default, |describe-metatile-layer-order|.
:returns: array of layers. The bottom layer is represented as 0.
If you'd like to get the metatile layer order for only the current layout, see :js:func:`map.getMetatileLayerOrder` instead.
:returns: array of layers
:rtype: array
.. js:function:: utility.setMetatileLayerOrder(order)
Sets the order that metatile layers are rendered.
Sets the order that metatile layers are rendered by default, |describe-metatile-layer-order|.
:param order: array of layers. The bottom layer is represented as 0.
|describe-metatile-layer-order-handling|.
If you'd like to set the metatile layer order for only the current layout, see :js:func:`map.setMetatileLayerOrder` instead.
:param order: array of layers
:type order: array
.. js:function:: utility.getMetatileLayerOpacity()
Gets the opacities that metatile layers are rendered with.
Gets the opacities that metatile layers are rendered with by default, |describe-metatile-layer-opacity|.
:returns: array of opacities for each layer. The bottom layer is the first element.
If you'd like to get the metatile layer opacities for only the current layout, see :js:func:`map.getMetatileLayerOpacity` instead.
:returns: array of opacities for each layer
:rtype: array
.. js:function:: utility.setMetatileLayerOpacity(opacities)
Sets the opacities that metatile layers are rendered with.
Sets the opacities that metatile layers are rendered with by default, |describe-metatile-layer-opacity|.
:param opacities: array of opacities for each layer. The bottom layer is the first element.
|describe-metatile-layer-opacity-handling|.
If you'd like to set the metatile layer opacities for only the current layout, see :js:func:`map.setMetatileLayerOpacity` instead.
:param opacities: array of opacities for each layer
:type opacities: array

View File

@ -1114,6 +1114,9 @@
<property name="editable">
<bool>true</bool>
</property>
<property name="minimumContentsLength">
<number>0</number>
</property>
</widget>
</item>
<item row="2" column="0">
@ -1134,35 +1137,24 @@
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QFrame" name="frame_LayoutSelection">
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
<property name="minimumContentsLength">
<number>0</number>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QFormLayout" name="formLayout_3">
<property name="topMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_Layout">
<property name="text">
<string>Layout</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="NoScrollComboBox" name="comboBox_LayoutSelector"/>
<widget class="NoScrollComboBox" name="comboBox_LayoutSelector">
<property name="minimumContentsLength">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_Layout">
<property name="text">
<string>Layout</string>
</property>
</widget>
</item>
</layout>
</widget>
@ -1249,7 +1241,7 @@
</spacer>
</item>
<item row="2" column="1">
<widget class="NoScrollGraphicsView" name="graphicsView_Collision">
<widget class="NoScrollGraphicsView" name="graphicsView_CollisionSelector">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@ -1638,9 +1630,6 @@
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_NoEvents">
<property name="text">
<string>There are no events on the current map.</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
@ -2608,9 +2597,6 @@
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustIgnored</enum>
</property>
<property name="dragMode">
<enum>QGraphicsView::DragMode::NoDrag</enum>
</property>
<property name="transformationAnchor">
<enum>QGraphicsView::ViewportAnchor::AnchorUnderMouse</enum>
</property>
@ -2870,7 +2856,8 @@
<addaction name="action_NewMap"/>
<addaction name="action_NewLayout"/>
<addaction name="actionNew_Tileset"/>
<addaction name="actionDuplicate_Current_Map_Layout"/>
<addaction name="actionDuplicate_Current_Map"/>
<addaction name="actionDuplicate_Current_Layout"/>
<addaction name="separator"/>
<addaction name="actionImport_Map_from_Advance_Map_1_92"/>
<addaction name="separator"/>
@ -2926,6 +2913,7 @@
<string>Help</string>
</property>
<addaction name="actionAbout_Porymap"/>
<addaction name="actionOpen_Manual"/>
<addaction name="actionOpen_Log_File"/>
<addaction name="actionOpen_Config_Folder"/>
<addaction name="actionCheck_for_Updates"/>
@ -3246,9 +3234,17 @@
<string>New Layout...</string>
</property>
</action>
<action name="actionDuplicate_Current_Map_Layout">
<action name="actionDuplicate_Current_Map">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Duplicate Current Map/Layout...</string>
<string>Duplicate Current Map...</string>
</property>
</action>
<action name="actionDuplicate_Current_Layout">
<property name="text">
<string>Duplicate Current Layout...</string>
</property>
</action>
<action name="actionBack">
@ -3267,6 +3263,11 @@
<string>Alt+Right</string>
</property>
</action>
<action name="actionOpen_Manual">
<property name="text">
<string>Open Manual</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>

View File

@ -0,0 +1,526 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MetatileImageExporter</class>
<widget class="QDialog" name="MetatileImageExporter">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>649</width>
<height>601</height>
</rect>
</property>
<property name="windowTitle">
<string>Export Metatiles Image</string>
</property>
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="1">
<widget class="QFrame" name="frame_Options">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::FocusPolicy::ClickFocus</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_Options">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea_Options">
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_Options">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>304</width>
<height>532</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_Tilesets">
<property name="title">
<string>Tilesets</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_SecondaryTileset">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, automatically update the metatile range to include the full secondary tileset.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Secondary Tileset</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="NoScrollComboBox" name="comboBox_PrimaryTileset">
<property name="enabled">
<bool>false</bool>
</property>
<property name="editable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="NoScrollComboBox" name="comboBox_SecondaryTileset">
<property name="enabled">
<bool>false</bool>
</property>
<property name="editable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="checkBox_PrimaryTileset">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, automatically update the metatile range to include the full primary tileset.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Primary Tileset</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_MetatileRange">
<property name="enabled">
<bool>false</bool>
</property>
<property name="title">
<string>Metatile Range</string>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_MetatileStart">
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="UIntHexSpinBox" name="spinBox_MetatileStart">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The metatile ID to start the rendered image at.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_MetatileEnd">
<property name="text">
<string>End</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="UIntHexSpinBox" name="spinBox_MetatileEnd">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The metatile ID to end the rendered image at.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_Layers">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Each metatile consists of 3 layers of tiles. These layers can be toggled here by clicking the checkbox, or rearranged by clicking and dragging them up or down in the list.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="title">
<string>Layers</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="ReorderableListWidget" name="listWidget_Layers">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustToContentsOnFirstShow</enum>
</property>
<property name="dragEnabled">
<bool>true</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDropMode::InternalMove</enum>
</property>
<property name="defaultDropAction">
<enum>Qt::DropAction::MoveAction</enum>
</property>
<property name="resizeMode">
<enum>QListView::ResizeMode::Adjust</enum>
</property>
<property name="itemAlignment">
<set>Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_Transparency">
<property name="title">
<string>Transparency</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QRadioButton" name="radioButton_TransparencyNormal">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, transparent pixels in the image will be rendered with alpha of 0.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Normal</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_TransparencyBlack">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, transparent pixels in the image will be rendered as black. This is the default in-game behavior.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Black</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_TransparencyFirst">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, transparent pixels in the image will be rendered using the first color in tileset palette 0. This is the default behavior of the GBA.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>First palette color</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_Misc">
<property name="title">
<string>Miscellaneous</string>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_Placeholders">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, display the placeholder tiles that are rendered for the unused layer in-game. For a given metatile only 2 of the 3 tile layers are used, and the 3rd layer is filled with these placeholder tiles. The unused layer and placeholder tile change depending on the metatile's layer type.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Render placeholder metatiles</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_WidthMetatiles">
<property name="text">
<string>Width (metatiles)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="UIntSpinBox" name="spinBox_WidthMetatiles">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Width of the output image in metatiles.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_WidthPixels">
<property name="text">
<string>Width (pixels)</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="UIntSpinBox" name="spinBox_WidthPixels">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Width of the output image in pixels. Automatically rounded up to a multiple of a metatile's pixel width.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="minimum" stdset="0">
<number>16</number>
</property>
<property name="maximum" stdset="0">
<number>128</number>
</property>
<property name="singleStep" stdset="0">
<number>16</number>
</property>
<property name="value" stdset="0">
<number>128</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_Buttons">
<item>
<widget class="QPushButton" name="pushButton_Reset">
<property name="text">
<string>Reset</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_Close">
<property name="text">
<string>Close</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_Save">
<property name="text">
<string>Save</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_Preview">
<property name="title">
<string>Preview</string>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QScrollArea" name="scrollArea_Preview">
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustToContents</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_Preview">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>285</width>
<height>551</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="2" column="3">
<widget class="QGraphicsView" name="graphicsView_Preview">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="mouseTracking">
<bool>false</bool>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustIgnored</enum>
</property>
<property name="dragMode">
<enum>QGraphicsView::DragMode::NoDrag</enum>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>NoScrollComboBox</class>
<extends>QComboBox</extends>
<header>noscrollcombobox.h</header>
</customwidget>
<customwidget>
<class>UIntSpinBox</class>
<extends>QAbstractSpinBox</extends>
<header>uintspinbox.h</header>
</customwidget>
<customwidget>
<class>UIntHexSpinBox</class>
<extends>UIntSpinBox</extends>
<header location="global">uintspinbox.h</header>
</customwidget>
<customwidget>
<class>ReorderableListWidget</class>
<extends>QListWidget</extends>
<header>metatileimageexporter.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -17,6 +17,9 @@
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="sizeConstraint">
<enum>QLayout::SizeConstraint::SetFixedSize</enum>
</property>
<item>
<widget class="QFrame" name="form">
<layout class="QFormLayout" name="formLayout">

152
forms/palettecolorsearch.ui Normal file
View File

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PaletteColorSearch</class>
<widget class="QDialog" name="PaletteColorSearch">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>547</width>
<height>329</height>
</rect>
</property>
<property name="windowTitle">
<string>Palette Color Search</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_Title">
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="searchBar">
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QFrame" name="frame_Color">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_Color">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item>
<widget class="NoScrollSpinBox" name="spinBox_ColorId">
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_Palette">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Palette</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_PaletteId"/>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTableWidget" name="table_Results">
<property name="columnCount">
<number>2</number>
</property>
<column/>
<column/>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::StandardButton::Close</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>NoScrollSpinBox</class>
<extends>QSpinBox</extends>
<header>noscrollspinbox.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -38,6 +38,27 @@
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_ColorSearch">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Opens a search dialog to find which tilesets/metatiles are using certain colors.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources/images.qrc">
<normaloff>:/icons/magnifier.ico</normaloff>:/icons/magnifier.ico</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_AllColorsUsed">
<property name="text">
<string>(All colors used)</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
@ -89,7 +110,7 @@
<x>0</x>
<y>0</y>
<width>883</width>
<height>784</height>
<height>779</height>
</rect>
</property>
<layout class="QGridLayout" name="layout_Colors">
@ -133,11 +154,28 @@
<addaction name="actionUndo"/>
<addaction name="actionRedo"/>
</widget>
<widget class="QMenu" name="menuView">
<property name="title">
<string>View</string>
</property>
<addaction name="actionShow_Unused_Colors"/>
</widget>
<widget class="QMenu" name="menuTools">
<property name="title">
<string>Tools</string>
</property>
<addaction name="actionFind_Color_Usage"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuEdit"/>
<addaction name="menuView"/>
<addaction name="menuTools"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionUndo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Undo</string>
</property>
@ -152,6 +190,9 @@
</property>
</action>
<action name="actionRedo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Redo</string>
</property>
@ -164,7 +205,22 @@
<string>Import Palette</string>
</property>
</action>
<action name="actionShow_Unused_Colors">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Show Unused Colors</string>
</property>
</action>
<action name="actionFind_Color_Usage">
<property name="text">
<string>Find Color Usage...</string>
</property>
</action>
</widget>
<resources/>
<resources>
<include location="../resources/images.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -48,52 +48,84 @@
<x>0</x>
<y>0</y>
<width>493</width>
<height>374</height>
<height>408</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QCheckBox" name="checkBox_MonitorProjectFiles">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, a prompt to reload your project will appear if relevant project files are edited&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Monitor project files</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_OpenRecentProject">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, Porymap will automatically open your most recently opened project on startup&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Open recent project on launch</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_CheckForUpdates">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, Porymap will automatically alert you on startup if a new release is available&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Automatically check for updates</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_Themes">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Application Theme</string>
</property>
</widget>
<layout class="QFormLayout" name="formLayout">
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_CheckForUpdates">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, Porymap will automatically alert you on startup if a new release is available&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Automatically check for updates</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_OpenRecentProject">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, Porymap will automatically open your most recently opened project on startup&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Open recent project on launch</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_MonitorProjectFiles">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, a prompt to reload your project will appear if relevant project files are edited&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Monitor project files</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_ApplicationTheme">
<property name="text">
<string>Application Theme</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="NoScrollComboBox" name="comboBox_ApplicationTheme">
<property name="editable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_ColorSpace">
<property name="text">
<string>Image Export Color Space</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="NoScrollComboBox" name="comboBox_ColorSpace">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The color space to use for exported images. If &amp;quot;---&amp;quot; is set, no color space will be used for the exported image. For details on each color space, see Qt's manual page for QColorSpace.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="editable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="checkBox_ShowProjectLoadingScreen">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, a loading screen with progress information will appear when a project is opened.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Show project loading screen</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_Fonts">
@ -104,7 +136,7 @@
<item row="3" column="0">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -159,7 +191,7 @@
<item row="0" column="3">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -209,7 +241,7 @@
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -253,13 +285,42 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_AutocompleteAllScripts">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, the list of suggestions when typing in an Event's Script field will include all global script labels in the project. Enabling this setting will make Porymap's startup slower.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Autocomplete Script labels using all possible scripts</string>
<widget class="QGroupBox" name="groupBox_ScriptAutocomplete">
<property name="title">
<string>Script label autocomplete</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QRadioButton" name="radioButton_AutocompleteAllScripts">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, the list of suggestions when typing in an Event's Script field will include all global script labels in the project. This is the slowest option for Porymap's project opening.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>All possible scripts</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_AutocompleteCommonScripts">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, the list of suggestions when typing in an Event's Script field will include script labels from the current map's scripts file, scripts in-use by the map's other events, and all script files in the &lt;span style=&quot; font-family:'SFMono-Regular','Menlo','Monaco','Consolas','Liberation Mono','Courier New','Courier','monospace'; font-size:11px; color:#e74c3c; background-color:#ffffff;&quot;&gt;data_scripts_folders &lt;/span&gt;folder.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Current map, and global script files</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_AutocompleteMapScripts">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If checked, the list of suggestions when typing in an Event's Script field will only include script labels from the current map's scripts file and scripts in-use by the map's other events. This is the fastest option for Porymap's project opening.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Current map only</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
@ -294,7 +355,7 @@
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -323,7 +384,7 @@
<item>
<widget class="QScrollArea" name="scrollArea_TextEditor">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
@ -333,13 +394,13 @@
<rect>
<x>0</x>
<y>0</y>
<width>476</width>
<height>343</height>
<width>495</width>
<height>376</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetMinimumSize</enum>
<enum>QLayout::SizeConstraint::SetMinimumSize</enum>
</property>
<item row="6" column="0" colspan="2">
<widget class="QLabel" name="label_TextEditorGotoLineHelp">
@ -347,7 +408,7 @@
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When this command is set a button will appear next to the &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Script&lt;/span&gt; combo-box in the &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Events&lt;/span&gt; tab which executes this command.&lt;span style=&quot; font-weight:600;&quot;&gt; %F&lt;/span&gt; will be substituted with the file path of the script and &lt;span style=&quot; font-weight:600;&quot;&gt;%L&lt;/span&gt; will be substituted with the line number of the script in that file. &lt;span style=&quot; font-weight:600;&quot;&gt;%F &lt;/span&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;must&lt;/span&gt; be given if &lt;span style=&quot; font-weight:600;&quot;&gt;%L&lt;/span&gt; is given. If &lt;span style=&quot; font-weight:600;&quot;&gt;%F&lt;/span&gt; is &lt;span style=&quot; font-style:italic;&quot;&gt;not&lt;/span&gt; given then the script's file path will be added to the end of the command. If the script can't be found then the current map's scripts file is opened.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
@ -380,7 +441,7 @@
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This is the command that is executed when clicking &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Open Project in Text Editor&lt;/span&gt; in the &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Tools&lt;/span&gt; menu. &lt;span style=&quot; font-weight:600;&quot;&gt;%D&lt;/span&gt; will be substituted with the project's root directory. If &lt;span style=&quot; font-weight:600;&quot;&gt;%D&lt;/span&gt; is &lt;span style=&quot; font-style:italic;&quot;&gt;not&lt;/span&gt; specified then the project directory will be added to the end of the command.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
@ -410,10 +471,10 @@
<item row="2" column="0" colspan="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -426,7 +487,7 @@
<item row="7" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -447,13 +508,20 @@
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
<set>QDialogButtonBox::StandardButton::Apply|QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<customwidgets>
<customwidget>
<class>NoScrollComboBox</class>
<extends>QComboBox</extends>
<header>noscrollcombobox.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -852,7 +852,7 @@
<x>0</x>
<y>0</y>
<width>570</width>
<height>798</height>
<height>837</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_12">
@ -973,6 +973,27 @@
</layout>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout_MetatileSelectorWidth">
<item row="0" column="0">
<widget class="QLabel" name="label_MetatileSelectorWidth">
<property name="text">
<string>Metatile Selector Width</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="NoScrollSpinBox" name="spinBox_MetatileSelectorWidth">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The width (in metatiles) of the metatile selectors on the Map tab and in the Tileset Editor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QFrame" name="frame_WarningTilesetsTab">
<property name="styleSheet">
@ -1873,16 +1894,6 @@
<extends>QComboBox</extends>
<header>noscrollcombobox.h</header>
</customwidget>
<customwidget>
<class>NoScrollSpinBox</class>
<extends>QSpinBox</extends>
<header>noscrollspinbox.h</header>
</customwidget>
<customwidget>
<class>NoScrollTextEdit</class>
<extends>QTextEdit</extends>
<header>noscrolltextedit.h</header>
</customwidget>
<customwidget>
<class>UIntSpinBox</class>
<extends>QAbstractSpinBox</extends>
@ -1893,6 +1904,16 @@
<extends>UIntSpinBox</extends>
<header location="global">uintspinbox.h</header>
</customwidget>
<customwidget>
<class>NoScrollSpinBox</class>
<extends>QSpinBox</extends>
<header>noscrollspinbox.h</header>
</customwidget>
<customwidget>
<class>NoScrollTextEdit</class>
<extends>QTextEdit</extends>
<header>noscrolltextedit.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../resources/images.qrc"/>

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>733</width>
<width>748</width>
<height>784</height>
</rect>
</property>
@ -65,7 +65,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>239</width>
<width>241</width>
<height>659</height>
</rect>
</property>
@ -158,7 +158,7 @@
<property name="minimumSize">
<size>
<width>0</width>
<height>166</height>
<height>190</height>
</size>
</property>
<property name="frameShape">
@ -194,177 +194,291 @@
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="15" column="0" colspan="4">
<widget class="QLineEdit" name="lineEdit_metatileLabel">
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2" colspan="3">
<widget class="NoScrollComboBox" name="comboBox_layerType">
<layout class="QGridLayout" name="gridLayout_MetatileProperties">
<item row="5" column="0" colspan="2">
<widget class="QFrame" name="frame_RawAttributesValue">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>185</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="label_RawAttributesValue">
<property name="text">
<string>Raw Attributes Value</string>
</property>
</widget>
</item>
<item>
<widget class="UIntHexSpinBox" name="spinBox_RawAttributesValue"/>
</item>
<item>
<spacer name="verticalSpacer_10">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="14" column="0" colspan="5">
<widget class="QLabel" name="label_metatileLabel">
<property name="text">
<string>Metatile Label (Optional)</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_BottomTop">
<property name="text">
<string>Bottom/Top</string>
</property>
</widget>
</item>
<item row="10" column="0" colspan="5">
<widget class="QLabel" name="label_terrainType">
<property name="text">
<string>Terrain Type</string>
</property>
</widget>
</item>
<item row="0" column="2" colspan="3">
<widget class="QLabel" name="label_layerType">
<property name="text">
<string>Layer Type</string>
</property>
</widget>
</item>
<item row="7" column="0" colspan="5">
<widget class="NoScrollComboBox" name="comboBox_metatileBehaviors">
<item row="0" column="1" rowspan="2">
<widget class="QFrame" name="frame_LayerType">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="insertPolicy">
<enum>QComboBox::InsertPolicy::NoInsert</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_LayerType">
<property name="text">
<string>Layer Type</string>
</property>
</widget>
</item>
<item>
<widget class="NoScrollComboBox" name="comboBox_LayerType">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>185</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGraphicsView" name="graphicsView_metatileLayers">
<item row="6" column="0" colspan="2">
<widget class="QFrame" name="frame_MetatileLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>66</width>
<height>34</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>96</width>
<height>34</height>
</size>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item row="1" column="1">
<widget class="QToolButton" name="copyButton_MetatileLabel">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copies the full metatile label to the clipboard.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources/images.qrc">
<normaloff>:/icons/clipboard.ico</normaloff>:/icons/clipboard.ico</iconset>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLineEdit" name="lineEdit_MetatileLabel">
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_MetatileLabel">
<property name="text">
<string>Metatile Label (Optional)</string>
</property>
</widget>
</item>
<item row="2" column="0">
<spacer name="verticalSpacer_11">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="11" column="0" colspan="5">
<widget class="NoScrollComboBox" name="comboBox_terrainType">
<item row="4" column="0" colspan="2">
<widget class="QFrame" name="frame_TerrainType">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="insertPolicy">
<enum>QComboBox::InsertPolicy::NoInsert</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="label_TerrainType">
<property name="text">
<string>Terrain Type</string>
</property>
</widget>
</item>
<item>
<widget class="NoScrollComboBox" name="comboBox_TerrainType">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="insertPolicy">
<enum>QComboBox::InsertPolicy::NoInsert</enum>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_9">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="9" column="0" colspan="5">
<widget class="NoScrollComboBox" name="comboBox_encounterType">
<item row="3" column="0" colspan="2">
<widget class="QFrame" name="frame_EncounterType">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="insertPolicy">
<enum>QComboBox::InsertPolicy::NoInsert</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="label_EncounterType">
<property name="text">
<string>Encounter Type</string>
</property>
</widget>
</item>
<item>
<widget class="NoScrollComboBox" name="comboBox_EncounterType">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="insertPolicy">
<enum>QComboBox::InsertPolicy::NoInsert</enum>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" colspan="5">
<widget class="QLabel" name="label_metatileBehavior">
<property name="text">
<string>Metatile Behavior</string>
</property>
</widget>
</item>
<item row="12" column="0" colspan="5">
<widget class="QLabel" name="label_rawAttributesValue">
<property name="text">
<string>Raw Attributes Value</string>
</property>
</widget>
</item>
<item row="8" column="0" colspan="5">
<widget class="QLabel" name="label_encounterType">
<property name="text">
<string>Encounter Type</string>
</property>
</widget>
</item>
<item row="15" column="4">
<widget class="QToolButton" name="copyButton_metatileLabel">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copies the full metatile label to the clipboard.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources/images.qrc">
<normaloff>:/icons/clipboard.ico</normaloff>:/icons/clipboard.ico</iconset>
</property>
</widget>
</item>
<item row="16" column="0">
<item row="10" column="0">
<spacer name="verticalSpacer_7">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
@ -377,8 +491,119 @@
</property>
</spacer>
</item>
<item row="13" column="0" colspan="5">
<widget class="UIntHexSpinBox" name="spinBox_rawAttributesValue"/>
<item row="2" column="0" colspan="2">
<widget class="QFrame" name="frame_MetatileBehavior">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="label_MetatileBehavior">
<property name="text">
<string>Metatile Behavior</string>
</property>
</widget>
</item>
<item>
<widget class="NoScrollComboBox" name="comboBox_MetatileBehaviors">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="insertPolicy">
<enum>QComboBox::InsertPolicy::NoInsert</enum>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QFrame" name="frame_Layers">
<layout class="QVBoxLayout" name="verticalLayout_Layers">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_BottomTop">
<property name="text">
<string>Bottom/Top</string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="graphicsView_MetatileLayers">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>1</width>
<height>1</height>
</size>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_12">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
@ -457,12 +682,6 @@
</item>
<item row="4" column="0" colspan="2">
<widget class="QFrame" name="frame_SelectedTile">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>98</width>
@ -503,16 +722,22 @@
</item>
<item>
<widget class="QGraphicsView" name="graphicsView_selectedTile">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>18</width>
<height>18</height>
<width>98</width>
<height>98</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>98</width>
<height>34</height>
<height>98</height>
</size>
</property>
<property name="frameShape">
@ -526,22 +751,22 @@
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="6" column="0" colspan="2">
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
@ -561,8 +786,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>445</width>
<height>237</height>
<width>458</width>
<height>203</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
@ -623,7 +848,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>733</width>
<width>748</width>
<height>37</height>
</rect>
</property>
@ -631,18 +856,42 @@
<property name="title">
<string>File</string>
</property>
<widget class="QMenu" name="menuExport_Tiles_Image">
<property name="title">
<string>Export Tiles Image</string>
</property>
<addaction name="actionExport_Primary_Tiles_Image"/>
<addaction name="actionExport_Secondary_Tiles_Image"/>
</widget>
<widget class="QMenu" name="menuImport_AdvanceMap_Metatiles">
<property name="title">
<string>Import Metatiles from Advance Map 1.92</string>
</property>
<addaction name="actionImport_Primary_AdvanceMap_Metatiles"/>
<addaction name="actionImport_Secondary_AdvanceMap_Metatiles"/>
</widget>
<widget class="QMenu" name="menuImport_Tiles_Image">
<property name="title">
<string>Import Tiles Image</string>
</property>
<addaction name="actionImport_Primary_Tiles_Image"/>
<addaction name="actionImport_Secondary_Tiles_Image"/>
</widget>
<widget class="QMenu" name="menuExport_porytiles_Layer_Images">
<property name="title">
<string>Export Porytiles Layer Images</string>
</property>
<addaction name="actionExport_Primary_Porytiles_Layer_Images"/>
<addaction name="actionExport_Secondary_Porytiles_Layer_Images"/>
</widget>
<addaction name="actionSave_Tileset"/>
<addaction name="separator"/>
<addaction name="actionImport_Primary_Tiles"/>
<addaction name="actionImport_Secondary_Tiles"/>
<addaction name="menuImport_Tiles_Image"/>
<addaction name="menuImport_AdvanceMap_Metatiles"/>
<addaction name="separator"/>
<addaction name="actionImport_Primary_Metatiles"/>
<addaction name="actionImport_Secondary_Metatiles"/>
<addaction name="separator"/>
<addaction name="actionExport_Primary_Tiles_Image"/>
<addaction name="actionExport_Secondary_Tiles_Image"/>
<addaction name="actionExport_Primary_Metatiles_Image"/>
<addaction name="actionExport_Secondary_Metatiles_Image"/>
<addaction name="menuExport_Tiles_Image"/>
<addaction name="actionExport_Metatiles_Image"/>
<addaction name="menuExport_porytiles_Layer_Images"/>
</widget>
<widget class="QMenu" name="menuTools">
<property name="title">
@ -663,11 +912,20 @@
<addaction name="actionPaste"/>
<addaction name="separator"/>
<addaction name="actionChange_Metatiles_Count"/>
<addaction name="actionSwap_Metatiles"/>
</widget>
<widget class="QMenu" name="menuView">
<property name="title">
<string>View</string>
</property>
<widget class="QMenu" name="menuLayer_Arrangement">
<property name="title">
<string>Layer Arrangement</string>
</property>
<addaction name="actionLayer_Arrangement_Horizontal"/>
<addaction name="actionLayer_Arrangement_Vertical"/>
</widget>
<addaction name="menuLayer_Arrangement"/>
<addaction name="actionLayer_Grid"/>
<addaction name="actionMetatile_Grid"/>
<addaction name="actionShow_Tileset_Divider"/>
@ -691,16 +949,6 @@
<string>Ctrl+S</string>
</property>
</action>
<action name="actionImport_Primary_Tiles">
<property name="text">
<string>Import Primary Tiles Image...</string>
</property>
</action>
<action name="actionImport_Secondary_Tiles">
<property name="text">
<string>Import Secondary Tiles Image...</string>
</property>
</action>
<action name="actionChange_Metatiles_Count">
<property name="text">
<string>Change Number of Metatiles...</string>
@ -736,6 +984,9 @@
</property>
</action>
<action name="actionUndo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Undo</string>
</property>
@ -744,6 +995,9 @@
</property>
</action>
<action name="actionRedo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Redo</string>
</property>
@ -751,36 +1005,6 @@
<string>Ctrl+Y</string>
</property>
</action>
<action name="actionExport_Primary_Tiles_Image">
<property name="text">
<string>Export Primary Tiles Image...</string>
</property>
</action>
<action name="actionExport_Secondary_Tiles_Image">
<property name="text">
<string>Export Secondary Tiles Image...</string>
</property>
</action>
<action name="actionImport_Primary_Metatiles">
<property name="text">
<string>Import Primary Metatiles from Advance Map 1.92...</string>
</property>
</action>
<action name="actionImport_Secondary_Metatiles">
<property name="text">
<string>Import Secondary Metatiles from Advance Map 1.92...</string>
</property>
</action>
<action name="actionExport_Primary_Metatiles_Image">
<property name="text">
<string>Export Primary Metatiles Image...</string>
</property>
</action>
<action name="actionExport_Secondary_Metatiles_Image">
<property name="text">
<string>Export Secondary Metatiles Image...</string>
</property>
</action>
<action name="actionCut">
<property name="text">
<string>Cut</string>
@ -798,6 +1022,9 @@
</property>
</action>
<action name="actionPaste">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Paste</string>
</property>
@ -840,6 +1067,78 @@
<string>Show Raw Metatile Attributes</string>
</property>
</action>
<action name="actionExport_Primary_Tiles_Image">
<property name="text">
<string>Primary...</string>
</property>
</action>
<action name="actionExport_Secondary_Tiles_Image">
<property name="text">
<string>Secondary...</string>
</property>
</action>
<action name="actionImport_Primary_AdvanceMap_Metatiles">
<property name="text">
<string>Primary...</string>
</property>
</action>
<action name="actionImport_Secondary_AdvanceMap_Metatiles">
<property name="text">
<string>Secondary...</string>
</property>
</action>
<action name="actionImport_Primary_Tiles_Image">
<property name="text">
<string>Primary...</string>
</property>
</action>
<action name="actionImport_Secondary_Tiles_Image">
<property name="text">
<string>Secondary...</string>
</property>
</action>
<action name="actionExport_Metatiles_Image">
<property name="text">
<string>Export Metatiles Image...</string>
</property>
</action>
<action name="actionExport_Primary_Porytiles_Layer_Images">
<property name="text">
<string>Primary...</string>
</property>
</action>
<action name="actionExport_Secondary_Porytiles_Layer_Images">
<property name="text">
<string>Secondary...</string>
</property>
</action>
<action name="actionLayer_Arrangement_Horizontal">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Horizontal</string>
</property>
</action>
<action name="actionLayer_Arrangement_Vertical">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Vertical</string>
</property>
</action>
<action name="actionSwap_Metatiles">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Swap Metatiles</string>
</property>
<property name="shortcut">
<string>X</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View File

@ -14,6 +14,7 @@
#include <QGraphicsPixmapItem>
#include <QFontDatabase>
#include <QStandardPaths>
#include <QColorSpace>
#include <set>
#include "events.h"
@ -27,6 +28,12 @@ extern const QVersionNumber porymapVersion;
#define CONFIG_BACKWARDS_COMPATABILITY
enum ScriptAutocompleteMode {
MapOnly,
MapAndCommon,
All,
};
class KeyValueConfigBase
{
public:
@ -54,7 +61,8 @@ protected:
static bool getConfigBool(const QString &key, const QString &value);
static int getConfigInteger(const QString &key, const QString &value, int min = INT_MIN, int max = INT_MAX, int defaultValue = 0);
static uint32_t getConfigUint32(const QString &key, const QString &value, uint32_t min = 0, uint32_t max = UINT_MAX, uint32_t defaultValue = 0);
static QColor getConfigColor(const QString &key, const QString &value, const QColor &defaultValue = Qt::black);
static QColor getConfigColor(const QString &key, const QString &value, const QColor &defaultValue = QColor(Qt::black));
static QString toConfigColor(const QColor &color);
QString m_root;
QString m_filename;
@ -65,57 +73,7 @@ class PorymapConfig: public KeyValueConfigBase
{
public:
PorymapConfig();
virtual void reset() override {
setRoot(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
this->recentProjects.clear();
this->projectManuallyClosed = false;
this->reopenOnLaunch = true;
this->mapListTab = 0;
this->mapListEditGroupsEnabled = false;
this->mapListHideEmptyEnabled.clear();
this->prettyCursors = true;
this->mirrorConnectingMaps = true;
this->showDiveEmergeMaps = false;
this->diveEmergeMapOpacity = 30;
this->diveMapOpacity = 15;
this->emergeMapOpacity = 15;
this->collisionOpacity = 50;
this->collisionZoom = 30;
this->metatilesZoom = 30;
this->tilesetEditorMetatilesZoom = 30;
this->tilesetEditorTilesZoom = 30;
this->showPlayerView = false;
this->showCursorTile = true;
this->showBorder = true;
this->showGrid = false;
this->showTilesetEditorMetatileGrid = false;
this->showTilesetEditorLayerGrid = true;
this->showTilesetEditorDivider = false;
this->showTilesetEditorRawAttributes = false;
this->monitorFiles = true;
this->tilesetCheckerboardFill = true;
this->newMapHeaderSectionExpanded = false;
this->theme = "default";
this->wildMonChartTheme = "";
this->textEditorOpenFolder = "";
this->textEditorGotoLine = "";
this->paletteEditorBitDepth = 24;
this->projectSettingsTab = 0;
this->loadAllEventScripts = false;
this->warpBehaviorWarningDisabled = false;
this->eventDeleteWarningDisabled = false;
this->eventOverlayEnabled = false;
this->checkForUpdates = true;
this->lastUpdateCheckTime = QDateTime();
this->lastUpdateCheckVersion = porymapVersion;
this->rateLimitTimes.clear();
this->eventSelectionShapeMode = QGraphicsPixmapItem::MaskShape;
this->shownInGameReloadMessage = false;
this->gridSettings = GridSettings();
this->statusBarLogTypes = { LogType::LOG_ERROR, LogType::LOG_WARN };
this->applicationFont = QFont();
this->mapListFont = PorymapConfig::defaultMapListFont();
}
virtual void reset() override;
void addRecentProject(QString project);
void setRecentProjects(QStringList projects);
QString getRecentProject();
@ -140,6 +98,8 @@ public:
int mapListTab;
bool mapListEditGroupsEnabled;
QMap<int, bool> mapListHideEmptyEnabled;
bool mapListLayoutsSorted;
bool mapListLocationsSorted;
bool prettyCursors;
bool mirrorConnectingMaps;
bool showDiveEmergeMaps;
@ -151,6 +111,7 @@ public:
int metatilesZoom;
int tilesetEditorMetatilesZoom;
int tilesetEditorTilesZoom;
Qt::Orientation tilesetEditorLayerOrientation;
bool showPlayerView;
bool showCursorTile;
bool showBorder;
@ -159,6 +120,7 @@ public:
bool showTilesetEditorLayerGrid;
bool showTilesetEditorDivider;
bool showTilesetEditorRawAttributes;
bool showPaletteEditorUnusedColors;
bool monitorFiles;
bool tilesetCheckerboardFill;
bool newMapHeaderSectionExpanded;
@ -168,11 +130,12 @@ public:
QString textEditorGotoLine;
int paletteEditorBitDepth;
int projectSettingsTab;
bool loadAllEventScripts;
ScriptAutocompleteMode scriptAutocompleteMode;
bool warpBehaviorWarningDisabled;
bool eventDeleteWarningDisabled;
bool eventOverlayEnabled;
bool checkForUpdates;
bool showProjectLoadingScreen;
QDateTime lastUpdateCheckTime;
QVersionNumber lastUpdateCheckVersion;
QMap<QUrl, QDateTime> rateLimitTimes;
@ -186,6 +149,7 @@ public:
std::set<LogType> statusBarLogTypes;
QFont applicationFont;
QFont mapListFont;
int imageExportColorSpaceId;
protected:
virtual void parseConfigKeyValue(QString key, QString value) override;
@ -351,7 +315,7 @@ public:
this->prefabImportPrompted = false;
this->tilesetsHaveCallback = true;
this->tilesetsHaveIsCompressed = true;
this->setTransparentPixelsBlack = true;
this->transparencyColor = QColor(Qt::black);
this->preserveMatchingOnlyData = false;
this->filePaths.clear();
this->eventIconPaths.clear();
@ -368,6 +332,7 @@ public:
this->unusedTileSplit = 0x0000;
this->maxEventsPerGroup = 255;
this->forcedMajorVersion = 0;
this->metatileSelectorWidth = 8;
this->globalConstantsFilepaths.clear();
this->globalConstants.clear();
this->identifiers.clear();
@ -426,7 +391,7 @@ public:
bool prefabImportPrompted;
bool tilesetsHaveCallback;
bool tilesetsHaveIsCompressed;
bool setTransparentPixelsBlack;
QColor transparencyColor;
bool preserveMatchingOnlyData;
int metatileAttributesSize;
uint32_t metatileBehaviorMask;
@ -447,6 +412,7 @@ public:
QList<uint32_t> warpBehaviors;
int maxEventsPerGroup;
int forcedMajorVersion;
int metatileSelectorWidth;
QStringList globalConstantsFilepaths;
QMap<QString,QString> globalConstants;

View File

@ -122,8 +122,8 @@ public:
int getZ() const { return this->elevation; }
int getElevation() const { return this->elevation; }
int getPixelX() const { return (this->x * 16) - qMax(0, (pixmap.width() - 16) / 2); }
int getPixelY() const { return (this->y * 16) - qMax(0, pixmap.height() - 16); }
int getPixelX() const;
int getPixelY() const;
virtual EventFrame *getEventFrame();
virtual EventFrame *createEventFrame() = 0;
@ -161,6 +161,7 @@ public:
QString getIdName() const { return this->idName; }
static QString groupToString(Event::Group group);
static QString groupToJsonKey(Event::Group group);
static QString typeToString(Event::Type type);
static QString typeToJsonKey(Event::Type type);
static Event::Type typeFromJsonKey(QString type);

View File

@ -25,6 +25,7 @@ public:
if (head > 0) {
return history.at(--head);
}
head = -1;
return NULL;
}
@ -37,9 +38,7 @@ public:
void push(T commit) {
while (head + 1 < history.length()) {
T item = history.last();
history.removeLast();
delete item;
delete history.takeLast();
}
if (saved > head) {
saved = -1;
@ -48,7 +47,7 @@ public:
head++;
}
T current() {
T current() const {
if (head < 0 || history.length() == 0) {
return NULL;
}
@ -59,10 +58,30 @@ public:
saved = head;
}
bool isSaved() {
bool isSaved() const {
return saved == head;
}
int length() const {
return history.length();
}
bool isEmpty() const {
return history.isEmpty();
}
int index() const {
return head;
}
bool canUndo() const {
return head >= 0;
}
bool canRedo() const {
return (head + 1) < history.length();
}
private:
QList<T> history;
int head = -1;

View File

@ -51,10 +51,12 @@ public:
void setLayoutId(const QString &layoutId) { m_layoutId = layoutId; }
QString layoutId() const { return layout() ? layout()->id : m_layoutId; }
int getWidth() const;
int getHeight() const;
int getBorderWidth() const;
int getBorderHeight() const;
int getWidth() const { return m_layout ? m_layout->getWidth() : 0; }
int getHeight() const { return m_layout ? m_layout->getHeight() : 0; }
int getBorderWidth() const { return m_layout ? m_layout->getBorderWidth() : 0; }
int getBorderHeight() const { return m_layout ? m_layout->getBorderHeight() : 0; }
int pixelWidth() const { return m_layout ? m_layout->pixelWidth() : 0; }
int pixelHeight() const { return m_layout ? m_layout->pixelHeight() : 0; }
void setHeader(const MapHeader &header) { *m_header = header; }
MapHeader* header() const { return m_header; }
@ -62,6 +64,8 @@ public:
void setSharedEventsMap(const QString &sharedEventsMap) { m_sharedEventsMap = sharedEventsMap; }
void setSharedScriptsMap(const QString &sharedScriptsMap);
bool isInheritingEvents() const { return !m_sharedEventsMap.isEmpty() && !hasEvents(); }
bool isInheritingScripts() const { return !m_sharedScriptsMap.isEmpty(); }
QString sharedEventsMap() const { return m_sharedEventsMap; }
QString sharedScriptsMap() const { return m_sharedScriptsMap; }
@ -83,6 +87,7 @@ public:
void addEvent(Event *);
int getIndexOfEvent(Event *) const;
bool hasEvent(Event *) const;
bool hasEvents() const;
QStringList getScriptLabels(Event::Group group = Event::Group::None);
QString getScriptsFilepath() const;
@ -111,6 +116,9 @@ public:
void setCustomAttributes(const QJsonObject &attributes) { m_customAttributes = attributes; }
QJsonObject customAttributes() const { return m_customAttributes; }
static void setFileWatchingEnabled(bool enabled) { m_fileWatchingEnabled = enabled; }
static bool isFileWatchingEnabled() { return m_fileWatchingEnabled; }
private:
QString m_name;
QString m_constantName;
@ -129,13 +137,11 @@ private:
bool m_needsHealLocation = false;
bool m_scriptsLoaded = false;
bool m_loggedScriptsFileError = false;
static bool m_fileWatchingEnabled;
QMap<Event::Group, QList<Event *>> m_events;
QSet<Event *> m_ownedEvents; // for memory management
QList<int> m_metatileLayerOrder;
QList<float> m_metatileLayerOpacity;
void trackConnection(MapConnection*);
// MapConnections in 'ownedConnections' but not 'connections' persist in the edit history.
@ -149,7 +155,7 @@ signals:
void modified();
void scriptsModified();
void mapDimensionsChanged(const QSize &size);
void openScriptRequested(QString label);
void openScriptRequested(const QString &label);
void connectionAdded(MapConnection*);
void connectionRemoved(MapConnection*);
void layoutChanged();

View File

@ -42,7 +42,8 @@ public:
MapConnection* createMirror();
QPixmap render() const;
QPoint relativePos(bool clipped = false) const;
QImage renderImage() const;
QPoint relativePixelPos(bool clipped = false) const;
static QPointer<Project> project;
static const QMap<QString, QString> oppositeDirections;

View File

@ -17,7 +17,7 @@ class BorderMetatilesPixmapItem;
class Layout : public QObject {
Q_OBJECT
public:
Layout() {}
Layout() {};
Layout(const Layout &other);
static QString layoutConstantFromName(const QString &name);
@ -32,6 +32,9 @@ public:
int height;
int border_width;
int border_height;
int pixelWidth() const { return this->width * Metatile::pixelWidth(); }
int pixelHeight() const { return this->height * Metatile::pixelHeight(); }
QSize pixelSize() const { return QSize(pixelWidth(), pixelHeight()); }
QString border_path;
QString blockdata_path;
@ -64,8 +67,25 @@ public:
QSize borderDimensions;
} lastCommitBlocks; // to track map changes
QList<int> metatileLayerOrder;
QList<float> metatileLayerOpacity;
void setMetatileLayerOrder(const QList<int> &layerOrder) { m_metatileLayerOrder = layerOrder; }
const QList<int> &metatileLayerOrder() const {
return !m_metatileLayerOrder.isEmpty() ? m_metatileLayerOrder : Layout::globalMetatileLayerOrder();
}
static void setGlobalMetatileLayerOrder(const QList<int> &layerOrder) { s_globalMetatileLayerOrder = layerOrder; }
static const QList<int> &globalMetatileLayerOrder() {
static const QList<int> defaultLayerOrder = {0, 1, 2};
return !s_globalMetatileLayerOrder.isEmpty() ? s_globalMetatileLayerOrder : defaultLayerOrder;
}
void setMetatileLayerOpacity(const QList<float> &layerOpacity) { m_metatileLayerOpacity = layerOpacity; }
const QList<float> &metatileLayerOpacity() const {
return !m_metatileLayerOpacity.isEmpty() ? m_metatileLayerOpacity : Layout::globalMetatileLayerOpacity();
}
static void setGlobalMetatileLayerOpacity(const QList<float> &layerOpacity) { s_globalMetatileLayerOpacity = layerOpacity; }
static const QList<float> &globalMetatileLayerOpacity() {
static const QList<float> defaultLayerOpacity = {1.0, 1.0, 1.0};
return !s_globalMetatileLayerOpacity.isEmpty() ? s_globalMetatileLayerOpacity : defaultLayerOpacity;
}
LayoutPixmapItem *layoutItem = nullptr;
CollisionPixmapItem *collisionItem = nullptr;
@ -100,13 +120,19 @@ public:
QRect getVisibleRect() const;
bool isWithinBounds(int x, int y) const;
bool isWithinBounds(const QPoint &pos) const;
bool isWithinBounds(const QRect &rect) const;
bool isWithinBorderBounds(int x, int y) const;
bool getBlock(int x, int y, Block *out);
bool getBlock(int x, int y, Block *out) const;
bool getBlock(const QPoint& pos, Block *out) const { return getBlock(pos.x(), pos.y(), out); }
void setBlock(int x, int y, Block block, bool enableScriptCallback = false);
void setBlock(const QPoint& pos, Block block, bool enableScriptCallback = false) { setBlock(pos.x(), pos.y(), block, enableScriptCallback); }
void setBlockdata(Blockdata blockdata, bool enableScriptCallback = false);
uint16_t getMetatileId(int x, int y) const;
bool setMetatileId(int x, int y, uint16_t metatileId, bool enableScriptCallback = false);
void adjustDimensions(const QMargins &margins, bool setNewBlockdata = true);
void setDimensions(int newWidth, int newHeight, bool setNewBlockdata = true);
void setBorderDimensions(int newWidth, int newHeight, bool setNewBlockdata = true, bool enableScriptCallback = false);
@ -135,9 +161,8 @@ public:
void _floodFillCollisionElevation(int x, int y, uint16_t collision, uint16_t elevation);
void magicFillCollisionElevation(int x, int y, uint16_t collision, uint16_t elevation);
QPixmap render(bool ignoreCache = false, Layout *fromLayout = nullptr, QRect bounds = QRect(0, 0, -1, -1));
QPixmap render(bool ignoreCache = false, Layout *fromLayout = nullptr, const QRect &bounds = QRect(0, 0, -1, -1));
QPixmap renderCollision(bool ignoreCache);
// QPixmap renderConnection(MapConnection, Layout *);
QPixmap renderBorder(bool ignoreCache = false);
QPixmap getLayoutItemPixmap();
@ -146,6 +171,8 @@ public:
void setCollisionItem(CollisionPixmapItem *item) { collisionItem = item; }
void setBorderItem(BorderMetatilesPixmapItem *item) { borderItem = item; }
bool metatileIsValid(uint16_t metatileId) { return Tileset::metatileIsValid(metatileId, this->tileset_primary, this->tileset_secondary); }
private:
void setNewDimensionsBlockdata(int newWidth, int newHeight);
void setNewBorderDimensionsBlockdata(int newWidth, int newHeight);
@ -154,6 +181,11 @@ private:
static int getBorderDrawDistance(int dimension, qreal minimum);
QList<int> m_metatileLayerOrder;
QList<float> m_metatileLayerOpacity;
static QList<int> s_globalMetatileLayerOrder;
static QList<float> s_globalMetatileLayerOpacity;
signals:
void dimensionsChanged(const QSize &size);
void needsRedrawing();

View File

@ -61,7 +61,15 @@ public:
static int getDefaultAttributesSize(BaseGameVersion version);
static void setLayout(Project*);
static QString getMetatileIdString(uint16_t metatileId);
static QString getMetatileIdStrings(const QList<uint16_t> metatileIds);
static QString getMetatileIdStrings(const QList<uint16_t> &metatileIds);
static QString getLayerName(int layerNum);
static constexpr int tileWidth() { return 2; }
static constexpr int tileHeight() { return 2; }
static constexpr int tilesPerLayer() { return Metatile::tileWidth() * Metatile::tileHeight(); }
static constexpr int pixelWidth() { return Metatile::tileWidth() * Tile::pixelWidth(); }
static constexpr int pixelHeight() { return Metatile::tileHeight() * Tile::pixelHeight(); }
static constexpr QSize pixelSize() { return QSize(pixelWidth(), pixelHeight()); }
inline bool operator==(const Metatile &other) {
return this->tiles == other.tiles && this->attributes == other.attributes;

View File

@ -26,10 +26,14 @@
});
*/
#if __has_include(<QNetworkAccessManager>)
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QDateTime>
#endif
#ifdef QT_NETWORK_LIB
class NetworkReplyData : public QObject
{
@ -84,4 +88,6 @@ private:
const QNetworkRequest getRequest(const QUrl &url);
};
#endif // QT_NETWORK_LIB
#endif // NETWORK_H

View File

@ -140,6 +140,7 @@ private:
static const QRegularExpression re_poryScriptLabel;
static const QRegularExpression re_globalPoryScriptLabel;
static const QRegularExpression re_poryRawSection;
static const QString incbinRegexText;
};
#endif // PARSEUTIL_H

View File

@ -3,6 +3,7 @@
#define TILE_H
#include <QObject>
#include <QSize>
class Tile
{
@ -24,6 +25,12 @@ public:
static int getIndexInTileset(int);
static const uint16_t maxValue;
static constexpr int pixelWidth() { return 8; }
static constexpr int pixelHeight() { return 8; }
static constexpr QSize pixelSize() { return QSize(Tile::pixelWidth(), Tile::pixelHeight()); }
static constexpr int numPixels() { return Tile::pixelWidth() * Tile::pixelHeight(); }
static constexpr int sizeInBytes() { return sizeof(uint16_t); }
};
inline bool operator==(const Tile &a, const Tile &b) {

View File

@ -30,17 +30,21 @@ public:
QString metatile_attrs_label;
QString metatile_attrs_path;
QString tilesImagePath;
QImage tilesImage;
QStringList palettePaths;
QList<QImage> tiles;
QHash<int, QString> metatileLabels;
QList<QList<QRgb>> palettes;
QList<QList<QRgb>> palettePreviews;
static QString stripPrefix(const QString &fullName);
static Tileset* getPaletteTileset(int, Tileset*, Tileset*);
static const Tileset* getPaletteTileset(int, const Tileset*, const Tileset*);
static Tileset* getMetatileTileset(int, Tileset*, Tileset*);
static const Tileset* getMetatileTileset(int, const Tileset*, const Tileset*);
static Tileset* getTileTileset(int, Tileset*, Tileset*);
static const Tileset* getTileTileset(int, const Tileset*, const Tileset*);
static Metatile* getMetatile(int, Tileset*, Tileset*);
static const Metatile* getMetatile(int, const Tileset*, const Tileset*);
static Tileset* getMetatileLabelTileset(int, Tileset*, Tileset*);
static QString getMetatileLabel(int, Tileset *, Tileset *);
static QString getOwnedMetatileLabel(int, Tileset *, Tileset *);
@ -48,9 +52,9 @@ public:
static bool setMetatileLabel(int, QString, Tileset *, Tileset *);
QString getMetatileLabelPrefix();
static QString getMetatileLabelPrefix(const QString &name);
static QList<QList<QRgb>> getBlockPalettes(Tileset*, Tileset*, bool useTruePalettes = false);
static QList<QRgb> getPalette(int, Tileset*, Tileset*, bool useTruePalettes = false);
static bool metatileIsValid(uint16_t metatileId, Tileset *, Tileset *);
static QList<QList<QRgb>> getBlockPalettes(const Tileset*, const Tileset*, bool useTruePalettes = false);
static QList<QRgb> getPalette(int, const Tileset*, const Tileset*, bool useTruePalettes = false);
static bool metatileIsValid(uint16_t metatileId, const Tileset*, const Tileset*);
static QHash<int, QString> getHeaderMemberMap(bool usingAsm);
static QString getExpectedDir(QString tilesetName, bool isSecondary);
QString getExpectedDir();
@ -76,15 +80,38 @@ public:
void setMetatiles(const QList<Metatile*> &metatiles);
void addMetatile(Metatile* metatile);
QList<Metatile*> metatiles() const { return m_metatiles; }
Metatile* metatileAt(unsigned int i) const { return m_metatiles.at(i); }
const QList<Metatile*> &metatiles() const { return m_metatiles; }
const Metatile* metatileAt(unsigned int i) const { return m_metatiles.at(i); }
void clearMetatiles();
void resizeMetatiles(int newNumMetatiles);
int numMetatiles() const { return m_metatiles.length(); }
int maxMetatiles() const;
uint16_t firstMetatileId() const;
uint16_t lastMetatileId() const;
bool containsMetatileId(uint16_t metatileId) const { return metatileId >= firstMetatileId() && metatileId <= lastMetatileId(); }
uint16_t firstTileId() const;
uint16_t lastTileId() const;
bool containsTileId(uint16_t tileId) const { return tileId >= firstTileId() && tileId <= lastTileId(); }
int numTiles() const { return m_tiles.length(); }
int maxTiles() const;
QImage tileImage(uint16_t tileId) const { return m_tiles.value(Tile::getIndexInTileset(tileId)); }
QSet<int> getUnusedColorIds(int paletteId, const Tileset *pairedTileset, const QSet<int> &searchColors = {}) const;
QList<uint16_t> findMetatilesUsingColor(int paletteId, int colorId, const Tileset *pairedTileset) const;
static constexpr int maxPalettes() { return 16; }
static constexpr int numColorsPerPalette() { return 16; }
private:
QList<Metatile*> m_metatiles;
QList<QImage> m_tiles;
QImage m_tilesImage;
bool m_hasUnsavedTilesImage = false;
};

View File

@ -4,10 +4,11 @@
#include <QString>
#include <QLineEdit>
#include <QColorSpace>
namespace Util {
void numericalModeSort(QStringList &list);
int roundUp(int numToRound, int multiple);
int roundUpToMultiple(int numToRound, int multiple);
QString toDefineCase(QString input);
QString toHexString(uint32_t value, int minLength = 0);
QString toHtmlParagraph(const QString &text);
@ -16,6 +17,9 @@ namespace Util {
QString replaceExtension(const QString &path, const QString &newExtension);
void setErrorStylesheet(QLineEdit *lineEdit, bool isError);
QString toStylesheetString(const QFont &font);
void show(QWidget *w);
QColorSpace toColorSpace(int colorSpaceInt);
QString mkpath(const QString& dirPath);
}
#endif // UTILITY_H

View File

@ -67,8 +67,6 @@ public:
bool setLayout(QString layoutName);
void unsetMap();
Tileset *getCurrentMapPrimaryTileset();
bool displayMap();
bool displayLayout();
@ -122,9 +120,10 @@ public:
void updateEventPixmapItemZValue(EventPixmapItem *item);
qreal getEventOpacity(const Event *event) const;
bool isMouseInMap() const;
void setPlayerViewRect(const QRectF &rect);
void updateCursorRectPos(int x, int y);
void setCursorRectVisible(bool visible);
void setCursorRectPos(const QPoint &pos);
void updateCursorRectVisibility();
void onEventDragged(Event *event, const QPoint &oldPosition, const QPoint &newPosition);
void onEventReleased(Event *event, const QPoint &position);
@ -171,7 +170,7 @@ public:
void setEditMode(EditMode editMode);
EditMode getEditMode() const { return this->editMode; }
bool getEditingLayout();
bool getEditingLayout() const;
void setMapEditingButtonsEnabled(bool enabled);
@ -208,7 +207,8 @@ public:
public slots:
void openMapScripts() const;
void openScript(const QString &scriptLabel) const;
bool openScript(const QString &scriptLabel) const;
bool openScriptInFile(const QString &scriptLabel, const QString &filepath) const;
void openProjectInTextEditor() const;
void maskNonVisibleConnectionTiles();
void onBorderMetatilesChanged();
@ -251,26 +251,27 @@ private:
QString getMovementPermissionText(uint16_t collision, uint16_t elevation);
QString getMetatileDisplayMessage(uint16_t metatileId);
void setCollisionTabSpinBoxes(uint16_t collision, uint16_t elevation);
void adjustStraightPathPos(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item, QPoint *pos) const;
static bool startDetachedProcess(const QString &command,
const QString &workingDirectory = QString(),
qint64 *pid = nullptr);
private slots:
bool canPaintMetatiles() const;
void onMapStartPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item);
void onMapEndPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item);
void setStatusFromMapPos(const QPoint &pos);
bool isMiddleButtonScrollInProgress() const;
private slots:
void setSmartPathCursorMode(QGraphicsSceneMouseEvent *event);
void setStraightPathCursorMode(QGraphicsSceneMouseEvent *event);
void mouseEvent_map(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item);
void mouseEvent_collision(QGraphicsSceneMouseEvent *event, CollisionPixmapItem *item);
void setSelectedConnectionItem(ConnectionPixmapItem *connectionItem);
void onHoveredMovementPermissionChanged(uint16_t, uint16_t);
void onHoveredMovementPermissionCleared();
void onHoveredMetatileSelectionChanged(uint16_t);
void onHoveredMetatileSelectionCleared();
void onHoveredMapMetatileChanged(const QPoint &pos);
void onHoveredMapMetatileCleared();
void onHoveredMapMovementPermissionChanged(int, int);
void onHoveredMapMovementPermissionCleared();
void onMapHoverEntered(const QPoint &pos);
void onMapHoverChanged(const QPoint &pos);
void onMapHoverCleared();
void onSelectedMetatilesChanged();
void onWheelZoom(int);
@ -283,7 +284,6 @@ signals:
void wildMonTableEdited();
void currentMetatilesSelectionChanged();
void mapRulerStatusChanged(const QString &);
void tilesetUpdated(QString);
void gridToggled(bool);
void editActionSet(EditAction newEditAction);
};

View File

@ -11,7 +11,6 @@
#include <QGraphicsSceneMouseEvent>
#include <QCloseEvent>
#include <QAbstractItemModel>
#include <QJSValue>
#include "project.h"
#include "orderedjson.h"
#include "config.h"
@ -35,6 +34,11 @@
#include "newlayoutdialog.h"
#include "message.h"
#include "resizelayoutpopup.h"
#include "unlockableicon.h"
#if __has_include(<QJSValue>)
#include <QJSValue>
#endif
@ -56,9 +60,14 @@ public:
void initialize();
Q_INVOKABLE void setPrimaryTileset(const QString &tileset);
Q_INVOKABLE void setSecondaryTileset(const QString &tileset);
// Scripting API
#ifdef QT_QML_LIB
Q_INVOKABLE QJSValue getBlock(int x, int y);
void tryRedrawMapArea(bool forceRedraw);
void redrawResizedMapArea();
void tryCommitMapChanges(bool commitChanges);
Q_INVOKABLE void setBlock(int x, int y, int metatileId, int collision, int elevation, bool forceRedraw = true, bool commitChanges = true);
Q_INVOKABLE void setBlock(int x, int y, int rawValue, bool forceRedraw = true, bool commitChanges = true);
@ -118,8 +127,6 @@ public:
Q_INVOKABLE int getNumSecondaryTilesetTiles();
Q_INVOKABLE QString getPrimaryTileset();
Q_INVOKABLE QString getSecondaryTileset();
Q_INVOKABLE void setPrimaryTileset(QString tileset);
Q_INVOKABLE void setSecondaryTileset(QString tileset);
void saveMetatilesByMetatileId(int metatileId);
void saveMetatileAttributesByMetatileId(int metatileId);
Metatile * getMetatile(int metatileId);
@ -145,6 +152,10 @@ public:
Q_INVOKABLE void setMetatileTiles(int metatileId, QJSValue tilesObj, int tileStart = 0, int tileEnd = -1, bool forceRedraw = true);
Q_INVOKABLE void setMetatileTiles(int metatileId, int tileId, bool xflip, bool yflip, int palette, int tileStart = 0, int tileEnd = -1, bool forceRedraw = true);
Q_INVOKABLE QJSValue getTilePixels(int tileId);
Q_INVOKABLE QList<int> getMetatileLayerOrder() const;
Q_INVOKABLE void setMetatileLayerOrder(const QList<int> &order);
Q_INVOKABLE QList<float> getMetatileLayerOpacity() const;
Q_INVOKABLE void setMetatileLayerOpacity(const QList<float> &opacities);
Q_INVOKABLE QString getSong();
Q_INVOKABLE void setSong(QString song);
Q_INVOKABLE QString getLocation();
@ -167,6 +178,7 @@ public:
Q_INVOKABLE void setAllowEscaping(bool allow);
Q_INVOKABLE int getFloorNumber();
Q_INVOKABLE void setFloorNumber(int floorNumber);
#endif // QT_QML_LIB
public slots:
void on_mainTabBar_tabBarClicked(int index);
@ -246,8 +258,6 @@ private slots:
void on_pushButton_AddConnection_clicked();
void on_button_OpenDiveMap_clicked();
void on_button_OpenEmergeMap_clicked();
void on_comboBox_PrimaryTileset_currentTextChanged(const QString &arg1);
void on_comboBox_SecondaryTileset_currentTextChanged(const QString &arg1);
void on_pushButton_ChangeDimensions_clicked();
void resetMapViewScale();
@ -286,6 +296,7 @@ private slots:
void on_spinBox_SelectedCollision_valueChanged(int collision);
void on_actionRegion_Map_Editor_triggered();
void on_actionPreferences_triggered();
void on_actionOpen_Manual_triggered();
void on_actionCheck_for_Updates_triggered();
void togglePreferenceSpecificUi();
void on_actionProject_Settings_triggered();
@ -321,8 +332,11 @@ private:
QPointer<FilterChildrenProxyModel> layoutListProxyModel = nullptr;
QPointer<LayoutTreeModel> layoutTreeModel = nullptr;
#ifdef QT_NETWORK_LIB
QPointer<UpdatePromoter> updatePromoter = nullptr;
QPointer<NetworkAccessManager> networkAccessManager = nullptr;
#endif
QPointer<AboutPorymap> aboutWindow = nullptr;
QPointer<WildMonChart> wildMonChart = nullptr;
QPointer<WildMonSearch> wildMonSearch = nullptr;
@ -341,6 +355,8 @@ private:
MapNavigation forwardNavigation;
bool ignoreNavigationRecords = false;
UnlockableIcon unlockableMainTabIcon;
QAction *copyAction = nullptr;
QAction *pasteAction = nullptr;
@ -353,6 +369,8 @@ private:
bool tilesetNeedsRedraw = false;
bool lockMapListAutoScroll = false;
QSet<QObject*> objectsDisabled;
bool setLayout(const QString &layoutId);
bool setMap(const QString &mapName);
void unsetMap();
@ -377,14 +395,12 @@ private:
NewLayoutDialog* createNewLayoutDialog(const Layout *layoutToCopy = nullptr);
void openNewLayoutDialog();
void openDuplicateLayoutDialog(const QString &layoutId);
void openDuplicateMapOrLayoutDialog();
void openNewMapGroupDialog();
void openNewLocationDialog();
void openSubWindow(QWidget * window);
void scrollMapList(MapTree *list, const QString &itemName);
void scrollMapList(MapTree *list, const QString &itemName, bool expandItem = true);
void scrollMapListToCurrentMap(MapTree *list);
void scrollMapListToCurrentLayout(MapTree *list);
void scrollCurrentMapListToItem(const QString &itemName);
void scrollCurrentMapListToItem(const QString &itemName, bool expandItem = true);
void showFileWatcherWarning();
bool openProject(QString dir, bool initial = false);
bool closeProject();
@ -398,6 +414,7 @@ private:
void rebuildMapList_Locations();
void rebuildMapList_Layouts();
void setMapListSorted(MapTree *list, bool sort);
void updateMapList();
void openMapListItem(const QModelIndex &index);
void onMapListTabChanged(int index);
@ -446,7 +463,8 @@ private:
MapListToolBar* getCurrentMapListToolBar();
MapTree* getCurrentMapList();
void setLocationComboBoxes(const QStringList &locations);
void overrideMainTabIcons(const QIcon& icon);
void tryUnlockMainTabIcon(const Map* map);
QObjectList shortcutableObjects() const;
void addCustomHeaderValue(QString key, QJsonValue value, bool isNew = false);

View File

@ -52,8 +52,6 @@ public:
QStringList bgEventFacingDirections;
QStringList trainerTypes;
QStringList globalScriptLabels;
QStringList mapSectionIdNamesSaveOrder;
QStringList mapSectionIdNames;
QMap<uint32_t, QString> encounterTypeToName;
QMap<uint32_t, QString> terrainTypeToName;
QMap<QString, QMap<QString, uint16_t>> metatileLabelsMap;
@ -61,7 +59,6 @@ public:
QMap<QString, uint32_t> metatileBehaviorMap;
QMap<uint32_t, QString> metatileBehaviorMapInverse;
ParseUtil parser;
QFileSystemWatcher fileWatcher;
QSet<QString> modifiedFiles;
bool usingAsmTilesets;
QSet<QString> disabledSettingsNames;
@ -84,6 +81,7 @@ public:
Map* loadMap(const QString &mapName);
const QStringList& layoutIds() const { return this->alphabeticalLayoutIds; }
const QStringList& layoutIdsOrdered() const { return this->orderedLayoutIds; }
bool isKnownLayout(const QString &layoutId) const { return this->mapLayouts.contains(layoutId); }
bool isLoadedLayout(const QString &layoutId) const { return this->loadedLayoutIds.contains(layoutId); }
bool isUnsavedLayout(const QString &layoutId) const;
@ -94,6 +92,12 @@ public:
Layout* getLayout(const QString &layoutId) const { return this->mapLayouts.value(layoutId); }
Layout* loadLayout(const QString &layoutId);
const QStringList& locationNames() const { return this->mapSectionIdNames; }
const QStringList& locationNamesOrdered() const { return this->mapSectionIdNamesSaveOrder; }
QString getLocationName(int locationValue) const { return this->mapSectionIdNamesSaveOrder.value(locationValue, getEmptyMapsecName()); }
int getLocationValue(const QString &locationName) const { return this->mapSectionIdNamesSaveOrder.indexOf(locationName); }
void clearMaps();
void clearTilesetCache();
void clearMapLayouts();
@ -105,11 +109,12 @@ public:
bool load();
QMap<QString, Tileset*> tilesetCache;
Tileset* loadTileset(QString, Tileset *tileset = nullptr);
Tileset* getTileset(QString, bool forceLoad = false);
Tileset* getTileset(const QString&, bool forceLoad = false);
QStringList primaryTilesetLabels;
QStringList secondaryTilesetLabels;
QStringList tilesetLabelsOrdered;
QSet<QString> getPairedTilesetLabels(const Tileset *tileset) const;
QSet<QString> getTilesetLayoutIds(const Tileset *priamryTileset, const Tileset *secondaryTileset) const;
bool readMapGroups();
void addNewMapGroup(const QString &groupName);
@ -216,7 +221,11 @@ public:
static QString getScriptFileExtension(bool usePoryScript);
QString getScriptDefaultString(bool usePoryScript, QString mapName) const;
QStringList getEventScriptsFilepaths() const;
QStringList getAllEventScriptsFilepaths() const;
QStringList getMapScriptsFilepaths() const;
QStringList getCommonEventScriptsFilepaths() const;
QStringList findScriptsFiles(const QString &searchDir, const QStringList &fileNames = {"*"}) const;
void insertGlobalScriptLabels(QStringList &scriptLabels) const;
QString getDefaultPrimaryTilesetLabel() const;
@ -252,17 +261,22 @@ public:
static QString getDynamicMapDefineName();
static QString getDynamicMapName();
static QString getEmptySpeciesName();
static QMargins getPixelViewDistance();
static QMargins getMetatileViewDistance();
static int getNumTilesPrimary() { return num_tiles_primary; }
static int getNumTilesTotal() { return num_tiles_total; }
static int getNumTilesSecondary() { return getNumTilesTotal() - getNumTilesPrimary(); }
static int getNumMetatilesPrimary() { return num_metatiles_primary; }
static int getNumMetatilesTotal() { return Block::getMaxMetatileId() + 1; }
static int getNumMetatilesSecondary() { return getNumMetatilesTotal() - getNumMetatilesPrimary(); }
static int getNumPalettesPrimary(){ return num_pals_primary; }
static int getNumPalettesTotal() { return num_pals_total; }
static int getNumPalettesSecondary() { return getNumPalettesTotal() - getNumPalettesPrimary(); }
static QString getEmptyMapsecName();
static QString getMapGroupPrefix();
private:
QPointer<QFileSystemWatcher> fileWatcher;
QMap<QString, qint64> modifiedFileTimestamps;
QMap<QString, QString> facingDirections;
QHash<QString, QString> speciesToIconPath;
@ -275,6 +289,8 @@ private:
QStringList orderedLayoutIdsMaster;
QHash<QString, Layout*> mapLayouts;
QHash<QString, Layout*> mapLayoutsMaster;
QStringList mapSectionIdNamesSaveOrder;
QStringList mapSectionIdNames;
// Fields for preserving top-level JSON data that Porymap isn't expecting.
QJsonObject customLayoutsData;
@ -332,6 +348,9 @@ private:
void ignoreWatchedFilesTemporarily(const QStringList &filepaths);
void recordFileChange(const QString &filepath);
void resetFileCache();
void resetFileWatcher();
void logFileWatchStatus();
void cacheTileset(const QString &label, Tileset *tileset);
bool saveMapLayouts();
bool saveMapGroups();

View File

@ -2,12 +2,19 @@
#ifndef SCRIPTING_H
#define SCRIPTING_H
#include "mainwindow.h"
#include "block.h"
#include <QStringList>
#include "scriptutility.h"
#include <QStringList>
class Block;
class Tile;
class MainWindow;
#if __has_include(<QJSEngine>)
#include <QJSEngine>
#endif
#ifdef QT_QML_LIB
// !! New callback functions or changes to existing callback function names/arguments
// should be synced to resources/text/script_template.txt and docsrc/manual/scripting-capabilities.rst
@ -51,7 +58,7 @@ public:
static void cb_MapResized(int oldWidth, int oldHeight, const QMargins &delta);
static void cb_BorderResized(int oldWidth, int oldHeight, int newWidth, int newHeight);
static void cb_MapShifted(int xDelta, int yDelta);
static void cb_TilesetUpdated(QString tilesetName);
static void cb_TilesetUpdated(const QString &tilesetName);
static void cb_MainTabChanged(int oldTab, int newTab);
static void cb_MapViewTabChanged(int oldTab, int newTab);
static void cb_BorderVisibilityToggled(bool visible);
@ -74,8 +81,38 @@ private:
QMap<QString, const QImage*> imageCache;
ScriptUtility *scriptUtility;
void loadModules(QStringList moduleFiles);
void loadModules(const QStringList &moduleFiles);
void invokeCallback(CallbackType type, QJSValueList args);
};
#else
class Scripting
{
public:
Scripting(MainWindow *) {}
~Scripting() {}
static void init(MainWindow *) {}
static void stop() {}
static void populateGlobalObject(MainWindow *) {}
static void cb_ProjectOpened(QString) {};
static void cb_ProjectClosed(QString) {};
static void cb_MetatileChanged(int, int, Block, Block) {};
static void cb_BorderMetatileChanged(int, int, uint16_t, uint16_t) {};
static void cb_BlockHoverChanged(int, int) {};
static void cb_BlockHoverCleared() {};
static void cb_MapOpened(QString) {};
static void cb_LayoutOpened(QString) {};
static void cb_MapResized(int, int, const QMargins &) {};
static void cb_BorderResized(int, int, int, int) {};
static void cb_MapShifted(int, int) {};
static void cb_TilesetUpdated(const QString &) {};
static void cb_MainTabChanged(int, int) {};
static void cb_MapViewTabChanged(int, int) {};
static void cb_BorderVisibilityToggled(bool) {};
};
#endif // QT_QML_LIB
#endif // SCRIPTING_H

View File

@ -2,14 +2,24 @@
#ifndef SCRIPTUTILITY_H
#define SCRIPTUTILITY_H
#include "mainwindow.h"
#if __has_include(<QJSValue>)
#include <QJSValue>
#endif
#ifdef QT_QML_LIB
#include <QAction>
#include <QMessageBox>
#include <QSet>
#include <QTimer>
class MainWindow;
class ScriptUtility : public QObject
{
Q_OBJECT
public:
ScriptUtility(MainWindow *mainWindow);
ScriptUtility(MainWindow *mainWindow) : window(mainWindow) {}
~ScriptUtility();
QString getActionFunctionName(int actionIndex);
@ -38,9 +48,9 @@ public:
Q_INVOKABLE bool getSmartPathsEnabled();
Q_INVOKABLE QList<QString> getCustomScripts();
Q_INVOKABLE QList<int> getMetatileLayerOrder();
Q_INVOKABLE void setMetatileLayerOrder(QList<int> order);
Q_INVOKABLE void setMetatileLayerOrder(const QList<int> &order);
Q_INVOKABLE QList<float> getMetatileLayerOpacity();
Q_INVOKABLE void setMetatileLayerOpacity(QList<float> order);
Q_INVOKABLE void setMetatileLayerOpacity(const QList<float> &order);
Q_INVOKABLE QList<QString> getMapNames();
Q_INVOKABLE QList<QString> getMapConstants();
Q_INVOKABLE QList<QString> getLayoutNames();
@ -57,6 +67,8 @@ public:
Q_INVOKABLE bool isPrimaryTileset(QString tilesetName);
Q_INVOKABLE bool isSecondaryTileset(QString tilesetName);
static bool validateMetatileLayerOrder(const QList<int> &order);
private:
void callTimeoutFunction(QJSValue callback);
void runMessageBox(QString text, QString informativeText, QString detailedText, QMessageBox::Icon icon);
@ -67,4 +79,6 @@ private:
QHash<int, QString> actionMap;
};
#endif // QT_QML_LIB
#endif // SCRIPTUTILITY_H

View File

@ -10,7 +10,6 @@ public:
Settings();
bool smartPathsEnabled;
bool betterCursors;
QCursor mapCursor;
bool playerViewRectEnabled;
bool cursorTileRectEnabled;
};

View File

@ -0,0 +1,39 @@
#ifndef CHECKEREDBGSCENE_H
#define CHECKEREDBGSCENE_H
#include <QGraphicsScene>
// Custom scene that paints its background a gray checkered pattern.
// Additionally there is a definable "valid" area which will paint the checkerboard green inside.
class CheckeredBgScene : public QGraphicsScene {
Q_OBJECT
public:
CheckeredBgScene(const QSize &gridSize, QObject *parent = nullptr)
: QGraphicsScene(parent),
gridSize(gridSize)
{};
CheckeredBgScene(int width, int height, QObject *parent = nullptr)
: CheckeredBgScene(QSize(width, height), parent)
{};
void setValidRect(int x, int y, int width, int height) {
this->validRect = QRect(x * this->gridSize.width(),
y * this->gridSize.height(),
width * this->gridSize.width(),
height * this->gridSize.height());
}
void setValidRect(const QRect &rect) {
this->validRect = rect;
}
QRect getValidRect() { return this->validRect; }
protected:
void drawBackground(QPainter *painter, const QRectF &rect) override;
private:
QSize gridSize;
QRect validRect;
};
#endif // CHECKEREDBGSCENE_H

View File

@ -23,29 +23,14 @@ public:
QSpinBox * selectedElevation;
qreal *opacity;
void updateMovementPermissionSelection(QGraphicsSceneMouseEvent *event);
virtual void paint(QGraphicsSceneMouseEvent*);
virtual void floodFill(QGraphicsSceneMouseEvent*);
virtual void magicFill(QGraphicsSceneMouseEvent*);
virtual void pick(QGraphicsSceneMouseEvent*);
void draw(bool ignoreCache = false);
virtual void paint(QGraphicsSceneMouseEvent*) override;
virtual void floodFill(QGraphicsSceneMouseEvent*) override;
virtual void magicFill(QGraphicsSceneMouseEvent*) override;
virtual void pick(QGraphicsSceneMouseEvent*) override;
void draw(bool ignoreCache = false) override;
private:
unsigned actionId_ = 0;
QPoint previousPos;
void updateSelection(QPoint pos);
signals:
void mouseEvent(QGraphicsSceneMouseEvent *, CollisionPixmapItem *);
void hoveredMapMovementPermissionChanged(int, int);
void hoveredMapMovementPermissionCleared();
protected:
void hoverMoveEvent(QGraphicsSceneHoverEvent*);
void hoverEnterEvent(QGraphicsSceneHoverEvent*);
void hoverLeaveEvent(QGraphicsSceneHoverEvent*);
void mousePressEvent(QGraphicsSceneMouseEvent*);
void mouseMoveEvent(QGraphicsSceneMouseEvent*);
void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
};
#endif // COLLISIONPIXMAPITEM_H

View File

@ -2,6 +2,7 @@
#define CONNECTIONPIXMAPITEM_H
#include "mapconnection.h"
#include "metatile.h"
#include <QGraphicsPixmapItem>
#include <QPainter>
#include <QPointer>
@ -31,8 +32,8 @@ private:
bool selected = false;
unsigned actionId = 0;
static const int mWidth = 16;
static const int mHeight = 16;
static const int mWidth = Metatile::pixelWidth();
static const int mHeight = Metatile::pixelHeight();
void updatePos();
void updateOrigin();

View File

@ -8,78 +8,56 @@
class CursorTileRect : public QGraphicsItem
{
public:
CursorTileRect(bool *enabled, QRgb color);
QRectF boundingRect() const override
{
int width = this->width;
int height = this->height;
if (this->singleTileMode) {
width = 16;
height = 16;
} else if (!this->rightClickSelectionAnchored && this->smartPathMode && this->selectionHeight == 3 && this->selectionWidth == 3) {
width = 32;
height = 32;
}
CursorTileRect(const QSize &tileSize, const QRgb &color, QGraphicsItem *parent = nullptr);
QSize size() const;
QRectF boundingRect() const override {
auto s = size();
qreal penWidth = 4;
return QRectF(-penWidth,
-penWidth,
width + penWidth * 2,
height + penWidth * 2);
s.width() + penWidth * 2,
s.height() + penWidth * 2);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override
{
if (!(*enabled)) return;
int width = this->width;
int height = this->height;
if (this->singleTileMode) {
width = 16;
height = 16;
} else if (this->smartPathInEffect()) {
width = 32;
height = 32;
}
painter->setPen(this->color);
painter->drawRect(x() - 1, y() - 1, width + 2, height + 2);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override {
if (!isVisible()) return;
auto rect = QRectF(pos(), size());
painter->setPen(m_color);
painter->drawRect(rect + QMargins(1,1,1,1)); // Fill
painter->setPen(QColor(0, 0, 0));
painter->drawRect(x() - 2, y() - 2, width + 4, height + 4);
painter->drawRect(x(), y(), width, height);
painter->drawRect(rect + QMargins(2,2,2,2)); // Outer border
painter->drawRect(rect); // Inner border
}
void initAnchor(int coordX, int coordY);
void stopAnchor();
void initRightClickSelectionAnchor(int coordX, int coordY);
void stopRightClickSelectionAnchor();
void setSmartPathMode(bool enable) { this->smartPathMode = enable; }
bool getSmartPathMode() const { return this->smartPathMode; }
void setSmartPathMode(bool enable) { m_smartPathMode = enable; }
bool getSmartPathMode() const { return m_smartPathMode; }
void setStraightPathMode(bool enable) { this->straightPathMode = enable; }
bool getStraightPathMode() const { return this->straightPathMode; }
void setSingleTileMode(bool enable) { this->singleTileMode = enable; }
bool getSingleTileMode() const { return this->singleTileMode; }
void setSingleTileMode(bool enable) { m_singleTileMode = enable; }
bool getSingleTileMode() const { return m_singleTileMode; }
void updateLocation(int x, int y);
void updateSelectionSize(int width, int height);
void setActive(bool active);
bool getActive();
bool *enabled;
void updateSelectionSize(const QSize &size);
void updateSelectionSize(int width, int height) { updateSelectionSize(QSize(width, height)); }
private:
bool active;
int width;
int height;
bool anchored;
bool rightClickSelectionAnchored;
bool smartPathMode;
bool straightPathMode;
bool singleTileMode;
int anchorCoordX;
int anchorCoordY;
int selectionWidth;
int selectionHeight;
QRgb color;
bool smartPathInEffect();
const QSize m_tileSize;
QSize m_selectionSize;
QPoint m_anchorCoord;
QRgb m_color;
bool m_anchored = false;
bool m_rightClickSelectionAnchored = false;
bool m_smartPathMode = false;
bool m_singleTileMode = false;
bool smartPathInEffect() const;
};

View File

@ -4,11 +4,93 @@
#include <QGraphicsView>
#include <QMouseEvent>
class NoScrollGraphicsView : public QGraphicsView
// For general utility features that we add to QGraphicsView
class GraphicsView : public QGraphicsView
{
Q_OBJECT
public:
NoScrollGraphicsView(QWidget *parent = nullptr) : QGraphicsView(parent) {}
GraphicsView(QWidget *parent = nullptr) : QGraphicsView(parent) {
viewport()->installEventFilter(this);
}
void centerOn(const QGraphicsView *other) {
if (other && other->viewport()) {
QPoint center = other->viewport()->rect().center();
QGraphicsView::centerOn(other->mapToScene(center));
}
}
bool eventFilter(QObject *obj, QEvent *event) {
auto createLeftButtonMouseEvent = [](const QMouseEvent *srcEvent) {
// Some of QMouseEvent's position functions / constructors changed between Qt5 and Qt6.
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
return new QMouseEvent(srcEvent->type(), srcEvent->pos(),
Qt::MouseButton::LeftButton,
Qt::MouseButton::LeftButton,
Qt::KeyboardModifier::NoModifier);
#else
return new QMouseEvent(srcEvent->type(), srcEvent->position(), srcEvent->globalPosition(),
Qt::MouseButton::LeftButton,
Qt::MouseButton::LeftButton,
Qt::KeyboardModifier::NoModifier);
#endif
};
// The goal here is to enable pressing the middle mouse button to pan around the graphics view.
// In Qt, the normal way to do this is via setDragMode(). However, that dragging mechanism only
// works via the LEFT mouse button. To support middle mouse button, we have to hijack the middle
// mouse button press event and simulate a fake left button press event. We're not done there,
// though. The children pixmap items will also be receiving that fake button press along with their
// own copy of the original middle-mouse press event because of how QGraphicsScene event handling
// works. So, we maintain a this->isMiddleButtonScrollInProgress boolean which the Editor can query
// to determine if it should ignore mouse events on the pixmap items (e.g. painting, bucket fill).
if (obj == viewport()) {
if (enableMiddleMouseButtonScroll) {
if (event->type() == QEvent::MouseButtonPress) {
auto mouseEvent = static_cast<QMouseEvent*>(event);
if (mouseEvent->button() == Qt::MiddleButton) {
this->setDragMode(QGraphicsView::DragMode::ScrollHandDrag);
this->isMiddleButtonScrollInProgress = true;
QMouseEvent* pressEvent = createLeftButtonMouseEvent(mouseEvent);
this->mousePressEvent(pressEvent);
}
return false;
}
else if (event->type() == QEvent::MouseButtonRelease) {
auto mouseEvent = static_cast<QMouseEvent*>(event);
QMouseEvent* releaseEvent = createLeftButtonMouseEvent(mouseEvent);
this->mouseReleaseEvent(releaseEvent);
this->setDragMode(desiredDragMode);
this->isMiddleButtonScrollInProgress = false;
}
}
}
return QGraphicsView::eventFilter(obj, event);
}
bool getIsMiddleButtonScrollInProgress() {
return this->isMiddleButtonScrollInProgress;
}
void setDesiredDragMode(DragMode mode) {
this->setDragMode(mode);
this->desiredDragMode = mode;
}
protected:
bool enableMiddleMouseButtonScroll = false;
private:
bool isMiddleButtonScrollInProgress = false;
DragMode desiredDragMode = DragMode::NoDrag;
};
class NoScrollGraphicsView : public GraphicsView
{
Q_OBJECT
public:
NoScrollGraphicsView(QWidget *parent = nullptr) : GraphicsView(parent) {}
protected:
void wheelEvent(QWheelEvent *event) {
@ -32,11 +114,13 @@ signals:
void clicked(QMouseEvent *event);
};
class ConnectionsView : public QGraphicsView
class ConnectionsView : public GraphicsView
{
Q_OBJECT
public:
ConnectionsView(QWidget *parent = nullptr) : QGraphicsView(parent) {}
ConnectionsView(QWidget *parent = nullptr) : GraphicsView(parent) {
this->enableMiddleMouseButtonScroll = true;
}
signals:
void pressedDelete();

View File

@ -6,13 +6,40 @@
#include <QImage>
#include <QPixmap>
class Layout;
QImage getCollisionMetatileImage(Block);
QImage getCollisionMetatileImage(int, int);
QImage getMetatileImage(uint16_t, Tileset*, Tileset*, const QList<int>&, const QList<float>&, bool useTruePalettes = false);
QImage getMetatileImage(Metatile*, Tileset*, Tileset*, const QList<int>&, const QList<float>&, bool useTruePalettes = false);
QImage getTileImage(uint16_t, Tileset*, Tileset*);
QImage getPalettedTileImage(uint16_t, Tileset*, Tileset*, int, bool useTruePalettes = false);
QImage getGreyscaleTileImage(uint16_t tile, Tileset *primaryTileset, Tileset *secondaryTileset);
QImage getMetatileImage(uint16_t, const Layout*, bool useTruePalettes = false);
QImage getMetatileImage(const Metatile*, const Layout*, bool useTruePalettes = false);
QImage getMetatileImage(uint16_t, const Tileset*, const Tileset*, const QList<int>& = {0,1,2}, const QList<float>& = {}, bool useTruePalettes = false);
QImage getMetatileImage(const Metatile*, const Tileset*, const Tileset*, const QList<int>& = {0,1,2}, const QList<float>& = {}, bool useTruePalettes = false);
QImage getMetatileSheetImage(const Layout *layout, int numMetatilesWIde, bool useTruePalettes = false);
QImage getMetatileSheetImage(const Tileset *primaryTileset,
const Tileset *secondaryTileset,
uint16_t metatileIdStart,
uint16_t metatileIdEnd,
int numMetatilesWIde,
const QList<int> &layerOrder,
const QList<float> &layerOpacity = {},
const QSize &metatileSize = Metatile::pixelSize(),
bool useTruePalettes = false);
QImage getMetatileSheetImage(const Tileset *primaryTileset,
const Tileset *secondaryTileset,
int numMetatilesWide,
const QList<int> &layerOrder,
const QList<float> &layerOpacity = {},
const QSize &metatileSize = Metatile::pixelSize(),
bool useTruePalettes = false);
QImage getTileImage(uint16_t, const Tileset*, const Tileset*);
QImage getPalettedTileImage(uint16_t, const Tileset*, const Tileset*, int, bool useTruePalettes = false);
QImage getColoredTileImage(uint16_t tileId, const Tileset *, const Tileset *, const QList<QRgb> &palette);
QImage getGreyscaleTileImage(uint16_t tileId, const Tileset *, const Tileset *);
void flattenTo4bppImage(QImage * image);
static QList<QRgb> greyscalePalette({

View File

@ -61,20 +61,22 @@ public:
void magicFill(
int initialX,
int initialY,
QPoint selectionDimensions,
QList<MetatileSelectionItem> selectedMetatiles,
QList<CollisionSelectionItem> selectedCollisions,
const QSize &selectionDimensions,
const QList <MetatileSelectionItem> &selectedMetatiles,
const QList <CollisionSelectionItem> &selectedCollisions,
bool fromScriptCall = false);
void floodFill(int x, int y, bool fromScriptCall = false);
void floodFill(int x, int y, uint16_t metatileId, bool fromScriptCall = false);
void floodFill(int initialX,
int initialY,
QPoint selectionDimensions,
QList<MetatileSelectionItem> selectedMetatiles,
QList<CollisionSelectionItem> selectedCollisions,
const QSize &selectionDimensions,
const QList<MetatileSelectionItem> &selectedMetatiles,
const QList<CollisionSelectionItem> &selectedCollisions,
bool fromScriptCall = false);
void floodFillSmartPath(int initialX, int initialY, bool fromScriptCall = false);
static bool isSmartPathSize(const QSize &size) { return size.width() == smartPathWidth && size.height() == smartPathHeight; }
virtual void pick(QGraphicsSceneMouseEvent*);
virtual void select(QGraphicsSceneMouseEvent*);
virtual void shift(QGraphicsSceneMouseEvent*);
@ -86,32 +88,33 @@ public:
void lockNondominantAxis(QGraphicsSceneMouseEvent *event);
QPoint adjustCoords(QPoint pos);
void setEditsEnabled(bool enabled) { this->editsEnabled = enabled; }
bool getEditsEnabled() { return this->editsEnabled; }
protected:
unsigned actionId_ = 0;
private:
void paintSmartPath(int x, int y, bool fromScriptCall = false);
static bool isValidSmartPathSelection(MetatileSelection selection);
static QList<int> smartPathTable;
static constexpr int smartPathWidth = 3;
static constexpr int smartPathHeight = 3;
static constexpr int smartPathMiddleIndex = (smartPathWidth / 2) + ((smartPathHeight / 2) * smartPathWidth);
QPoint lastMetatileSelectionPos = QPoint(-1,-1);
unsigned actionId_ = 0;
bool editsEnabled = true;
signals:
void startPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *);
void endPaint(QGraphicsSceneMouseEvent *, LayoutPixmapItem *);
void mouseEvent(QGraphicsSceneMouseEvent *, LayoutPixmapItem *);
void hoveredMapMetatileChanged(const QPoint &pos);
void hoveredMapMetatileCleared();
void hoverEntered(const QPoint &pos);
void hoverChanged(const QPoint &pos);
void hoverCleared();
protected:
void hoverMoveEvent(QGraphicsSceneHoverEvent*);
void hoverEnterEvent(QGraphicsSceneHoverEvent*);
void hoverLeaveEvent(QGraphicsSceneHoverEvent*);
void mousePressEvent(QGraphicsSceneMouseEvent*);
void mouseMoveEvent(QGraphicsSceneMouseEvent*);
void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent*) override;
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent*) override;
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
virtual void mousePressEvent(QGraphicsSceneMouseEvent*) override;
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override;
};
#endif // MAPPIXMAPITEM_H

View File

@ -2,6 +2,7 @@
#define MAPIMAGEEXPORTER_H
#include "project.h"
#include "checkeredbgscene.h"
class QGifImage;
@ -52,11 +53,12 @@ private:
Project *m_project = nullptr;
Map *m_map = nullptr;
Layout *m_layout = nullptr;
QGraphicsScene *m_scene = nullptr;
CheckeredBgScene *m_scene = nullptr;
QGifImage *m_timelapseGifImage = nullptr;
QBuffer *m_timelapseBuffer = nullptr;
QMovie *m_timelapseMovie = nullptr;
QGraphicsPixmapItem *m_preview = nullptr;
QImage m_previewImage;
ImageExporterSettings m_settings;
ImageExporterMode m_mode = ImageExporterMode::Normal;
@ -76,15 +78,15 @@ private:
void setConnectionDirectionEnabled(const QString &dir, bool enable);
void saveImage();
QGifImage* createTimelapseGifImage(QProgressDialog *progress);
QPixmap getStitchedImage(QProgressDialog *progress);
QPixmap getFormattedMapPixmap();
QImage getStitchedImage(QProgressDialog *progress);
QImage getFormattedMapImage();
void paintBorder(QPainter *painter, Layout *layout);
void paintCollision(QPainter *painter, Layout *layout);
void paintConnections(QPainter *painter, const Map *map);
void paintEvents(QPainter *painter, const Map *map);
void paintGrid(QPainter *painter, const Layout *layout = nullptr);
QMargins getMargins(const Map *map);
QPixmap getExpandedPixmap(const QPixmap &pixmap, const QSize &targetSize, const QColor &fillColor);
QImage getExpandedImage(const QImage &image, const QSize &targetSize, const QColor &fillColor);
bool currentHistoryAppliesToFrame(QUndoStack *historyStack);
protected:

View File

@ -3,6 +3,7 @@
#include <QGraphicsObject>
#include <QLine>
#include "metatile.h"
class MapRuler : public QGraphicsObject, private QLine
@ -63,8 +64,8 @@ private:
QPoint snapToWithinBounds(QPoint pos) const;
void updateGeometry();
void updateStatus(Qt::Corner corner);
int pixWidth() const { return width() * 16; }
int pixHeight() const { return height() * 16; }
int pixWidth() const { return width() * Metatile::pixelWidth(); }
int pixHeight() const { return height() * Metatile::pixelHeight(); }
};
#endif // MAPRULER_H

View File

@ -1,20 +1,25 @@
#ifndef MAPVIEW_H
#define MAPVIEW_H
#if __has_include(<QJSValue>)
#include <QJSValue>
#endif
#include "graphicsview.h"
#include "overlay.h"
#include "tile.h"
class Editor;
class MapView : public QGraphicsView
class MapView : public GraphicsView
{
Q_OBJECT
public:
MapView() : QGraphicsView() {}
MapView(QWidget *parent) : QGraphicsView(parent) {}
MapView() : MapView(nullptr) {}
MapView(QWidget *parent) : GraphicsView(parent) {
this->enableMiddleMouseButtonScroll = true;
}
Editor *editor;
@ -22,6 +27,7 @@ public:
void clearOverlayMap();
// Overlay scripting API
#ifdef QT_QML_LIB
Q_INVOKABLE void clear(int layer);
Q_INVOKABLE void clear();
Q_INVOKABLE void hide(int layer);
@ -74,6 +80,7 @@ public:
Q_INVOKABLE void addTileImage(int x, int y, int tileId, bool xflip, bool yflip, int paletteId, bool setTransparency = false, int layer = 0);
Q_INVOKABLE void addTileImage(int x, int y, QJSValue tileObj, bool setTransparency = false, int layer = 0);
Q_INVOKABLE void addMetatileImage(int x, int y, int metatileId, bool setTransparency = false, int layer = 0);
#endif // QT_QML_LIB
protected:
virtual void drawForeground(QPainter *painter, const QRectF &rect) override;

View File

@ -0,0 +1,104 @@
#ifndef METATILEIMAGEEXPORTER_H
#define METATILEIMAGEEXPORTER_H
#include <QDialog>
#include <QShowEvent>
#include <QCloseEvent>
#include <QListWidget>
#include <QDropEvent>
#include <QRadioButton>
#include "config.h"
#include "checkeredbgscene.h"
class Tileset;
namespace Ui {
class MetatileImageExporter;
}
class ReorderableListWidget : public QListWidget
{
Q_OBJECT
public:
explicit ReorderableListWidget(QWidget *parent = nullptr) : QListWidget(parent) {
setDragEnabled(true);
setDragDropMode(QAbstractItemView::InternalMove);
setDefaultDropAction(Qt::MoveAction);
};
signals:
void reordered();
protected:
virtual void dropEvent(QDropEvent *event) override {
QListWidget::dropEvent(event);
if (event->isAccepted()) {
emit reordered();
}
}
};
class MetatileImageExporter : public QDialog
{
Q_OBJECT
public:
struct Settings {
OrderedMap<int,bool> layerOrder = {
{2, true},
{1, true},
{0, true},
};
uint16_t metatileStart = 0;
uint16_t metatileEnd = 0xFFFF;
uint16_t numMetatilesWide = projectConfig.metatileSelectorWidth;
bool usePrimaryTileset = true;
bool useSecondaryTileset = false;
bool renderPlaceholders = false;
int transparencyMode = 0;
};
explicit MetatileImageExporter(QWidget *parent, Tileset *primaryTileset, Tileset *secondaryTileset, Settings *savedSettings = nullptr);
~MetatileImageExporter();
bool saveImage(QString filepath = QString());
QImage getImage();
QString getDefaultFileName() const;
void applySettings(const Settings &settings);
void reset();
protected:
virtual void showEvent(QShowEvent *) override;
virtual void closeEvent(QCloseEvent *) override;
private:
Ui::MetatileImageExporter *ui;
Tileset *m_primaryTileset;
Tileset *m_secondaryTileset;
Settings *m_savedSettings;
CheckeredBgScene *m_scene = nullptr;
QGraphicsPixmapItem *m_preview = nullptr;
QImage m_previewImage;
bool m_previewUpdateQueued = false;
QList<int> m_layerOrder;
ProjectConfig m_savedConfig;
QList<QRadioButton*> m_transparencyButtons;
void populate(const Settings &settings);
void updatePreview();
void tryUpdatePreview();
void queuePreviewUpdate();
void tryEnforceMetatileRange();
void syncPixelWidth();
void syncMetatileWidth();
void validateMetatileStart();
void validateMetatileEnd();
void updateMetatileRange();
void copyRenderSettings();
void restoreRenderSettings();
};
#endif // METATILEIMAGEEXPORTER_H

View File

@ -9,38 +9,51 @@
class MetatileLayersItem: public SelectablePixmapItem {
Q_OBJECT
public:
MetatileLayersItem(Metatile *metatile, Tileset *primaryTileset, Tileset *secondaryTileset): SelectablePixmapItem(16, 16, 6, 2) {
this->metatile = metatile;
this->primaryTileset = primaryTileset;
this->secondaryTileset = secondaryTileset;
this->clearLastModifiedCoords();
this->clearLastHoveredCoords();
setAcceptHoverEvents(true);
}
void draw();
MetatileLayersItem(uint16_t metatileId,
Tileset *primaryTileset,
Tileset *secondaryTileset,
Qt::Orientation orientation = Qt::Vertical);
void draw() override;
void setTilesets(Tileset*, Tileset*);
void setMetatile(Metatile*);
void clearLastModifiedCoords();
void clearLastHoveredCoords();
void setMetatileId(uint16_t);
bool hasCursor() const { return this->cursorCellPos != QPoint(-1,-1); }
Tile tileUnderCursor() const;
QPoint tileIndexToPos(int index) const { return this->tilePositions.value(index); }
int posToTileIndex(const QPoint &pos) const { return this->tilePositions.indexOf(pos); }
int posToTileIndex(int x, int y) const { return posToTileIndex(QPoint(x, y)); }
void setOrientation(Qt::Orientation orientation);
bool showGrid;
private:
Metatile* metatile;
uint16_t metatileId = 0;
Tileset *primaryTileset;
Tileset *secondaryTileset;
QPoint prevChangedPos;
QPoint prevHoveredPos;
Qt::Orientation orientation;
QPoint cursorCellPos = QPoint(-1,-1);
QList<QPoint> tilePositions;
QPoint getBoundedPos(const QPointF &);
void updateSelection();
bool setCursorCellPos(const QPoint &pos);
Metatile* getMetatile() const { return Tileset::getMetatile(this->metatileId, this->primaryTileset, this->secondaryTileset); }
signals:
void tileChanged(int, int);
void selectedTilesChanged(QPoint, int, int);
void hoveredTileChanged(uint16_t);
void tileChanged(const QPoint &pos);
void paletteChanged(const QPoint &pos);
void selectedTilesChanged(const QPoint &pos, const QSize &dimensions);
void hoveredTileChanged(const Tile &tile);
void hoveredTileCleared();
protected:
void mousePressEvent(QGraphicsSceneMouseEvent*);
void mouseMoveEvent(QGraphicsSceneMouseEvent*);
void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
void hoverMoveEvent(QGraphicsSceneHoverEvent*);
void hoverLeaveEvent(QGraphicsSceneHoverEvent*);
void mousePressEvent(QGraphicsSceneMouseEvent*) override;
void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override;
void hoverMoveEvent(QGraphicsSceneHoverEvent*) override;
void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
};
#endif // METATILELAYERSITEM_H

View File

@ -11,6 +11,10 @@ struct MetatileSelectionItem
{
bool enabled;
uint16_t metatileId;
// Default values + compatibility with older compilers
MetatileSelectionItem(bool enabled_ = false, uint16_t metatileId_ = 0)
: enabled(enabled_), metatileId(metatileId_) {}
};
struct CollisionSelectionItem
@ -18,11 +22,15 @@ struct CollisionSelectionItem
bool enabled;
uint16_t collision;
uint16_t elevation;
// Default values + compatibility with older compilers
CollisionSelectionItem(bool enabled_ = false, uint16_t collision_ = 0, uint16_t elevation_ = 0)
: enabled(enabled_), collision(collision_), elevation(elevation_) {}
};
struct MetatileSelection
{
QPoint dimensions;
QSize dimensions;
bool hasCollision;
QList<MetatileSelectionItem> metatileItems;
QList<CollisionSelectionItem> collisionItems;
@ -31,33 +39,34 @@ struct MetatileSelection
class MetatileSelector: public SelectablePixmapItem {
Q_OBJECT
public:
MetatileSelector(int numMetatilesWide, Layout *layout): SelectablePixmapItem(16, 16) {
MetatileSelector(int numMetatilesWide, Layout *layout)
: SelectablePixmapItem(Metatile::pixelSize()),
numMetatilesWide(qMax(numMetatilesWide, 1))
{
this->externalSelection = false;
this->prefabSelection = false;
this->numMetatilesWide = numMetatilesWide;
this->layout = layout;
this->primaryTileset = layout->tileset_primary;
this->secondaryTileset = layout->tileset_secondary;
this->selection = MetatileSelection{};
this->cellPos = QPoint(-1, -1);
setAcceptHoverEvents(true);
}
QPoint getSelectionDimensions() override;
QSize getSelectionDimensions() const override;
void draw() override;
void refresh();
bool select(uint16_t metatile);
void selectFromMap(uint16_t metatileId, uint16_t collision, uint16_t elevation);
void setTilesets(Tileset*, Tileset*);
MetatileSelection getMetatileSelection();
MetatileSelection getMetatileSelection() const { return this->selection; }
void setPrefabSelection(MetatileSelection selection);
void setExternalSelection(int, int, QList<uint16_t>, QList<QPair<uint16_t, uint16_t>>);
QPoint getMetatileIdCoordsOnWidget(uint16_t);
void setExternalSelection(int, int, const QList<uint16_t>&, const QList<QPair<uint16_t, uint16_t>>&);
QPoint getMetatileIdCoordsOnWidget(uint16_t metatileId) const;
void setLayout(Layout *layout);
bool isInternalSelection() const { return (!this->externalSelection && !this->prefabSelection); }
Tileset *primaryTileset;
Tileset *secondaryTileset;
Tileset *primaryTileset() const { return this->layout->tileset_primary; }
Tileset *secondaryTileset() const { return this->layout->tileset_secondary; }
protected:
void mousePressEvent(QGraphicsSceneMouseEvent*) override;
void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
@ -66,10 +75,10 @@ protected:
void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
void drawSelection() override;
private:
const int numMetatilesWide;
QPixmap basePixmap;
bool externalSelection;
bool prefabSelection;
int numMetatilesWide;
Layout *layout;
int externalSelectionWidth;
int externalSelectionHeight;
@ -80,8 +89,9 @@ private:
void updateBasePixmap();
void updateSelectedMetatiles();
void updateExternalSelectedMetatiles();
uint16_t getMetatileId(int x, int y) const;
QPoint getMetatileIdCoords(uint16_t);
uint16_t posToMetatileId(int x, int y, bool *ok = nullptr) const;
uint16_t posToMetatileId(const QPoint &pos, bool *ok = nullptr) const;
QPoint metatileIdToPos(uint16_t metatileId, bool *ok = nullptr) const;
bool positionIsValid(const QPoint &pos) const;
bool selectionIsValid();
void hoverChanged();

View File

@ -33,6 +33,9 @@ public slots:
void setTabActive(int index, bool active = true);
void deactivateTab(int tabIndex);
signals:
void edited();
private:
void actionCopyTab(int index);
void actionAddDeleteTab(int index);

View File

@ -10,7 +10,7 @@
class MovableRect : public QGraphicsRectItem
{
public:
MovableRect(bool *enabled, const QRectF &rect, const QRgb &color);
MovableRect(const QRectF &rect, const QSize &cellSize, const QRgb &color);
QRectF boundingRect() const override {
qreal penWidth = 4;
return QRectF(-penWidth,
@ -29,13 +29,9 @@ public:
}
void updateLocation(int x, int y);
void setActive(bool active);
bool getActive() const { return this->active; }
protected:
bool *enabled = nullptr;
bool active = true;
QRectF baseRect;
QSize cellSize;
QRgb color;
void updateVisibility();
@ -48,7 +44,7 @@ class ResizableRect : public QObject, public MovableRect
{
Q_OBJECT
public:
ResizableRect(QObject *parent, bool *enabled, int width, int height, QRgb color);
ResizableRect(QObject *parent, const QSize &cellSize, const QSize &size, const QRgb &color);
QRectF boundingRect() const override {
return QRectF(this->rect() + QMargins(lineWidth, lineWidth, lineWidth, lineWidth));

View File

@ -24,7 +24,7 @@ public:
void setSettings(const Layout::Settings &settings);
Layout::Settings settings() const;
void setDisabled(bool disabled);
void setDimensionsDisabled(bool disabled);
bool validate();

View File

@ -0,0 +1,20 @@
#ifndef NUMERICSORTTABLEITEM_H
#define NUMERICSORTTABLEITEM_H
#include <QTableWidgetItem>
#include <QCollator>
class NumericSortTableItem : public QTableWidgetItem
{
public:
explicit NumericSortTableItem(const QString &text) : QTableWidgetItem(text) {};
protected:
virtual bool operator<(const QTableWidgetItem &other) const override {
QCollator collator;
collator.setNumericMode(true);
return collator.compare(text(), other.text()) < 0;
}
};
#endif // NUMERICSORTTABLEITEM_H

View File

@ -8,6 +8,8 @@
#include <QStaticText>
#include <QPainterPath>
#ifdef QT_QML_LIB
class OverlayItem {
public:
OverlayItem() {}
@ -123,4 +125,17 @@ private:
QRectF *clippingRect;
};
#else
class Overlay
{
public:
Overlay() {}
~Overlay() {}
void renderItems(QPainter *) {}
};
#endif // QT_QML_LIB
#endif // OVERLAY_H

View File

@ -0,0 +1,67 @@
#ifndef PALETTECOLORSEARCH_H
#define PALETTECOLORSEARCH_H
#include <QDialog>
#include <QIcon>
#include <QMap>
class Tileset;
class Project;
namespace Ui {
class PaletteColorSearch;
}
class PaletteColorSearch : public QDialog
{
Q_OBJECT
public:
explicit PaletteColorSearch(Project *project,
const Tileset *primaryTileset,
const Tileset *secondaryTileset,
QWidget *parent = nullptr);
~PaletteColorSearch();
void setPaletteId(int paletteId);
int currentPaletteId() const;
void setColorId(int colorId);
int currentColorId() const;
void setTilesets(const Tileset *primaryTileset, const Tileset *secondaryTileset);
const Tileset* currentTileset() const;
signals:
void metatileSelected(uint16_t metatileId);
void paletteIdChanged(int paletteId);
private:
struct RowData {
QString tilesetName;
QString pairedTilesetName;
QString metatileId;
QIcon metatileIcon;
};
enum ResultsColumn {
TilesetName,
Metatile,
};
Ui::PaletteColorSearch *ui;
Project *m_project;
const Tileset *m_primaryTileset;
const Tileset *m_secondaryTileset;
QMap<QString,QList<RowData>> m_resultsCache;
void addTableEntry(const RowData &rowData);
QList<RowData> search(int colorId) const;
QList<RowData> search(int colorId, const Tileset *tileset, const Tileset *pairedTileset) const;
void refresh();
void updateResults();
void cellDoubleClicked(int row, int col);
};
#endif // PALETTECOLORSEARCH_H

View File

@ -2,10 +2,12 @@
#define PALETTEEDITOR_H
#include <QMainWindow>
#include <QPointer>
#include "colorinputwidget.h"
#include "project.h"
#include "history.h"
#include "palettecolorsearch.h"
namespace Ui {
class PaletteEditor;
@ -24,25 +26,40 @@ class PaletteEditor : public QMainWindow {
public:
explicit PaletteEditor(Project*, Tileset*, Tileset*, int paletteId, QWidget *parent = nullptr);
~PaletteEditor();
void setPaletteId(int);
int currentPaletteId() const;
void setTilesets(Tileset*, Tileset*);
bool showingUnusedColors() const;
signals:
void metatileSelected(uint16_t metatileId);
private:
Ui::PaletteEditor *ui;
Project *project = nullptr;
QList<ColorInputWidget*> colorInputs;
Project *project;
Tileset *primaryTileset;
Tileset *secondaryTileset;
QList<History<PaletteHistoryItem*>> palettesHistory;
QList<ColorInputWidget*> colorInputs;
QMap<int, History<PaletteHistoryItem*>> palettesHistory;
QMap<int,QSet<int>> unusedColorCache;
QPointer<PaletteColorSearch> colorSearchWindow;
Tileset* getTileset(int paletteId);
Tileset* getTileset(int paletteId) const;
void refreshColorInputs();
void refreshPaletteId();
void commitEditHistory();
void commitEditHistory(int paletteId);
void updateEditHistoryActions();
void restoreWindowState();
void invalidateCache();
void closeEvent(QCloseEvent*);
void setColorInputTitles(bool show);
QSet<int> getUnusedColorIds();
void openColorSearch();
void setRgb(int index, QRgb rgb);
void setPalette(int paletteId, const QList<QRgb> &palette);
@ -50,14 +67,13 @@ private:
void setBitDepth(int bits);
int bitDepth = 24;
static const int numColors = 16;
static const int numColors = Tileset::numColorsPerPalette();
signals:
void closed();
void changedPaletteColor();
void changedPalette(int);
private slots:
void on_spinBox_PaletteId_valueChanged(int arg1);
void on_actionUndo_triggered();
void on_actionRedo_triggered();
void on_actionImport_Palette_triggered();

View File

@ -2,6 +2,7 @@
#define PREFERENCES_H
#include <QMainWindow>
#include "config.h"
class NoScrollComboBox;
class QAbstractButton;
@ -23,11 +24,11 @@ public:
signals:
void preferencesSaved();
void themeChanged(const QString &theme);
void scriptSettingsChanged(bool on);
void scriptSettingsChanged(ScriptAutocompleteMode mode);
void reloadProjectRequested();
private:
Ui::PreferenceEditor *ui;
NoScrollComboBox *themeSelector;
QFont applicationFont;
QFont mapListFont;

View File

@ -3,10 +3,10 @@
#include "maplayout.h"
#include "project.h"
#include "checkeredbgscene.h"
#include <QDialog>
#include <QPointer>
#include <QGraphicsScene>
#include <QGraphicsLineItem>
#include <QGraphicsRectItem>
#include <QDialogButtonBox>
@ -16,39 +16,12 @@ namespace Ui {
class ResizeLayoutPopup;
}
/// Custom scene that paints its background a gray checkered pattern.
/// Additionally there is a definable "valid" area which will paint the checkerboard green inside.
class CheckeredBgScene : public QGraphicsScene {
Q_OBJECT
public:
CheckeredBgScene(QObject *parent = nullptr);
void setValidRect(int x, int y, int width, int height) {
this->validRect = QRect(x * this->gridSize, y * this->gridSize, width * this->gridSize, height * this->gridSize);
}
void setValidRect(QRect rect) {
this->validRect = rect;
}
QRect getValidRect() { return this->validRect; }
protected:
void drawBackground(QPainter *painter, const QRectF &rect) override;
private:
int gridSize = 16; // virtual pixels
QRect validRect = QRect();
};
/// PixmapItem subclass which allows for creating a boundary which determine whether
/// the pixmap paints normally or with a black tint.
/// This item is movable and snaps on a 16x16 grid.
/// This item is movable and snaps on a 'cellSize' grid.
class BoundedPixmapItem : public QGraphicsPixmapItem {
public:
BoundedPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr);
BoundedPixmapItem(const QPixmap &pixmap, const QSize &cellSize, QGraphicsItem *parent = nullptr);
void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override;
void setBoundary(ResizableRect *rect) { this->boundary = rect; }
@ -59,6 +32,7 @@ protected:
private:
ResizableRect *boundary = nullptr;
QPointF clickedPos = QPointF();
QSize cellSize;
};

View File

@ -7,16 +7,27 @@
class SelectablePixmapItem : public QObject, public QGraphicsPixmapItem {
Q_OBJECT
public:
SelectablePixmapItem(int cellWidth, int cellHeight): SelectablePixmapItem(cellWidth, cellHeight, INT_MAX, INT_MAX) {}
SelectablePixmapItem(int cellWidth, int cellHeight, int maxSelectionWidth, int maxSelectionHeight) {
this->cellWidth = cellWidth;
this->cellHeight = cellHeight;
this->maxSelectionWidth = maxSelectionWidth;
this->maxSelectionHeight = maxSelectionHeight;
}
virtual QPoint getSelectionDimensions();
SelectablePixmapItem(const QSize &size, const QSize &maxSelectionSize = QSize(INT_MAX, INT_MAX))
: SelectablePixmapItem(size.width(), size.height(), maxSelectionSize.width(), maxSelectionSize.height()) {}
SelectablePixmapItem(int cellWidth, int cellHeight, int maxSelectionWidth = INT_MAX, int maxSelectionHeight = INT_MAX)
: cellWidth(cellWidth),
cellHeight(cellHeight),
maxSelectionWidth(maxSelectionWidth),
maxSelectionHeight(maxSelectionHeight),
selectionInitialX(0),
selectionInitialY(0),
selectionOffsetX(0),
selectionOffsetY(0)
{}
virtual QSize getSelectionDimensions() const { return QSize(abs(this->selectionOffsetX) + 1, abs(this->selectionOffsetY) + 1); }
virtual void draw() = 0;
virtual void setMaxSelectionSize(const QSize &size) { setMaxSelectionSize(size.width(), size.height()); }
virtual void setMaxSelectionSize(int width, int height);
QSize maxSelectionSize() { return QSize(this->maxSelectionWidth, this->maxSelectionHeight); }
void setSelectionStyle(Qt::PenStyle style);
protected:
int cellWidth;
int cellHeight;
@ -28,16 +39,28 @@ protected:
int selectionOffsetY;
QPoint getSelectionStart();
void select(int, int, int, int);
void updateSelection(int, int);
QPoint getCellPos(QPointF);
void select(const QPoint &pos, const QSize &size = QSize(1,1));
void select(int x, int y, int width = 1, int height = 1) { select(QPoint(x, y), QSize(width, height)); }
void updateSelection(const QPoint &pos);
QPoint getCellPos(const QPointF &itemPos);
int getBoundedWidth(int width) const { return qBound(1, width, this->maxSelectionWidth); }
int getBoundedHeight(int height) const { return qBound(1, height, this->maxSelectionHeight); }
virtual void mousePressEvent(QGraphicsSceneMouseEvent*) override;
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override;
virtual void drawSelectionRect(const QPoint &, const QSize &, Qt::PenStyle style = Qt::SolidLine);
virtual void drawSelection();
virtual int cellsWide() const { return this->cellWidth ? (pixmap().width() / this->cellWidth) : 0; }
virtual int cellsTall() const { return this->cellHeight ? (pixmap().height() / this->cellHeight) : 0; }
signals:
void selectionChanged(int, int, int, int);
void selectionChanged(const QPoint&, const QSize&);
private:
QPoint prevCellPos = QPoint(-1,-1);
Qt::PenStyle selectionStyle = Qt::SolidLine;
void setSelection(const QPoint &pos, const QSize &size);
};
#endif // SELECTABLEPIXMAPITEM_H

View File

@ -40,6 +40,7 @@ private:
QHash<MultiKeyEdit *, QPointer<const QObject>> multiKeyEdits_objects;
void parseObjectList(const QObjectList &objectList);
void parseObject(const QObject *object, QMap<const QObject*, QString> *objects_labels, QMap<const QObject*, QString> *objects_prefixes);
QString getLabel(const QObject *object) const;
bool stringPropertyIsNotEmpty(const QObject *object, const char *name) const;
void populateMainContainer();
@ -48,7 +49,6 @@ private:
void addNewMultiKeyEdit(const QObject *object, const QString &shortcutContext);
QList<MultiKeyEdit *> siblings(MultiKeyEdit *multiKeyEdit) const;
void promptUserOnDuplicateFound(MultiKeyEdit *current, MultiKeyEdit *sender);
void removeKeySequence(const QKeySequence &keySequence, MultiKeyEdit *multiKeyEdit);
void saveShortcuts();
void resetShortcuts();

View File

@ -136,7 +136,7 @@ public:
this->palette = PaletteUtil::parse(palFilepath, &err);
}
this->setPixmap(QPixmap::fromImage(this->tileset));
this->numTilesWide = this->tileset.width() / 8;
this->numTilesWide = this->tileset.width() / this->cellWidth;
this->selectedTile = 0x00;
setAcceptHoverEvents(true);
}

View File

@ -2,12 +2,15 @@
#define TILESETEDITOR_H
#include <QMainWindow>
#include <QPointer>
#include <QKeyEvent>
#include "project.h"
#include "history.h"
#include "paletteeditor.h"
#include "tileseteditormetatileselector.h"
#include "tileseteditortileselector.h"
#include "metatilelayersitem.h"
#include "metatileimageexporter.h"
class NoScrollComboBox;
class Layout;
@ -18,6 +21,7 @@ class TilesetEditor;
class MetatileHistoryItem {
public:
MetatileHistoryItem() {};
MetatileHistoryItem(uint16_t metatileId, Metatile *prevMetatile, Metatile *newMetatile, QString prevLabel, QString newLabel) {
this->metatileId = metatileId;
this->prevMetatile = prevMetatile;
@ -25,15 +29,24 @@ public:
this->prevLabel = prevLabel;
this->newLabel = newLabel;
}
MetatileHistoryItem(uint16_t metatileIdA, uint16_t metatileIdB) {
this->metatileId = metatileIdA;
this->swapMetatileId = metatileIdB;
this->isSwap = true;
}
~MetatileHistoryItem() {
delete this->prevMetatile;
delete this->newMetatile;
}
uint16_t metatileId;
Metatile *prevMetatile;
Metatile *newMetatile;
uint16_t metatileId = 0;
Metatile *prevMetatile = nullptr;
Metatile *newMetatile = nullptr;
QString prevLabel;
QString newLabel;
uint16_t swapMetatileId = 0;
bool isSwap = false;
};
class TilesetEditor : public QMainWindow
@ -53,27 +66,19 @@ public:
QObjectList shortcutableObjects() const;
void setPaletteId(int paletteId);
int paletteId() const;
public slots:
void applyUserShortcuts();
void onSelectedMetatileChanged(uint16_t);
private slots:
void onWindowActivated();
void onHoveredMetatileChanged(uint16_t);
void onHoveredMetatileCleared();
void onHoveredTileChanged(uint16_t);
void onHoveredTileCleared();
void onSelectedTilesChanged();
void onMetatileLayerTileChanged(int, int);
void onMetatileLayerSelectionChanged(QPoint, int, int);
void onMetatileLayerSelectionChanged(const QPoint&, const QSize&);
void onPaletteEditorChangedPaletteColor();
void onPaletteEditorChangedPalette(int);
void on_spinBox_paletteSelector_valueChanged(int arg1);
void on_actionImport_Primary_Tiles_triggered();
void on_actionImport_Secondary_Tiles_triggered();
void on_actionChange_Metatiles_Count_triggered();
@ -89,17 +94,7 @@ private slots:
void on_actionUndo_triggered();
void on_actionRedo_triggered();
void on_lineEdit_metatileLabel_editingFinished();
void on_actionExport_Primary_Tiles_Image_triggered();
void on_actionExport_Secondary_Tiles_Image_triggered();
void on_actionExport_Primary_Metatiles_Image_triggered();
void on_actionExport_Secondary_Metatiles_Image_triggered();
void on_actionImport_Primary_Metatiles_triggered();
void on_actionImport_Secondary_Metatiles_triggered();
void on_copyButton_metatileLabel_clicked();
void on_copyButton_MetatileLabel_clicked();
void on_actionCut_triggered();
void on_actionCopy_triggered();
@ -107,6 +102,10 @@ private slots:
void on_horizontalSlider_MetatilesZoom_valueChanged(int value);
void on_horizontalSlider_TilesZoom_valueChanged(int value);
protected:
void keyPressEvent(QKeyEvent *event) override;
void closeEvent(QCloseEvent*) override;
private:
void initAttributesUi();
void initMetatileSelector();
@ -122,16 +121,18 @@ private:
void drawSelectedTiles();
void redrawTileSelector();
void redrawMetatileSelector();
void importTilesetTiles(Tileset*, bool);
void importTilesetMetatiles(Tileset*, bool);
void importTilesetTiles(Tileset*);
void importAdvanceMapMetatiles(Tileset*);
void exportTilesImage(Tileset*);
void exportPorytilesLayerImages(Tileset*);
void exportMetatilesImage();
void refresh();
void commitMetatileLabel();
void closeEvent(QCloseEvent*);
void countMetatileUsage();
void countTileUsage();
void copyMetatile(bool cut);
void pasteMetatile(const Metatile * toPaste, QString label);
bool replaceMetatile(uint16_t metatileId, const Metatile * src, QString label);
void pasteMetatile(const Metatile &toPaste, QString label);
bool replaceMetatile(uint16_t metatileId, const Metatile &src, QString label);
void commitMetatileChange(Metatile * prevMetatile);
void commitMetatileAndLabelChange(Metatile * prevMetatile, QString prevLabel);
uint32_t attributeNameToValue(Metatile::Attr attribute, const QString &text, bool *ok);
@ -142,34 +143,44 @@ private:
void commitEncounterType();
void commitTerrainType();
void commitLayerType();
void commit(MetatileHistoryItem *item);
void updateEditHistoryActions();
void setRawAttributesVisible(bool visible);
void setXFlip(bool enabled);
void setYFlip(bool enabled);
void refreshTileFlips();
void refreshPaletteId();
void paintSelectedLayerTiles(const QPoint &pos, bool paletteOnly = false);
void setMetatileLayerOrientation(Qt::Orientation orientation);
void commitMetatileSwap(uint16_t metatileIdA, uint16_t metatileIdB);
bool swapMetatiles(uint16_t metatileIdA, uint16_t metatileIdB);
void applyMetatileSwapToLayouts(uint16_t metatileIdA, uint16_t metatileIdB);
void applyMetatileSwapsToLayouts();
void rebuildMetatilePropertiesFrame();
void addWidgetToMetatileProperties(QWidget *w, int *row, int rowSpan);
void updateLayerTileStatus();
void showTileStatus(const Tile &tile);
void showTileStatus(uint16_t tileId);
void updateMetatileStatus();
void showMetatileStatus(uint16_t metatileId);
Ui::TilesetEditor *ui;
History<MetatileHistoryItem*> metatileHistory;
TilesetEditorMetatileSelector *metatileSelector = nullptr;
TilesetEditorTileSelector *tileSelector = nullptr;
MetatileLayersItem *metatileLayersItem = nullptr;
PaletteEditor *paletteEditor = nullptr;
QPointer<PaletteEditor> paletteEditor = nullptr;
Project *project = nullptr;
Layout *layout = nullptr;
Metatile *metatile = nullptr;
Metatile *copiedMetatile = nullptr;
QString copiedMetatileLabel;
int paletteId;
bool tileXFlip;
bool tileYFlip;
bool hasUnsavedChanges;
Tileset *primaryTileset = nullptr;
Tileset *secondaryTileset = nullptr;
QGraphicsScene *metatilesScene = nullptr;
QGraphicsScene *tilesScene = nullptr;
QGraphicsScene *selectedTileScene = nullptr;
QGraphicsPixmapItem *selectedTilePixmapItem = nullptr;
QGraphicsScene *metatileLayersScene = nullptr;
bool lockSelection = false;
QSet<uint16_t> metatileReloadQueue;
MetatileImageExporter::Settings *metatileImageExportSettings = nullptr;
QList<QPair<uint16_t,uint16_t>> metatileIdSwaps;
int numLayerViewRows;
bool save();

View File

@ -9,7 +9,7 @@ class Layout;
class TilesetEditorMetatileSelector: public SelectablePixmapItem {
Q_OBJECT
public:
TilesetEditorMetatileSelector(Tileset *primaryTileset, Tileset *secondaryTileset, Layout *layout);
TilesetEditorMetatileSelector(int numMetatilesWide, Tileset *primaryTileset, Tileset *secondaryTileset, Layout *layout);
Layout *layout = nullptr;
void draw() override;
@ -18,11 +18,16 @@ public:
bool select(uint16_t metatileId);
void setTilesets(Tileset*, Tileset*);
uint16_t getSelectedMetatileId();
void updateSelectedMetatile();
QPoint getMetatileIdCoordsOnWidget(uint16_t metatileId);
QImage buildPrimaryMetatilesImage();
QImage buildSecondaryMetatilesImage();
uint16_t getSelectedMetatileId() const { return this->selectedMetatileId; }
QPoint getMetatileIdCoordsOnWidget(uint16_t metatileId) const;
void setSwapMode(bool enabled);
void addToSwapSelection(uint16_t metatileId);
void removeFromSwapSelection(uint16_t metatileId);
void clearSwapSelection();
bool hasCursor() const { return this->prevCellPos != QPoint(-1,-1); }
uint16_t metatileIdUnderCursor() const { return this->lastHoveredMetatileId; }
QVector<uint16_t> usedMetatiles;
bool selectorShowUnused = false;
@ -38,32 +43,37 @@ protected:
void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
private:
const int numMetatilesWide;
QImage baseImage;
QPixmap basePixmap;
Tileset *primaryTileset = nullptr;
Tileset *secondaryTileset = nullptr;
uint16_t selectedMetatileId;
int numMetatilesWide;
int numMetatilesHigh;
uint16_t selectedMetatileId = 0;
QPoint prevCellPos = QPoint(-1,-1);
QList<uint16_t> swapMetatileIds;
uint16_t lastHoveredMetatileId = 0;
bool inSwapMode = false;
void updateBasePixmap();
uint16_t getMetatileId(int x, int y);
QPoint getMetatileIdCoords(uint16_t);
bool shouldAcceptEvent(QGraphicsSceneMouseEvent*);
int numRows(int numMetatiles);
int numRows();
uint16_t posToMetatileId(int x, int y, bool *ok = nullptr) const;
uint16_t posToMetatileId(const QPoint &pos, bool *ok = nullptr) const;
QPoint metatileIdToPos(uint16_t metatileId, bool *ok = nullptr) const;
bool isValidMetatileId(uint16_t metatileId) const;
int numRows(int numMetatiles) const;
int numRows() const;
void drawGrid();
void drawDivider();
void drawFilters();
void drawUnused();
void drawCounts();
QImage buildAllMetatilesImage();
QImage buildImage(int metatileIdStart, int numMetatiles);
int numPrimaryMetatilesRounded() const;
signals:
void hoveredMetatileChanged(uint16_t);
void hoveredMetatileCleared();
void selectedMetatileChanged(uint16_t);
void swapRequested(uint16_t, uint16_t);
};
#endif // TILESETEDITORMETATILESELECTOR_H

View File

@ -7,8 +7,8 @@
class TilesetEditorTileSelector: public SelectablePixmapItem {
Q_OBJECT
public:
TilesetEditorTileSelector(Tileset *primaryTileset, Tileset *secondaryTileset, int numLayers)
: SelectablePixmapItem(16, 16, numLayers * 2, 2) {
TilesetEditorTileSelector(Tileset *primaryTileset, Tileset *secondaryTileset)
: SelectablePixmapItem(16, 16, Metatile::tileWidth(), Metatile::tileWidth()) {
this->primaryTileset = primaryTileset;
this->secondaryTileset = secondaryTileset;
this->numTilesWide = 16;
@ -18,15 +18,16 @@ public:
this->paletteChanged = false;
setAcceptHoverEvents(true);
}
QPoint getSelectionDimensions();
void draw();
QSize getSelectionDimensions() const override;
void setMaxSelectionSize(int width, int height) override;
void draw() override;
void select(uint16_t metatileId);
void highlight(uint16_t metatileId);
void setTilesets(Tileset*, Tileset*);
void setPaletteId(int);
void setTileFlips(bool, bool);
QList<Tile> getSelectedTiles();
void setExternalSelection(int, int, QList<Tile>, QList<int>);
void setExternalSelection(int, int, const QList<Tile>&);
QPoint getTileCoordsOnWidget(uint16_t);
QImage buildPrimaryTilesIndexedImage();
QImage buildSecondaryTilesIndexedImage();
@ -36,18 +37,19 @@ public:
bool showDivider = false;
protected:
void mousePressEvent(QGraphicsSceneMouseEvent*);
void mouseMoveEvent(QGraphicsSceneMouseEvent*);
void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
void hoverMoveEvent(QGraphicsSceneHoverEvent*);
void hoverLeaveEvent(QGraphicsSceneHoverEvent*);
void mousePressEvent(QGraphicsSceneMouseEvent*) override;
void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override;
void hoverMoveEvent(QGraphicsSceneHoverEvent*) override;
void hoverLeaveEvent(QGraphicsSceneHoverEvent*) override;
private:
QPixmap basePixmap;
bool externalSelection;
int externalSelectionWidth;
int externalSelectionHeight;
QList<Tile> externalSelectedTiles;
QList<int> externalSelectedPos;
QPoint prevCellPos = QPoint(-1,-1);
Tileset *primaryTileset;
Tileset *secondaryTileset;
@ -61,9 +63,9 @@ private:
uint16_t getTileId(int x, int y);
QPoint getTileCoords(uint16_t);
QList<QRgb> getCurPaletteTable();
QList<Tile> buildSelectedTiles(int, int, QList<Tile>);
QList<Tile> buildSelectedTiles(int, int, const QList<Tile>&);
QImage buildImage(int tileIdStart, int numTiles);
void updateBasePixmap();
void drawUnused();
signals:

View File

@ -21,6 +21,7 @@ public:
uint32_t value() const { return m_value; }
uint32_t minimum() const { return m_minimum; }
uint32_t maximum() const { return m_maximum; }
uint32_t singleStep() const { return m_singleStep; }
QString prefix() const { return m_prefix; }
int displayIntegerBase() const { return m_displayIntegerBase; }
bool hasPadding() const { return m_hasPadding; }
@ -28,6 +29,7 @@ public:
void setMinimum(uint32_t min);
void setMaximum(uint32_t max);
void setRange(uint32_t min, uint32_t max);
void setSingleStep(uint32_t val);
void setPrefix(const QString &prefix);
void setDisplayIntegerBase(int base);
void setHasPadding(bool enabled);
@ -36,6 +38,7 @@ private:
uint32_t m_minimum;
uint32_t m_maximum;
uint32_t m_value;
uint32_t m_singleStep;
QString m_prefix;
int m_displayIntegerBase;
bool m_hasPadding;

View File

@ -0,0 +1,57 @@
#ifndef UNLOCKABLEICON_H
#define UNLOCKABLEICON_H
// Manages an icon loaded from an obfuscated data file containing the icon's image data and a key.
// The icon can only be accessed by inputting the correct key.
#include <QObject>
#include <QIcon>
#include <QString>
#include <QSet>
class UnlockableIcon : public QObject
{
Q_OBJECT
public:
UnlockableIcon(QObject* parent = nullptr);
UnlockableIcon(const QString& dataFilepath, QObject* parent = nullptr);
~UnlockableIcon() {};
// Create the obfuscated data file to load an unlockable icon from.
// Normally unused, this is only needed to update the resource data file.
static bool createDataFile(const QString& inputFilepath, const QString& outputFilepath, const QString& key);
bool load(const QString& dataFilepath);
void clear();
// Try to unlock the icon by matching the next character in the key.
// Progress resets if the character is not a match.
void tryUnlock(const QChar& c);
// Try to unlock the icon by matching the next character in the key.
// Progress resets if none of the characters in the set are a match.
void tryUnlock(const QSet<QChar>& cSet);
// Try to unlock the icon by matching the remaining characters in the key.
// Progress resets if any character in the string is not a match.
void tryUnlock(const QString& key);
bool isUnlocked() const;
QIcon icon() const;
signals:
void unlocked(const QIcon& icon);
private:
QIcon m_icon;
QString m_key;
quint32 m_keyIndex = 0;
bool m_loaded = false;
bool canUnlock() const;
bool tryKeyMatch(const QSet<QChar>& cSet);
};
#endif // UNLOCKABLEICON_H

View File

@ -1,6 +1,8 @@
#ifndef UPDATEPROMOTER_H
#define UPDATEPROMOTER_H
#ifdef QT_NETWORK_LIB
#include "network.h"
#include <QDialog>
@ -47,4 +49,6 @@ signals:
void changedPreferences();
};
#endif // QT_NETWORK_LIB
#endif // UPDATEPROMOTER_H

View File

@ -2,24 +2,11 @@
#define WILDMONSEARCH_H
#include <QDialog>
#include <QTableWidgetItem>
#include <QCollator>
#include "numericsorttableitem.h"
class Project;
class NumericSortTableItem : public QTableWidgetItem
{
public:
explicit NumericSortTableItem(const QString &text) : QTableWidgetItem(text) {};
protected:
virtual bool operator<(const QTableWidgetItem &other) const override {
QCollator collator;
collator.setNumericMode(true);
return collator.compare(text(), other.text()) < 0;
}
};
namespace Ui {
class WildMonSearch;
}

View File

@ -4,13 +4,23 @@
#
#-------------------------------------------------
QT += core gui qml network
QT += core gui
qtHaveModule(charts) {
QT += charts
} else {
warning("Qt module 'charts' not found, disabling chart features.")
}
qtHaveModule(qml) {
QT += qml
} else {
warning("Qt module 'qml' not found, disabling plug-in features.")
}
qtHaveModule(network) {
QT += network
} else {
warning("Qt module 'network' not found, disabling network features.")
}
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@ -30,7 +40,7 @@ win32 {
DEFINES += PORYMAP_LATEST_COMMIT=\\\"$$LATEST_COMMIT\\\"
VERSION = 6.1.0
VERSION = 6.3.0
DEFINES += PORYMAP_VERSION=\\\"$$VERSION\\\"
SOURCES += src/core/advancemapparser.cpp \
@ -66,6 +76,7 @@ SOURCES += src/core/advancemapparser.cpp \
src/scriptapi/apiutility.cpp \
src/scriptapi/scripting.cpp \
src/ui/aboutporymap.cpp \
src/ui/checkeredbgscene.cpp \
src/ui/colorinputwidget.cpp \
src/ui/connectionslistitem.cpp \
src/ui/customattributesdialog.cpp \
@ -115,6 +126,7 @@ SOURCES += src/core/advancemapparser.cpp \
src/ui/montabwidget.cpp \
src/ui/encountertablemodel.cpp \
src/ui/encountertabledelegates.cpp \
src/ui/palettecolorsearch.cpp \
src/ui/paletteeditor.cpp \
src/ui/selectablepixmapitem.cpp \
src/ui/tileseteditor.cpp \
@ -124,6 +136,7 @@ SOURCES += src/core/advancemapparser.cpp \
src/ui/regionmapeditor.cpp \
src/ui/newmapdialog.cpp \
src/ui/mapimageexporter.cpp \
src/ui/metatileimageexporter.cpp \
src/ui/newtilesetdialog.cpp \
src/ui/flowlayout.cpp \
src/ui/mapruler.cpp \
@ -135,6 +148,7 @@ SOURCES += src/core/advancemapparser.cpp \
src/ui/regionmappropertiesdialog.cpp \
src/ui/colorpicker.cpp \
src/ui/loadingscreen.cpp \
src/ui/unlockableicon.cpp \
src/config.cpp \
src/editor.cpp \
src/main.cpp \
@ -180,6 +194,7 @@ HEADERS += include/core/advancemapparser.h \
include/lib/orderedmap.h \
include/lib/orderedjson.h \
include/ui/aboutporymap.h \
include/ui/checkeredbgscene.h \
include/ui/connectionslistitem.h \
include/ui/customattributesdialog.h \
include/ui/customattributestable.h \
@ -231,6 +246,7 @@ HEADERS += include/core/advancemapparser.h \
include/ui/encountertablemodel.h \
include/ui/encountertabledelegates.h \
include/ui/adjustingstackedwidget.h \
include/ui/palettecolorsearch.h \
include/ui/paletteeditor.h \
include/ui/selectablepixmapitem.h \
include/ui/tileseteditor.h \
@ -240,6 +256,7 @@ HEADERS += include/core/advancemapparser.h \
include/ui/regionmapeditor.h \
include/ui/newmapdialog.h \
include/ui/mapimageexporter.h \
include/ui/metatileimageexporter.h \
include/ui/newtilesetdialog.h \
include/ui/overlay.h \
include/ui/flowlayout.h \
@ -252,6 +269,7 @@ HEADERS += include/core/advancemapparser.h \
include/ui/regionmappropertiesdialog.h \
include/ui/colorpicker.h \
include/ui/loadingscreen.h \
include/ui/unlockableicon.h \
include/config.h \
include/editor.h \
include/mainwindow.h \
@ -283,12 +301,14 @@ FORMS += forms/mainwindow.ui \
forms/prefabcreationdialog.ui \
forms/prefabframe.ui \
forms/tileseteditor.ui \
forms/palettecolorsearch.ui \
forms/paletteeditor.ui \
forms/regionmapeditor.ui \
forms/newmapdialog.ui \
forms/aboutporymap.ui \
forms/newtilesetdialog.ui \
forms/mapimageexporter.ui \
forms/metatileimageexporter.ui \
forms/shortcutseditor.ui \
forms/preferenceeditor.ui \
forms/regionmappropertiesdialog.ui \

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -44,6 +44,7 @@
<file>icons/refresh.ico</file>
<file>icons/shift_cursor.ico</file>
<file>icons/shift.ico</file>
<file>icons/swap_cursor.ico</file>
<file>icons/tall_grass.ico</file>
<file>icons/warning.ico</file>
<file>icons/minimap.ico</file>
@ -101,6 +102,7 @@
<file>images/Entities_16x16.png</file>
<file>images/pokemon_icon_placeholder.png</file>
<file>images/porysplash.gif</file>
<file>images/unlockable_tab_icon.dat</file>
<file>icons/clipboard.ico</file>
<file>icons/map_go.ico</file>
</qresource>

View File

@ -0,0 +1 @@
檴蒚<EFBFBD><EFBFBD>𧒆葨輯\憳<><E686B3><EFBFBD><EFBFBD><E88989>悅悅□<E68285><EFBFBD><EFBFBD>悅悅菗恥悅悔鷉<E68294>氹悅<E6B0B9><E68285>姥猺尬管齒言<E9BD92><E8A880><EFBFBD>鷼均播艀悅<E88980><E68285>答祤╮息䰾媞<E4B0BE><E5AA9E><EFBFBD><EFBFBD><EFBFBD>芳搡鼎<E690A1><E9BC8E><EFBFBD><EFBFBD>嗾尺<E597BE><EFBFBD><E999BD><EFBFBD><EFBFBD>妙毽<E5A699><E6AFBD><EFBFBD>漣拓<E6BCA3>完𡾞<E5AE8C>悍𡟺<E6828D><F0A19FBA><EFBFBD><EFBFBD>㓤蹨<E393A4><E8B9A8><EFBFBD><E392A5>恕弩<E68195>𥥖知箕僈縧袢<E7B8A7><E8A2A2>𣶸<EFBFBD>㻛葍滬豪☆<E8B1AA><E29886><EFBFBD>𠱃<EFBFBD>𠶜<EFBFBD><F0A0B69C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B5A2><EFBFBD><E28F9B>ㄚ𣺹<E3849A><F0A3BAB9>湗栀<E6B997><E6A080>谷弩撕艦㓈袿麾<E8A2BF><E9BABE><EFBFBD>乖𠼱<E4B996>ˋ<CB8B><EFBFBD><E793BB><EFBFBD>𣽊尬<F0A3BD8A><E5B0AC><EFBFBD>撒秄往<E7A784><E5BE80>憤䬬<E686A4>襔蜈𣳿蛾<F0A3B3BF>嬰楹边<E6A5B9><EFBFBD><EFBFBD>的𠗕扛平首蛹隄䗩暀剏<E69A80><E5898F>𤤯撼<F0A4A4AF><E692BC>𡠺<EFBFBD>朱𧒆翔<F0A79286>枤硍螃<E7A18D><E89E83><EFBFBD>𧞅䠋<F0A79E85><E8BB8A><EFBCAB><EFBFBD>齒堮␞<E5A0AE><EFBFBD><EFBC9D><EFBFBD><E693B0><EFBFBD><E2978E><EFBFBD><EFBFBD><EFBFBD>蔆詭鵞<E8A9AD><E9B59E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>恩▼<E681A9><EFBFBD><E8A2BF><EFBFBD><EFBFBD>燵𨑳鸌◢晻蚸<E699BB><E89AB8>蒈煖<E89288><E78596><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A2B3><EFBFBD>嵁飵㓁<E9A3B5><EFBFBD><E7A5A3>罒縐寎鍈<E5AF8E>案左悅悅撩<E68285>瑤冀悄<E58680><EFBFBD><E58490><EFBFBD><E897BB><EFBFBD><EFBFBD>悅息佩<E681AF>蒏悅悌𥋘<E6828C><F0A58B98><EFBFBD><E9998B>悅悅炤郎虞悅梴悅<E6A2B4><E68285>芝食<E88A9D>悅悅媡抅葷蝦須<E89DA6><EFBFBD><E78880><EFBFBD>絳冥啹<E586A5>成夤纒雅悌<E99B85>梄限<E6A284><E99990><EFBFBD><E592AF><EFBFBD>𤩐妙䊢<E5A699><E48AA2><EFBFBD><EFBFBD><E89B83><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E793B0>鳩冥泿<E586A5>ˊ<EFBFBD><CB8A><EFBFBD>馱皒鼎<E79A92><E9BC8E><EFBFBD><EFBFBD><EFBFBD><E5BC9B>詅蛂<E8A985><E89B82><EFBFBD><EFBFBD><EFBFBD>瓡椚<E793A1>蠔譫<E8A094>抅㦛<E68A85><E3A69B><EFBFBD><E58386><EFBFBD><E7A7BA><EFBFBD>廿馭<E5BBBF><EFBFBD><EFBFBD><EFBFBD><E69380>猷黇<E78CB7><E9BB87>𨯙<F0A8AF99><EFBCAB>𥶹<EFBFBD><F0A5B6B9><EFBFBD><E8B49C><EFBFBD><EFBFBD><EFBFBD><E99990><EFBFBD>嵗爰鱝疙鮗<E79699><EFBFBD><EFBFBD>祪珀炒擘𠘑≦<F0A09891><E289A6>凝悅<E5879D>䌫蓿𥋘𥣞賓<F0A5A39E><EFBFBD><EFBFBD><E9A3A7><EFBFBD>𢆡<EFBFBD>悅狙凳膘˙<E88698>葵煍<E891B5><E7858D><EFBFBD><EFBFBD>絳窙㭘悅憐<E68285><EFBFBD><E5A1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𩜠郎萰<E9838E>疚𦹄<E7969A>欿<EFBFBD>ǜ<EFBFBD>𤀑<EFBFBD>芳㜃権<E39C83><E6A8A9>𨑳◎楈〢<E6A588><E380A2><EFBFBD><E692AE><EFBFBD><EFBFBD>癎階靰<E99A8E><E99DB0><EFBFBD><EFBFBD><EFBFBD>貍勌舝<E58B8C><E8889D><EFBFBD>ㄗ猼煨棫祣痈<E7A5A3><E79788>𪇵<EFBFBD><F0AA87B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7998D>豑𡠺<E8B191><F0A1A0BA><EFBFBD><EFBFBD><EFBFBD><E5838A><EFBFBD><E690A3><EFBFBD><EFBFBD><E9819C><EFBFBD>𩷶╲<F0A9B7B6><E295B2>萓濯<E89093><E6BFAF>𧚔鿋盲末<E79BB2><E69CAB><EFBFBD>𣫺甅菁<E79485>管㗾腦稄<E885A6><E7A884><EFBFBD><EFBFBD><EFBFBD>䦉緒𧦠<E7B792><EFBFBD><EFBFBD>舚䊢汙榀<E6B199><E6A680>𠯫<EFBFBD><F0A0AFAB>帕縉<E5B895><EFBFBD><E999A9><EFBFBD><EFBFBD><E5B08C><EFBFBD><EFBFBD>楰𨯙睎<F0A8AF99><E79D8E>稱腄𤣩〞<F0A4A3A9><E3809E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>僩樑<E583A9><E6A891><EFBFBD><E6A59E><EFBFBD><EFBFBD><EFBFBD><E8928F><EFBFBD>㵯⏚拐搘尤<E69098><EFBFBD><E5A4A5><EFBFBD><E6AB8A><EFBFBD>抿棌<E68ABF>戍概<E6888D>楃𦜖<E6A583>殤葦<E6AEA4><E891A6><EFBFBD><EFBFBD>𤜯矬㨃<E79FAC>倍鰟<E5808D><E9B09F>筑挪■ㄒ<E296A0><EFBFBD><E7A883><EFBFBD>歒瑌<E6AD92>爾石<E788BE><E79FB3><EFBFBD><EFBFBD><EFBFBD>朴石<E69CB4>防防<E998B2><E998B2><EFBFBD><E4BA95><EFBFBD>龟穴<E9BE9F><EFBFBD><E8A290><EFBFBD><EFBFBD><EFBFBD><E8A998><EFBFBD><E3BF97>㚰鸘市<E9B898>左硉<E5B7A6><E7A189><EFBFBD><EFBFBD><EFBFBD><E4B996>飩黾<E9A3A9><E9BBBE><EFBFBD><E8AAB9><EFBFBD><EFBFBD>齒櫊<E9BD92><E6AB8A><EFBFBD>僮邑鮗<E98291><EFBFBD>𨀉坐<F0A88089>∞䳍瑐蒄<E79190>舅欿陽溶劃誠<E58A83><E8AAA0><EFBFBD>葭𧇍<E891AD><EFBFBD><E4A486><EFBFBD><E38497><EFBFBD><EFBFBD><EFBFBD>ˋ𧋦<CB8B>𤀑<EFBFBD><F0A48091>石瑑<E79191>羲䣳∞蛩<E2889E>𠶖<EFBFBD>策椽<E7AD96><E6A4BD><EFBFBD><EFBFBD>𤨓<EFBFBD><F0A4A893><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㑳萫𢜟葄成<E89184><E68890><EFBFBD><E785A5><EFBFBD>劂疝ㄜ𧊅<E3849C><F0A78A85><EFBFBD>葵櫊丑𧊋<E4B891><F0A78A8B>尾萷嵋𠳿<E5B58B><F0A0B3BF>嚏涤<E59A8F><E6B6A4><EFBCAD>楤技<E6A5A4><E68A80><EFBFBD><EFBFBD><E8949A><EFBFBD>障阸食<E998B8><E9A39F><EFBFBD><EFBFBD><E79CB2>㜜祣<E39C9C><EFBFBD>央憚㨪靼<E3A8AA><EFBFBD><E39AB9>憐睅<E68690><E79D85>躀俤<E8BA80><E4BFA4>礶𤄙<E7A4B6><F0A48499><EFBFBD>ㄨ鸘<E384A8><EFBFBD>𤜯╯<F0A49CAF>蘑婺<E89891>夾剳<E5A4BE>楺𠹭皿<F0A0B9AD><E79ABF>漫擘<E6BCAB><E69398>鱓鮟<E9B193>葾𧡘<E891BE><EFBFBD><E8BB9E>妨蛪媦龬矢酉𢞁<E98589>尼汝絍<E6B19D><EFBFBD><E8869A>罹蛚𣱣𦋐苸𧗾脃撬蚼<E692AC><E89ABC>丹𤪓聛玏悅<E78E8F>撩蔬鼓<E894AC><E9BC93><EFBFBD><E99A8E>洵䐭氈儷捏䲰僊犒𤽜<E78A92><EFBFBD>◥裗<E297A5><E8A397><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𦋐傈炙咿限菁囿猻”儐楊慰葖焩<E89196><E784A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撫縐<E692AB><E7B890><EFBFBD><EFBFBD>煆恩<E78586><EFBFBD>㭘巨𤨪<E5B7A8><EFBFBD><E690A6><EFBFBD><EFBFBD><E7A4B6><EFBFBD><E7928D>汝袧桓𦴣<F0A6B4A3><EFBCAC>穴㷛␟僴<E2909F><E583B4><EFBFBD>𥅾<EFBFBD>搷戒<E690B7><EFBFBD><E6A387>𪃳<EFBFBD><F0AA83B3><EFBFBD>𦾾<EFBFBD>弩䰻<E5BCA9>帑軜遙<E8BB9C><E98199><EFBFBD><E88F8C>漱縈<E6BCB1>搇暀蝙<E69A80><E89D99><EFBFBD><EFBFBD><E8A1AE><EFBFBD><EFBFBD>岡銾墚蕊<E5A29A><E8958A><EFBFBD><EFBFBD><EFBFBD>悟愇籰黆<E7B1B0><EFBFBD><E5B78D><EFBFBD><EFBFBD><EFBFBD><E695AF><EFBFBD><EFBFBD><EFBFBD><E8A980><EFBFBD><EFBFBD>雁秣斒蚺<E69692><E89ABA>瑀誧岷<E8AAA7><E5B2B7><EFBFBD><EFBFBD>皏塈<E79A8F><EFBFBD><E5B896>𥐙𤽜袧<F0A4BD9C><E8A2A7>煍濤<E7858D><EFBFBD>泿<EFBFBD>蕃㽼<E89583><E3BDBC><EFBFBD><EFBFBD><EFBFBD>𣇪心笣眉<E7ACA3><E79C89><EFBFBD><EFBFBD><EFBFBD>遞飵<E9819E><E9A3B5><EFBFBD>遘壕<E98198><EFBFBD>𡆀狎<F0A18680><E78B8E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>葾𤌍悅<F0A48C8D><E68285><EFBFBD>嫦𧊋<E5ABA6><EFBFBD><E8A2BF><EFBFBD><EFBFBD>𥺁蛻<F0A5BA81><EFBFBD>岷噢<E5B2B7><E599A2>婹坾<E5A9B9><E59DBE><EFBFBD>𡠠<EFBFBD><EFBFBD><E9878D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E583B1><EFBFBD><EFBFBD><E895A8><EFBFBD><EFBFBD><EFBFBD><E5BD8D>㗲崵𠼱<E5B4B5>擦袛冀𤊄𪷿叚嶽悅悅<E68285>彿<EFBFBD>𠗕<EFBFBD><F0A09795>

View File

@ -4,6 +4,7 @@
#include "map.h"
#include "validator.h"
#include "utility.h"
#include "metatile.h"
#include <QDir>
#include <QFile>
#include <QFormLayout>
@ -283,7 +284,7 @@ int KeyValueConfigBase::getConfigInteger(const QString &key, const QString &valu
logWarn(QString("Invalid config value for %1: '%2'. Must be an integer. Using default value '%3'.").arg(key).arg(value).arg(defaultValue));
result = defaultValue;
}
return qMin(max, qMax(min, result));
return qBound(min, result, max);
}
uint32_t KeyValueConfigBase::getConfigUint32(const QString &key, const QString &value, uint32_t min, uint32_t max, uint32_t defaultValue) {
@ -293,10 +294,13 @@ uint32_t KeyValueConfigBase::getConfigUint32(const QString &key, const QString &
logWarn(QString("Invalid config value for %1: '%2'. Must be an integer. Using default value '%3'.").arg(key).arg(value).arg(defaultValue));
result = defaultValue;
}
return qMin(max, qMax(min, result));
return qBound(min, result, max);
}
QColor KeyValueConfigBase::getConfigColor(const QString &key, const QString &value, const QColor &defaultValue) {
if (value.isEmpty())
return QColor();
QColor color = QColor("#" + value);
if (!color.isValid()) {
logWarn(QString("Invalid config value for %1: '%2'. Must be a color in the format 'RRGGBB'. Using default value '%3'.").arg(key).arg(value).arg(defaultValue.name()));
@ -305,12 +309,85 @@ QColor KeyValueConfigBase::getConfigColor(const QString &key, const QString &val
return color;
}
QString KeyValueConfigBase::toConfigColor(const QColor &color) {
return color.isValid() ? color.name().remove("#") : QString(); // Our text config treats '#' as the start of a comment.
}
PorymapConfig porymapConfig;
PorymapConfig::PorymapConfig() : KeyValueConfigBase(QStringLiteral("porymap.cfg")) {
reset();
}
void PorymapConfig::reset() {
setRoot(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
this->recentProjects.clear();
this->projectManuallyClosed = false;
this->reopenOnLaunch = true;
this->mapListTab = 0;
this->mapListEditGroupsEnabled = false;
this->mapListHideEmptyEnabled.clear();
this->mapListLayoutsSorted = true;
this->mapListLocationsSorted = true;
this->prettyCursors = true;
this->mirrorConnectingMaps = true;
this->showDiveEmergeMaps = false;
this->diveEmergeMapOpacity = 30;
this->diveMapOpacity = 15;
this->emergeMapOpacity = 15;
this->collisionOpacity = 50;
this->collisionZoom = 30;
this->metatilesZoom = 30;
this->tilesetEditorMetatilesZoom = 30;
this->tilesetEditorTilesZoom = 30;
this->tilesetEditorLayerOrientation = Qt::Vertical;
this->showPlayerView = false;
this->showCursorTile = true;
this->showBorder = true;
this->showGrid = false;
this->showTilesetEditorMetatileGrid = false;
this->showTilesetEditorLayerGrid = true;
this->showTilesetEditorDivider = false;
this->showTilesetEditorRawAttributes = false;
this->showPaletteEditorUnusedColors = false;
this->monitorFiles = true;
this->tilesetCheckerboardFill = true;
this->newMapHeaderSectionExpanded = false;
this->theme = "default";
this->wildMonChartTheme = "";
this->textEditorOpenFolder = "";
this->textEditorGotoLine = "";
this->paletteEditorBitDepth = 24;
this->projectSettingsTab = 0;
this->scriptAutocompleteMode = ScriptAutocompleteMode::MapOnly;
this->warpBehaviorWarningDisabled = false;
this->eventDeleteWarningDisabled = false;
this->eventOverlayEnabled = false;
this->checkForUpdates = true;
this->showProjectLoadingScreen = true;
this->lastUpdateCheckTime = QDateTime();
this->lastUpdateCheckVersion = porymapVersion;
this->rateLimitTimes.clear();
this->eventSelectionShapeMode = QGraphicsPixmapItem::MaskShape;
this->shownInGameReloadMessage = false;
this->gridSettings = GridSettings();
this->gridSettings.width = Metatile::pixelWidth();
this->gridSettings.height = Metatile::pixelHeight();
this->statusBarLogTypes = { LogType::LOG_ERROR, LogType::LOG_WARN };
this->applicationFont = QFont();
this->mapListFont = PorymapConfig::defaultMapListFont();
#ifdef Q_OS_MACOS
// Since the release of the Retina display, Apple products use the Display P3 color space by default.
// If we don't use this for exported images (which by default will either have no color space or the sRGB
// color space) then they may appear to have different colors than the same image displayed in Porymap.
this->imageExportColorSpaceId = static_cast<int>(QColorSpace::DisplayP3);
#else
// As of writing Qt has no way to get a reasonable color space from the user's environment,
// so we export images without one and let them handle it.
this->imageExportColorSpaceId = 0;
#endif
}
void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
if (key == "recent_project") {
this->recentProjects = value.split(",", Qt::SkipEmptyParts);
@ -333,6 +410,10 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
return;
}
this->mapListHideEmptyEnabled.insert(tab, getConfigBool(key, value));
} else if (key == "map_list_layouts_sorted") {
this->mapListLayoutsSorted = getConfigBool(key, value);
} else if (key == "map_list_locations_sorted") {
this->mapListLocationsSorted = getConfigBool(key, value);
} else if (key == "main_window_geometry") {
this->mainWindowGeometry = bytesFromString(value);
} else if (key == "main_window_state") {
@ -391,6 +472,9 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
this->tilesetEditorMetatilesZoom = getConfigInteger(key, value, 10, 100, 30);
} else if (key == "tileset_editor_tiles_zoom") {
this->tilesetEditorTilesZoom = getConfigInteger(key, value, 10, 100, 30);
} else if (key == "tileset_editor_layer_orientation") {
// Being explicit here to avoid casting out-of-range values.
this->tilesetEditorLayerOrientation = (getConfigInteger(key, value) == static_cast<int>(Qt::Horizontal)) ? Qt::Horizontal : Qt::Vertical;
} else if (key == "show_player_view") {
this->showPlayerView = getConfigBool(key, value);
} else if (key == "show_cursor_tile") {
@ -407,6 +491,8 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
this->showTilesetEditorDivider = getConfigBool(key, value);
} else if (key == "show_tileset_editor_raw_attributes") {
this->showTilesetEditorRawAttributes = getConfigBool(key, value);
} else if (key == "show_palette_editor_unused_colors") {
this->showPaletteEditorUnusedColors = getConfigBool(key, value);
} else if (key == "monitor_files") {
this->monitorFiles = getConfigBool(key, value);
} else if (key == "tileset_checkerboard_fill") {
@ -428,8 +514,13 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
}
} else if (key == "project_settings_tab") {
this->projectSettingsTab = getConfigInteger(key, value, 0);
#ifdef CONFIG_BACKWARDS_COMPATABILITY
// Old setting replaced by script_autocomplete_mode
} else if (key == "load_all_event_scripts") {
this->loadAllEventScripts = getConfigBool(key, value);
this->scriptAutocompleteMode = getConfigBool(key, value) ? ScriptAutocompleteMode::All : ScriptAutocompleteMode::MapOnly;
#endif
} else if (key == "script_autocomplete_mode") {
this->scriptAutocompleteMode = static_cast<ScriptAutocompleteMode>(getConfigInteger(key, value, ScriptAutocompleteMode::MapOnly, ScriptAutocompleteMode::All));
} else if (key == "warp_behavior_warning_disabled") {
this->warpBehaviorWarningDisabled = getConfigBool(key, value);
} else if (key == "event_delete_warning_disabled") {
@ -438,6 +529,8 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
this->eventOverlayEnabled = getConfigBool(key, value);
} else if (key == "check_for_updates") {
this->checkForUpdates = getConfigBool(key, value);
} else if (key == "show_project_loading_screen") {
this->showProjectLoadingScreen = getConfigBool(key, value);
} else if (key == "last_update_check_time") {
this->lastUpdateCheckTime = QDateTime::fromString(value).toLocalTime();
} else if (key == "last_update_check_version") {
@ -489,6 +582,8 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
} else if (key == "map_list_font") {
this->mapListFont = QFont();
this->mapListFont.fromString(value);
} else if (key == "image_export_color_space_id") {
this->imageExportColorSpaceId = getConfigInteger(key, value, 0, 8);
} else {
logWarn(QString("Invalid config key found in config file %1: '%2'").arg(this->filepath()).arg(key));
}
@ -505,6 +600,8 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
for (auto i = this->mapListHideEmptyEnabled.constBegin(); i != this->mapListHideEmptyEnabled.constEnd(); i++) {
map.insert(QStringLiteral("map_list_hide_empty_enabled/") + QString::number(i.key()), i.value() ? "1" : "0");
}
map.insert("map_list_layouts_sorted", this->mapListLayoutsSorted ? "1" : "0");
map.insert("map_list_locations_sorted", this->mapListLocationsSorted ? "1" : "0");
map.insert("main_window_geometry", stringFromByteArray(this->mainWindowGeometry));
map.insert("main_window_state", stringFromByteArray(this->mainWindowState));
map.insert("map_splitter_state", stringFromByteArray(this->mapSplitterState));
@ -534,6 +631,7 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("metatiles_zoom", QString::number(this->metatilesZoom));
map.insert("tileset_editor_metatiles_zoom", QString::number(this->tilesetEditorMetatilesZoom));
map.insert("tileset_editor_tiles_zoom", QString::number(this->tilesetEditorTilesZoom));
map.insert("tileset_editor_layer_orientation", QString::number(this->tilesetEditorLayerOrientation));
map.insert("show_player_view", this->showPlayerView ? "1" : "0");
map.insert("show_cursor_tile", this->showCursorTile ? "1" : "0");
map.insert("show_border", this->showBorder ? "1" : "0");
@ -542,6 +640,7 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("show_tileset_editor_layer_grid", this->showTilesetEditorLayerGrid ? "1" : "0");
map.insert("show_tileset_editor_divider", this->showTilesetEditorDivider ? "1" : "0");
map.insert("show_tileset_editor_raw_attributes", this->showTilesetEditorRawAttributes ? "1" : "0");
map.insert("show_palette_editor_unused_colors", this->showPaletteEditorUnusedColors ? "1" : "0");
map.insert("monitor_files", this->monitorFiles ? "1" : "0");
map.insert("tileset_checkerboard_fill", this->tilesetCheckerboardFill ? "1" : "0");
map.insert("new_map_header_section_expanded", this->newMapHeaderSectionExpanded ? "1" : "0");
@ -551,11 +650,12 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("text_editor_goto_line", this->textEditorGotoLine);
map.insert("palette_editor_bit_depth", QString::number(this->paletteEditorBitDepth));
map.insert("project_settings_tab", QString::number(this->projectSettingsTab));
map.insert("load_all_event_scripts", QString::number(this->loadAllEventScripts));
map.insert("script_autocomplete_mode", QString::number(this->scriptAutocompleteMode));
map.insert("warp_behavior_warning_disabled", QString::number(this->warpBehaviorWarningDisabled));
map.insert("event_delete_warning_disabled", QString::number(this->eventDeleteWarningDisabled));
map.insert("event_overlay_enabled", QString::number(this->eventOverlayEnabled));
map.insert("check_for_updates", QString::number(this->checkForUpdates));
map.insert("show_project_loading_screen", QString::number(this->showProjectLoadingScreen));
map.insert("last_update_check_time", this->lastUpdateCheckTime.toUTC().toString());
map.insert("last_update_check_version", this->lastUpdateCheckVersion.toString());
for (auto i = this->rateLimitTimes.cbegin(), end = this->rateLimitTimes.cend(); i != end; i++){
@ -571,7 +671,7 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("grid_x", QString::number(this->gridSettings.offsetX));
map.insert("grid_y", QString::number(this->gridSettings.offsetY));
map.insert("grid_style", GridSettings::getStyleName(this->gridSettings.style));
map.insert("grid_color", this->gridSettings.color.name().remove("#")); // Our text config treats '#' as the start of a comment.
map.insert("grid_color", toConfigColor(this->gridSettings.color));
QStringList logTypesStrings;
for (const auto &type : this->statusBarLogTypes) {
@ -580,6 +680,7 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("status_bar_log_types", logTypesStrings.join(","));
map.insert("application_font", this->applicationFont.toString());
map.insert("map_list_font", this->mapListFont.toString());
map.insert("image_export_color_space_id", QString::number(this->imageExportColorSpaceId));
return map;
}
@ -898,8 +999,13 @@ void ProjectConfig::parseConfigKeyValue(QString key, QString value) {
this->tilesetsHaveCallback = getConfigBool(key, value);
} else if (key == "tilesets_have_is_compressed") {
this->tilesetsHaveIsCompressed = getConfigBool(key, value);
#ifdef CONFIG_BACKWARDS_COMPATABILITY
// Old setting replaced by transparency_color
} else if (key == "set_transparent_pixels_black") {
this->setTransparentPixelsBlack = getConfigBool(key, value);
this->transparencyColor = getConfigBool(key, value) ? QColor(Qt::black) : QColor();
#endif
} else if (key == "transparency_color") {
this->transparencyColor = getConfigColor(key, value);
} else if (key == "preserve_matching_only_data") {
this->preserveMatchingOnlyData = getConfigBool(key, value);
} else if (key == "event_icon_path_object") {
@ -940,6 +1046,8 @@ void ProjectConfig::parseConfigKeyValue(QString key, QString value) {
this->maxEventsPerGroup = getConfigInteger(key, value, 1, INT_MAX, 255);
} else if (key == "forced_major_version") {
this->forcedMajorVersion = getConfigInteger(key, value);
} else if (key == "metatile_selector_width") {
this->metatileSelectorWidth = getConfigInteger(key, value, 1, INT_MAX, 8);
} else {
logWarn(QString("Invalid config key found in config file %1: '%2'").arg(this->filepath()).arg(key));
}
@ -1005,7 +1113,7 @@ QMap<QString, QString> ProjectConfig::getKeyValueMap() {
}
map.insert("tilesets_have_callback", QString::number(this->tilesetsHaveCallback));
map.insert("tilesets_have_is_compressed", QString::number(this->tilesetsHaveIsCompressed));
map.insert("set_transparent_pixels_black", QString::number(this->setTransparentPixelsBlack));
map.insert("transparency_color", toConfigColor(this->transparencyColor));
map.insert("preserve_matching_only_data", QString::number(this->preserveMatchingOnlyData));
map.insert("metatile_attributes_size", QString::number(this->metatileAttributesSize));
map.insert("metatile_behavior_mask", Util::toHexString(this->metatileBehaviorMask));
@ -1049,6 +1157,7 @@ QMap<QString, QString> ProjectConfig::getKeyValueMap() {
map.insert("warp_behaviors", warpBehaviorStrs.join(","));
map.insert("max_events_per_group", QString::number(this->maxEventsPerGroup));
map.insert("forced_major_version", QString::number(this->forcedMajorVersion));
map.insert("metatile_selector_width", QString::number(this->metatileSelectorWidth));
return map;
}
@ -1182,7 +1291,7 @@ int ProjectConfig::getNumLayersInMetatile() {
}
int ProjectConfig::getNumTilesInMetatile() {
return this->tripleLayerMetatilesEnabled ? 12 : 8;
return getNumLayersInMetatile() * Metatile::tilesPerLayer();
}
void ProjectConfig::setEventIconPath(Event::Group group, const QString &path) {

View File

@ -73,15 +73,21 @@ Layout *AdvanceMapParser::parseLayout(const QString &filepath, bool *error, cons
const QList<QString> tilesets = project->tilesetLabelsOrdered;
if (mapPrimaryTilesetNum > tilesets.size())
mapLayout->tileset_primary_label = project->getDefaultPrimaryTilesetLabel();
else
mapLayout->tileset_primary_label = tilesets.at(mapPrimaryTilesetNum);
const QString defaultPrimaryTileset = project->getDefaultPrimaryTilesetLabel();
QString primaryTilesetLabel = tilesets.value(mapPrimaryTilesetNum, defaultPrimaryTileset);
if (!project->primaryTilesetLabels.contains(primaryTilesetLabel)) {
// AdvanceMap's primary tileset value points to a secondary tileset. Ignore it.
primaryTilesetLabel = defaultPrimaryTileset;
}
const QString defaultSecondaryTileset = project->getDefaultSecondaryTilesetLabel();
QString secondaryTilesetLabel = tilesets.value(mapSecondaryTilesetNum, defaultSecondaryTileset);
if (!project->secondaryTilesetLabels.contains(secondaryTilesetLabel)) {
// AdvanceMap's secondary tileset value points to a primary tileset. Ignore it.
secondaryTilesetLabel = defaultSecondaryTileset;
}
if (mapSecondaryTilesetNum > tilesets.size())
mapLayout->tileset_secondary_label = project->getDefaultSecondaryTilesetLabel();
else
mapLayout->tileset_secondary_label = tilesets.at(mapSecondaryTilesetNum);
mapLayout->tileset_primary_label = primaryTilesetLabel;
mapLayout->tileset_secondary_label = secondaryTilesetLabel;
mapLayout->blockdata = blockdata;
@ -131,7 +137,7 @@ QList<Metatile*> AdvanceMapParser::parseMetatiles(const QString &filepath, bool
}
int attrSize = Metatile::getDefaultAttributesSize(version);
int maxMetatiles = primaryTileset ? Project::getNumMetatilesPrimary() : Project::getNumMetatilesTotal() - Project::getNumMetatilesPrimary();
int maxMetatiles = primaryTileset ? Project::getNumMetatilesPrimary() : Project::getNumMetatilesSecondary();
int numMetatiles = static_cast<unsigned char>(in.at(0)) |
(static_cast<unsigned char>(in.at(1)) << 8) |
(static_cast<unsigned char>(in.at(2)) << 16) |

View File

@ -3,6 +3,7 @@
#include "eventframes.h"
#include "project.h"
#include "config.h"
#include "metatile.h"
Event* Event::create(Event::Type type) {
switch (type) {
@ -23,6 +24,14 @@ Event::~Event() {
delete this->eventFrame;
}
int Event::getPixelX() const {
return (this->x * Metatile::pixelWidth()) - qMax(0, (this->pixmap.width() - Metatile::pixelWidth()) / 2);
}
int Event::getPixelY() const {
return (this->y * Metatile::pixelHeight()) - qMax(0, this->pixmap.height() - Metatile::pixelHeight());
}
EventFrame *Event::getEventFrame() {
if (!this->eventFrame) createEventFrame();
return this->eventFrame;
@ -54,6 +63,16 @@ void Event::modify() {
this->map->modify();
}
QString Event::groupToJsonKey(Event::Group group) {
static const QMap<Event::Group, QString> map = {
{Event::Group::Object, "object_events"},
{Event::Group::Warp, "warp_events"},
{Event::Group::Coord, "coord_events"},
{Event::Group::Bg, "bg_events"},
};
return map.value(group);
}
const QMap<Event::Group, QString> groupToStringMap = {
{Event::Group::Object, "Object"},
{Event::Group::Warp, "Warp"},

View File

@ -4,20 +4,19 @@
#include "scripting.h"
#include "utility.h"
#include "editcommands.h"
#include "project.h"
#include <QTime>
#include <QPainter>
#include <QImage>
#include <QRegularExpression>
bool Map::m_fileWatchingEnabled = true;
Map::Map(QObject *parent) : QObject(parent)
{
m_editHistory = new QUndoStack(this);
m_scriptFileWatcher = new QFileSystemWatcher(this);
connect(m_scriptFileWatcher, &QFileSystemWatcher::fileChanged, this, &Map::invalidateScripts);
resetEvents();
m_header = new MapHeader(this);
@ -33,8 +32,6 @@ Map::Map(const Map &other, QObject *parent) : Map(parent) {
*m_header = *other.m_header;
m_layout = other.m_layout;
m_isPersistedToFile = false;
m_metatileLayerOrder = other.m_metatileLayerOrder;
m_metatileLayerOpacity = other.m_metatileLayerOpacity;
// Copy events
for (auto i = other.m_events.constBegin(); i != other.m_events.constEnd(); i++) {
@ -67,44 +64,28 @@ QString Map::mapConstantFromName(const QString &name) {
return projectConfig.getIdentifier(ProjectIdentifier::define_map_prefix) + Util::toDefineCase(name);
}
int Map::getWidth() const {
return m_layout ? m_layout->getWidth() : 0;
}
int Map::getHeight() const {
return m_layout ? m_layout->getHeight() : 0;
}
int Map::getBorderWidth() const {
return m_layout ? m_layout->getBorderWidth() : 0;
}
int Map::getBorderHeight() const {
return m_layout ? m_layout->getBorderHeight() : 0;
}
// Get the portion of the map that can be rendered when rendered as a map connection.
// Cardinal connections render the nearest segment of their map and within the bounds of the border draw distance,
// Dive/Emerge connections are rendered normally within the bounds of their parent map.
QRect Map::getConnectionRect(const QString &direction, Layout * fromLayout) const {
int x = 0, y = 0;
int w = getWidth(), h = getHeight();
int w = pixelWidth(), h = pixelHeight();
QMargins viewDistance = Project::getMetatileViewDistance();
QMargins viewDistance = Project::getPixelViewDistance();
if (direction == "up") {
h = qMin(h, viewDistance.top());
y = getHeight() - h;
y = pixelHeight() - h;
} else if (direction == "down") {
h = qMin(h, viewDistance.bottom());
} else if (direction == "left") {
w = qMin(w, viewDistance.left());
x = getWidth() - w;
x = pixelWidth() - w;
} else if (direction == "right") {
w = qMin(w, viewDistance.right());
} else if (MapConnection::isDiving(direction)) {
if (fromLayout) {
w = qMin(w, fromLayout->getWidth());
h = qMin(h, fromLayout->getHeight());
w = qMin(w, fromLayout->pixelWidth());
h = qMin(h, fromLayout->pixelHeight());
}
} else {
// Unknown direction
@ -127,7 +108,7 @@ QPixmap Map::renderConnection(const QString &direction, Layout * fromLayout) {
fromLayout = nullptr;
QPixmap connectionPixmap = m_layout->render(true, fromLayout, bounds);
return connectionPixmap.copy(bounds.x() * 16, bounds.y() * 16, bounds.width() * 16, bounds.height() * 16);
return connectionPixmap.copy(bounds);
}
void Map::openScript(const QString &label) {
@ -143,7 +124,12 @@ void Map::setSharedScriptsMap(const QString &sharedScriptsMap) {
void Map::invalidateScripts() {
m_scriptsLoaded = false;
m_scriptFileWatcher->removePaths(m_scriptFileWatcher->files());
// m_scriptFileWatcher is a QPointer so clearing it shouldn't be necessary,
// but it's possible that Map::getScriptLabels will be called before events are processed.
delete m_scriptFileWatcher;
m_scriptFileWatcher = nullptr;
emit scriptsModified();
}
@ -158,14 +144,32 @@ QStringList Map::getScriptLabels(Event::Group group) {
.arg(Util::stripPrefix(scriptsFilepath, projectConfig.projectDir() + "/"))
.arg(m_name)
.arg(error));
// Setting this flag here (and below) lets us skip some steps and logging if we already know it failed.
// Script labels may be re-requested often, so we don't want to fill the log with warnings.
m_loggedScriptsFileError = true;
}
if (!m_scriptFileWatcher->files().contains(scriptsFilepath) && !m_scriptFileWatcher->addPath(scriptsFilepath) && !m_loggedScriptsFileError) {
logWarn(QString("Failed to add scripts file '%1' to file watcher for %2.")
.arg(Util::stripPrefix(scriptsFilepath, projectConfig.projectDir() + "/"))
.arg(m_name));
m_loggedScriptsFileError = true;
if (m_fileWatchingEnabled && !m_loggedScriptsFileError) {
if (!m_scriptFileWatcher) {
// Only create the file watcher when it's first needed (even an empty QFileSystemWatcher will consume system resources).
// The other option would be for Porymap to have a single global QFileSystemWatcher, but that has complications of its own.
m_scriptFileWatcher = new QFileSystemWatcher(this);
connect(m_scriptFileWatcher, &QFileSystemWatcher::fileChanged, this, &Map::invalidateScripts);
}
// m_scriptFileWatcher can stil be nullptr here if the inotify limit was reached on Linux.
// Porymap isn't using enough resources in general for this to be a problem, but the user may have lowered the inotify limit.
if (!m_scriptFileWatcher) {
logWarn(QString("Failed to add scripts file '%1' to file watcher for %2: Reached system resource limit.")
.arg(Util::stripPrefix(scriptsFilepath, projectConfig.projectDir() + "/"))
.arg(m_name));
m_loggedScriptsFileError = true;
} else if (!m_scriptFileWatcher->files().contains(scriptsFilepath) && !m_scriptFileWatcher->addPath(scriptsFilepath)) {
logWarn(QString("Failed to add scripts file '%1' to file watcher for %2.")
.arg(Util::stripPrefix(scriptsFilepath, projectConfig.projectDir() + "/"))
.arg(m_name));
m_loggedScriptsFileError = true;
}
}
m_scriptsLoaded = true;
@ -278,14 +282,23 @@ int Map::getNumEvents(Event::Group group) const {
if (group == Event::Group::None) {
// Total number of events
int numEvents = 0;
for (auto i = m_events.constBegin(); i != m_events.constEnd(); i++) {
numEvents += i.value().length();
for (auto it = m_events.constBegin(); it != m_events.constEnd(); it++) {
numEvents += it.value().length();
}
return numEvents;
}
return m_events[group].length();
}
bool Map::hasEvents() const {
for (auto it = m_events.constBegin(); it != m_events.constEnd(); it++) {
if (!it.value().isEmpty()) {
return true;
}
}
return false;
}
void Map::removeEvent(Event *event) {
for (auto i = m_events.begin(); i != m_events.end(); i++) {
i.value().removeAll(event);

Some files were not shown because too many files have changed in this diff Show More