Context
Found while classifying #16498 and deliberately split out of it, because it is a different defect that was competing for attention on a ticket whose real cause turned out to be tear-out staging (@neo-gpt-emmy's frame-precise evidence there). This one is steady-state layout and reproduces without any gesture at all.
Measured live via Neural Link against a running apps/workstation, viewport measured rather than assumed (window.innerWidth/innerHeight read from the page):
| viewport |
pane height |
card height |
card scrollHeight |
children with height |
| 1282×880 |
210 |
208 |
94 |
6 / 6 |
| 1282×560 |
80 |
78 |
94 |
4 / 6 |
| 1282×420 |
10 |
24 |
94 |
4 / 6 |
The Problem
The resident card has no minimum height and no behaviour defined below its content height, so it degrades element-by-element instead of as a unit.
At 1282×560 the card is 78 px against a 94 px content requirement, and it fails two different ways simultaneously:
kicker h:12 top:175 bottom:187 ok
icon h:18 top:187 bottom:205 ok
metric h:22.8 top:213 bottom:235.8 ok
title h:13 top:243.8 bottom:256.8 → renders BELOW its own card box (cardBottom 241)
footer h:0 → collapsed
wave h:0 → collapsed
overflow is visible, so the title is not clipped — it paints outside its container, over whatever occupies that space. Two children collapse to zero height and simply do not appear. Neither outcome is a designed degradation; both are what happens when a fixed-content stack is given less room than it needs and nobody decided what should give.
At 1282×420 it goes further: the pane region is 10 px while the card inside it is 24 px — the card is larger than its own container, with content needing 94.
The Architectural Reality
- The resident panes are built in
apps/workstation/view/Workspace.mjs resolvePane() — a plain Neo.component.Base with cls: ['workstation-pane', 'workstation-placeholder', 'workstation-pane-<id>'] and an html block containing .workstation-resident-card with six fixed children (kicker, icon, metric, title, footer, wave).
- Every non-
scale/feed dock item resolves to this shape, so the fragility is shared by roughly 18 panes rather than being specific to one.
- The card is a showcase surface: it is what a viewer sees in the product's own docking demo, which is where the visual cost lands.
The Fix
Direction, not prescription — the owning decision is what should happen when the space is smaller than the content.
- Give the card a minimum height, or an explicit below-minimum presentation, so it degrades as a unit rather than shedding children silently.
- Decide the overflow contract. A title painting outside its own card is the sharper half of this bug: clipping would at least be visibly wrong rather than invisibly wrong.
- Consider whether a region below a threshold should present a deliberate empty/compact state instead of a partially-rendered card — the same question
#16498 AC-2 raises for its own reason, which is why the two want separate answers rather than one shared guess.
Acceptance Criteria
Out of Scope
#16498's tear-out staging vacancy and drag-start chrome overlay. Different mechanism, different phase, separately owned — this ticket reproduces with no gesture at all.
- Changing the card's content or visual design.
Avoided Traps
- Treating this as
#16498's cause. I did, briefly, and it was wrong: the 17-frame staging vacancy reproduces at 1282×880 where the pane is a healthy 210 px and nothing here has engaged. A mechanism that only appears near 420 cannot explain a failure already present at 880. Recorded so the next reader does not re-merge them.
- Fixing it with
overflow: hidden alone. That converts an invisible failure into a differently-invisible one; the content is still gone, just tidily. The question is what the card should do with insufficient space, not how to hide the evidence.
Related
#16498 (split from; different mechanism), #15252 (film epic — the showcase surface this affects)
Live latest-open sweep: latest 20 open issues checked 2026-08-08T16:14:41Z; keyword sweep for resident-card/min-height/collapse returned only #16498, from which this is deliberately split. No equivalent found.
Origin Session ID: 9ced67a1-8f21-4da2-a1bf-a2a968c47ed2
Retrieval Hint: query_raw_memories("workstation resident card min-height collapse title escapes card box short viewport")
Context
Found while classifying
#16498and deliberately split out of it, because it is a different defect that was competing for attention on a ticket whose real cause turned out to be tear-out staging (@neo-gpt-emmy's frame-precise evidence there). This one is steady-state layout and reproduces without any gesture at all.Measured live via Neural Link against a running
apps/workstation, viewport measured rather than assumed (window.innerWidth/innerHeightread from the page):scrollHeightThe Problem
The resident card has no minimum height and no behaviour defined below its content height, so it degrades element-by-element instead of as a unit.
At 1282×560 the card is 78 px against a 94 px content requirement, and it fails two different ways simultaneously:
overflowisvisible, so the title is not clipped — it paints outside its container, over whatever occupies that space. Two children collapse to zero height and simply do not appear. Neither outcome is a designed degradation; both are what happens when a fixed-content stack is given less room than it needs and nobody decided what should give.At 1282×420 it goes further: the pane region is 10 px while the card inside it is 24 px — the card is larger than its own container, with content needing 94.
The Architectural Reality
apps/workstation/view/Workspace.mjsresolvePane()— a plainNeo.component.Basewithcls: ['workstation-pane', 'workstation-placeholder', 'workstation-pane-<id>']and anhtmlblock containing.workstation-resident-cardwith six fixed children (kicker, icon, metric, title, footer, wave).scale/feeddock item resolves to this shape, so the fragility is shared by roughly 18 panes rather than being specific to one.The Fix
Direction, not prescription — the owning decision is what should happen when the space is smaller than the content.
#16498AC-2 raises for its own reason, which is why the two want separate answers rather than one shared guess.Acceptance Criteria
dev.Out of Scope
#16498's tear-out staging vacancy and drag-start chrome overlay. Different mechanism, different phase, separately owned — this ticket reproduces with no gesture at all.Avoided Traps
#16498's cause. I did, briefly, and it was wrong: the 17-frame staging vacancy reproduces at 1282×880 where the pane is a healthy 210 px and nothing here has engaged. A mechanism that only appears near 420 cannot explain a failure already present at 880. Recorded so the next reader does not re-merge them.overflow: hiddenalone. That converts an invisible failure into a differently-invisible one; the content is still gone, just tidily. The question is what the card should do with insufficient space, not how to hide the evidence.Related
#16498(split from; different mechanism),#15252(film epic — the showcase surface this affects)Live latest-open sweep: latest 20 open issues checked 2026-08-08T16:14:41Z; keyword sweep for resident-card/min-height/collapse returned only
#16498, from which this is deliberately split. No equivalent found.Origin Session ID: 9ced67a1-8f21-4da2-a1bf-a2a968c47ed2
Retrieval Hint:
query_raw_memories("workstation resident card min-height collapse title escapes card box short viewport")