Skip to content

Tear out the now-dormant html{zoom} bridging code (--zoom is 1 since #147) #148

Description

@BorisTyshkevich

Context

PR #147 set --zoom: 1 (removed the 1.2× page zoom, which was causing phantom scrollbars via sub-pixel rounding). That neutralizes the whole html{zoom} bridging layer — every piece now operates at divisor 1 (no-op) — but the code is still present. This issue tracks removing the dead scaffolding.

To remove (all no-ops at scale 1)

  • html { zoom: var(--zoom) } + the --zoom / --vp-zoom custom props (src/styles.css)
  • The @supports not (zoom: 1) fallback block (redundant once --zoom is a literal 1)
  • app.applyViewportZoom / viewportZoom measurement + --vp-zoom publish (src/ui/app.js, src/core/zoom-support.js) and its tests
  • calc(... / var(--vp-zoom)) fullscreen-panel sizing → plain vw/vh (.graph-overlay-panel, body.detached-tab)
  • zoomScale / fixedAnchor zoom arg in menu/popover anchoring (src/ui/app.js, src/ui/file-menu.js, src/dom.js)
  • unzoomChartEvent / zoomScale(canvas) Chart.js hover correction (src/core/chart-data.js)
  • splitter scale: () => zoomScale(...) division (src/ui/app.js)

Why deferred (not done in #147)

Roadmap #68 gated "full html{zoom} removal" on GraphSurface (#66) because the graph panels + pointer math were the last zoom-coupled surfaces. #147 removed the scale safely (dormant-not-deleted); this teardown should verify graph-panel sizing, menu anchoring, Chart hover, and splitter drag at native scale on Chrome + real Safari (Playwright WebKit ≠ real Safari for zoom×rect — verify manually).

Acceptance

  • All the above removed; no --zoom/--vp-zoom/zoomScale/unzoomChartEvent references remain.
  • Coverage gate stays green; menu/popover/chart-hover/splitter/graph-panel verified at 1× on Chrome and real Safari.

Metadata

Metadata

Assignees

No one assigned

    Labels

    inboxFiled mid-task; not yet triaged into the roadmap

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions