Commit graph

174 commits

Author SHA1 Message Date
2 * r + 2 * t
0844013ca7 feat: animate delegates in from visual position
Instead of suddenly appearing, create them at their visual position then
animate them to the layout pos
2026-04-10 02:36:56 +10:00
2 * r + 2 * t
c629eaaa08 fix: don't add delegate to layout until ready delay finish
Also disable y anim if not ready
2026-04-10 01:38:12 +10:00
2 * r + 2 * t
e234990c52 fix: don't play add/remove anim on old delegates 2026-04-10 01:25:09 +10:00
2 * r + 2 * t
b0aeee8b80 fix: allow viewport to be outside of bounds 2026-04-10 01:10:05 +10:00
2 * r + 2 * t
2efe1a93a6 fix: layout delegates after configurable delay
Fixes glitches due to delegate sizes changing on creation
Also use the loader state pattern to ensure size is set on same frame as
active
2026-04-10 00:19:32 +10:00
2 * r + 2 * t
e6c1248bef fix: no need to disconnect signal
Signal will auto disconnect on item destruction
2026-04-10 00:19:32 +10:00
2 * r + 2 * t
cc54d9bc5b fix: remove unnecessary qml context creation 2026-04-09 22:21:30 +10:00
2 * r + 2 * t
9145f83639 fix: remove dead list view anim code 2026-04-09 22:14:52 +10:00
2 * r + 2 * t
8fbf85da86 fix: notif list viewport jumping around on delegate creation 2026-04-09 20:02:35 +10:00
2 * r + 2 * t
1223b5338b fix: prevent cacheBuffer from extending viewport over height 2026-04-09 19:10:34 +10:00
2 * r + 2 * t
3f72dde918 fix: lazy list view overshoot 2026-04-09 17:49:03 +10:00
2 * r + 2 * t
1d6919b375 Merge branch 'main' into cxx-listview 2026-04-09 15:56:15 +10:00
2 * r + 2 * t
c623b9b688 fix: osd and session bulges
Also remove rect-rect edge sink cause it doesn't work
2026-04-09 00:34:45 +10:00
2 * r + 2 * t
77ab4b8350 fix: blobs ignoring updates if moving too slow 2026-04-07 18:39:48 +10:00
2 * r + 2 * t
d778734c67 fix: remove sminNoBulge cause useless 2026-04-07 17:14:50 +10:00
2 * r + 2 * t
31e29c16a8 fix: blob sdf rect-rect edge sink 2026-04-07 17:01:41 +10:00
2 * r + 2 * t
a40b1c2c77 fix: use bound component context 2026-04-03 22:37:35 +11:00
2 * r + 2 * t
08809320de fix: qFuzzyCompare + 1.0 2026-04-03 19:30:42 +11:00
2 * r + 2 * t
8f3f1b9056 feat: map listview delegates to indexes 2026-04-03 18:49:07 +11:00
2 * r + 2 * t
1c09222dd7 fix: only destroy delegates when visually out of viewport 2026-04-03 18:37:14 +11:00
2 * r + 2 * t
700ad61969 feat: listview async delegate creation and destruction 2026-04-03 18:34:07 +11:00
2 * r + 2 * t
ea776c20e0 fix: lazy list view spacing + debounce relayout 2026-04-03 18:14:49 +11:00
2 * r + 2 * t
20983ffa6e feat: replace notif group list with lazy list view 2026-04-03 17:59:27 +11:00
2 * r + 2 * t
faaae7be44 chore: format 2026-04-03 16:09:00 +11:00
2 * r + 2 * t
916b702562 fix: use visible height to calc contentHeight 2026-04-03 16:04:51 +11:00
2 * r + 2 * t
051b8caee6 fix: move anim logic to qml
Fixes closing in quick succession not updating movement correctly
2026-04-03 03:51:33 +11:00
2 * r + 2 * t
0252be370e fix: delegate size not being tracked after rearrange 2026-04-03 02:57:15 +11:00
2 * r + 2 * t
2acd8f13f8 fix: don't recreate all delegates on model change 2026-04-03 02:55:04 +11:00
2 * r + 2 * t
9e35e93f76 fix: model change sigabrt crash + resize anim 2026-04-03 02:27:53 +11:00
2 * r + 2 * t
736eda6715 feat: c++ resizable list view component
Partially fixes notif dock lag
2026-04-03 02:13:47 +11:00
2 * r + 2 * t
2dffd4fbfd Merge branch 'main' into sdfs 2026-04-02 15:30:15 +11:00
2 * r + 2 * t
4714fe8795 feat: use logging categories 2026-04-02 15:29:40 +11:00
2 * r + 2 * t
a2a63977c1 fix: guard pw timer & stream for null 2026-04-02 15:03:52 +11:00
2 * r + 2 * t
b57d596230 Merge branch 'main' into sdfs 2026-03-30 02:10:22 +11:00
2 * r + 2 * t
3bdffca061 feat: c++ visualiser
Closes #1126
2026-03-30 01:54:06 +11:00
2 * r + 2 * t
c670302fc1 chore: format c++ 2026-03-28 21:36:00 +11:00
2 * r + 2 * t
6cdecb8825 fix: sidebar gap with utils due to deform
Also better sync utils width with sidebar width
2026-03-28 21:28:21 +11:00
2 * r + 2 * t
e8555061ab fix: sidebar bulge at connection with utilities
Basically make sidebar and utilities exclude each other from merging and
manually animate corner radius
Also format c++
2026-03-27 20:58:00 +11:00
2 * r + 2 * t
ea2ed3e5c4 fix: graphical artifact during sdf deformation 2026-03-26 17:23:06 +11:00
Robin Seger
51a12193c3 correction, discard only if owner != myIndex AND mergedSdf > smoothFactor 2026-03-25 22:33:13 +01:00
Robin Seger
7d01180f5c Only assign ownership if pixel is within blend zone 2026-03-25 22:08:42 +01:00
Robin Seger
ebccf801f4 physics throttling, targeted dirty marking, proximity-based border
- Snap deformation to rest when imperceptible instead of pumping frames
- Only trigger markDirty on geometry changes exceeding 0.5px
- Only include inverted rect data when rect is near the border
2026-03-25 20:27:56 +01:00
Robin Seger
6103ce19e8 improve performace of SDF
- Avoid fullscreen shading every pixel
       - Evaluate each BlobRect: localized quad, only nearby rects, instead of all 8 rects
       - O(1-3) per pixel for most passes, rather than O(N²) with N=8(~72 iterations).
       - Closed panels excluded entirely from loop.
2026-03-25 19:45:45 +01:00
2 * r + 2 * t
f15b902c0e feat: add blobs module 2026-03-25 12:04:39 +11:00
2 * r + 2 * t
501a14bd2a fix: compiler warnings
Mostly QFutureWatcher leaks, fixed by using QFuture.then
Also calculator false positive leak
2026-03-24 02:33:25 +11:00
2 * r + 2 * t
a034467ed2 fix: check grabToImage result for nullptr 2026-03-24 02:03:28 +11:00
2 * r + 2 * t
598e6d91fd fix: initialize FileSystemModel::m_sortReverse
m_sortReverse was not initialized, causing undefined behavior
when used in compareEntries().
2026-03-24 01:53:02 +11:00
2 * r + 2 * t
d5c6e98126 fix: null check qmlEngine() in CUtils::saveItem
qmlEngine(this) can return nullptr during engine shutdown,
causing a null pointer dereference in the async callback.
2026-03-24 01:52:44 +11:00
2 * r + 2 * t
b85b0e7afb fix: use QPointer for ImageAnalyser::m_sourceItem
Raw QQuickItem* was not tracked for destruction, causing
use-after-free if the source item was destroyed between
setSourceItem() and deferred requestUpdate() invocations.
2026-03-24 01:52:25 +11:00
2 * r + 2 * t
04b4ae3ba8 fix: use QPointer for CachingImageManager::m_item
Raw QQuickItem* was not tracked for destruction, causing
use-after-free if the QML engine destroyed the item while
an async sha256 future was in flight.
2026-03-24 01:52:00 +11:00