penpot/docs/component-bug-reports
alonso.torres a343104d54 wip
2026-06-02 09:21:23 +02:00
..
wip
2026-06-02 09:21:23 +02:00
wip
2026-06-02 09:21:23 +02:00
wip
2026-06-02 09:21:23 +02:00
wip
2026-06-02 09:21:23 +02:00
wip
2026-06-02 09:21:23 +02:00

Component / Variant subsystem — bug reports

Each report below is self-contained and meant to be tackled independently in a fresh agent context. They came out of the audit captured in ../component-subsystem-handoff.md (§14).

Read the handoff doc and the Serena memory critical-info before starting any of them.

# Title Category Confidence Severity On hot path?
BUG-01 concat-changes accumulates :undo-changes as nested lazy concat Stability + Perf High Medium (latent crash on large files) Yes (library sync)
BUG-02 Un-memoized ref-chain walking during variant switch Perf Medium LowMedium Yes (variant switch)
BUG-03 compare-children fallback is O(n²) with expensive constant Perf Medium LowMedium Yes (sync)
BUG-04 update-attrs-on-switch composite-geometry guard audit Correctness Low (audit) Variable Yes (swap)
BUG-05 Silent no-op vs. bug ambiguity in direct sync Diagnosability Low Low Yes (sync)
BUG-06 d/index-of linear scan inside per-child sync callbacks Perf High Medium Yes (sync)
BUG-07 Inverse sync re-maps the entire change list at every tree node Perf + Stability High Medium Yes ("Update main")
BUG-08 variant-switch crashes on empty / out-of-range target (plugin-facing) Correctness High High (reproducible crash) Yes (Plugin API)

Suggested order

  1. BUG-08 — reproducible plugin-triggered crash, small guard fix, clear test. Most aligned with the current alotor-fix-plugins-problems branch.
  2. BUG-06 — pure perf, mechanical, no behavior change.
  3. BUG-01 / BUG-07 — the lazy-concat stability pair (real crash risk on large files; needs care to preserve undo order).
  4. BUG-02 / BUG-03 — profile first, then optimize.
  5. BUG-04 / BUG-05 — audit / diagnosability, lower urgency.