feat: terminal padding - #60
Conversation
|
Confirmed: no gate script covers Wave 1.5 Verification Manifest:
Now I dispatch Wave 2 (synthesis) with the filtered findings: Surviving findings after Wave 1.5:
One blocking finding remains (C-2). Let me evaluate whether C-2 warrants a blocking override. The negative clamping is silent — but is it a likely production failure under normal usage? A user would have to intentionally type a negative number in their config. That's rare, not normal. The stated intent says "Negative values clamped to 0" which implies the clamping is a known degradation worth warning about, but the blast radius is zero (padding just becomes 0 instead of negative — the visual result is correct). This is a bounded, non-data-affecting defect the author can land and follow up. Synthesis output: PR #60 —
|
| Original ID | Reason |
|---|---|
| C-1 (medium, stale padding on ⌘R) | False finding. load() always starts from defaults(), which sets terminalPadding = (4,4). The over-cap branch's skip of the assignment keeps the correct default — the warning is accurate. |
| S-1 (medium, spurious layout on non-terminal) | False finding. The (0,0) call on non-terminal tabs is correct: it clears padding set by a prior terminal tab. Without it, switching terminal→editor would leave the terminal's padding visually active on the editor. |
What was not checked
- Citations verified inline against branch HEAD
e0404bb. - Stated intent: PR feat: terminal padding #60 title+body — spec-compliance assessed.
- Not checked: runtime visual rendering of padding (seamless backdrop colour match, Liquid Glass interaction, split-pane geometry with padding active).
- Not checked: interaction with the Ghostty engine (GhosttyPane files do not exist at this ref).
- Not checked:
check-file-size.shgate pass (SpaceViewController.swift is at exactly 350/350 — verified bywc -l, passes but has zero margin).
Decision: MERGE — 0 blocking (1 medium waived, 2 low).
The single medium (silent negative clamping) is waived: the visual result is correct (0px padding), the blast radius is zero, and the gap is a missing warning message the author can add in a follow-up. No data integrity, security, or production-failure risk.
Done
- What was done: Reviewed PR feat: terminal padding #60 (
feat: terminal padding) across all six dimensions — 3 findings survived Wave 1.5 citation verification, 2 findings dropped as false positives. - Evidence: Review output above; citations verified against
e0404bbc73376d58f2a2f6b527bf43ef41c53248. - What changed: Nothing — read-only review.
- Deferred: none.
🤖 Posted by agent-afk /review --post github
Terminal Padding
Adds configurable inner margins around the terminal content area — the #1 most-requested visual improvement across terminal design discussions.
Config
Two forms accepted in
~/.config/umber/config.json:Default: 4px (subtle but noticeable). Max: 100px. Negative values clamped to 0. Bad values degrade to 4 with a stderr warning — same fail-soft pattern as every other config field.
How it works
DocumentAreaViewController), not inside the terminal view —TerminalPane.swift(at 346/350 LOC) was not touchedpaddingBackdropview fills the content area with the terminal's background color, making the inset seamless — text appears to float, not boxedFileViewerPanegets zero padding (it has its owntextContainerInset)Files changed
Config.swiftPaddingSpecDecodable (scalar or object),terminalPaddingon AppConfigConfig+Padding.swiftDocumentAreaViewController.swiftSpaceViewController.swiftStarterConfig.swiftAll files pass
check-file-size.sh(350 LOC ceiling).