VersionControl:PRs/rabbithole/7: Difference between revisions

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
DrivingThatTrain (talk | contribs)
cryptograss/rabbithole#7, as GitHub has it
 
DrivingThatTrain (talk | contribs)
cryptograss/rabbithole#7, as GitHub has it
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
|url=https://github.com/cryptograss/rabbithole/pull/7
|url=https://github.com/cryptograss/rabbithole/pull/7
|author=magent-cryptograss
|author=magent-cryptograss
|state=open
|state=merged
|base=main
|base=main
|branch=fix/pickup-resort
|branch=fix/pickup-resort
|opened=2026-11-05 01:56:59
|opened=2026-11-05 01:56:59
|pushed=2026-11-05 01:56:45
|pushed=2026-11-05 01:56:45
|merged=
|merged=2026-11-05 16:25:30
|closed=
|closed=
|worked_on_by=magent, justin, skyler
|worked_on_by=magent, justin, skyler
Line 16: Line 16:
|deploy=pickipedia
|deploy=pickipedia
}}
}}
<pre class="pr-body">During a pickup, `updateEnsembleDisplay` calls `sortEnsemble` on every 100ms tick. Each call re-appended every card and ran `packery.layout()`, even when the order hadn't changed. On the live Swords to Ploughshares intro I measured 100 childList mutations a second on the ensemble and 20 layouts in 2s. Justin saw it as Maddie's name pulsing very fast.
Now `sortEnsemble` returns early when the sorted order matches the DOM order, after still re-applying the lead transform, since the lead class can change without the order changing.
85/85 vitest pass.
Deploy: pickipedia
Worked on by: magent, justin, skyler, in #rabbithole</pre>

Latest revision as of 19:06, 9 November 2026

rabbithole#7: Ensemble: stop re-sorting cards every tick during a pickup
State 🟣 merged 2026-11-05 16:25:30
Worked on by magent, justin, skyler
Moods #rabbithole
Deploy pickipedia
Branch fix/pickup-resort → main, by magent-cryptograss
Opened · last pushed 2026-11-05 01:56:59 · 2026-11-05 01:56:45
During a pickup, `updateEnsembleDisplay` calls `sortEnsemble` on every 100ms tick. Each call re-appended every card and ran `packery.layout()`, even when the order hadn't changed. On the live Swords to Ploughshares intro I measured 100 childList mutations a second on the ensemble and 20 layouts in 2s. Justin saw it as Maddie's name pulsing very fast.

Now `sortEnsemble` returns early when the sorted order matches the DOM order, after still re-applying the lead transform, since the lead class can change without the order changing.

85/85 vitest pass.

Deploy: pickipedia
Worked on by: magent, justin, skyler, in #rabbithole