Skip to content

fix(persona): the lines go behind the boxes, and one thing looks pressed - #203

Merged
stormer78 merged 1 commit into
mainfrom
fix/persona-map-legibility
Sep 8, 2026
Merged

fix(persona): the lines go behind the boxes, and one thing looks pressed#203
stormer78 merged 1 commit into
mainfrom
fix/persona-map-legibility

Conversation

@stormer78

Copy link
Copy Markdown
Contributor

Three things from a live testing pass, in the order they were hit.

The edges were drawn over the cards

The SVG is positioned and the bands were not, so it won a stacking contest nobody entered it into: every curve ran across the boxes it connects, through the type and the value. The bands are positioned now with a higher zIndex.

An edge that disappears under a card reads as going behind it, which is what it does.

Everything a selection reached looked selected

"The UX is a little clunky — I can't easily tell what I have clicked on. I clicked on the persona DID, but how can you tell?"

Both the pressed card and everything it reached wore a coloured border, so clicking one persona outlined its face, three attributes, its context and the context's row in the same treatment. A dozen outlined boxes and no way to tell which one was the question.

The two states stop competing:

before after
selected 2px accent border + soft halo 2px accent border + a ring: a hairline of the page's ground, then the accent
reached 1px coloured border + wash wash only, ordinary border

One outline on the screen, and it is always the thing you pressed. The ring is two-stage so it lifts off a band that is already tinted, where a single soft halo disappears. The persona row inside a context gets the same rule — it is the one people click most, being where who am I here is asked.

A withheld value lost its own sentence

Singapore · with your agent does not fit a 222px card and truncated to Singapore · with y… — dropping the half that says what to do about it.

The label steps aside while the value is absent. It is the holder's own note, the type above already names the attribute, and on a card holding nothing the sentence that matters is the one about where the value is. It returns the moment the value does.

Checks

367 extension tests pass; tsc -b and npm run build clean.

⚠️ CI on this PR will show three failing core tests that are not from this change. 220560e feat(core): a rooms API for the console was committed straight to main and leaves package.module-boundaries and task-surface red — see the comment below.

Three things a person testing the map reported, in the order they hit them.

**The edges were drawn over the cards.** The SVG is positioned and the bands
were not, so it won a stacking contest nobody entered it into: every curve ran
across the boxes it connects, through the type and the value. The bands are
positioned now with a higher `zIndex`, and an edge that disappears under a card
reads as going behind it — which is what it does.

**Everything a selection reached looked selected.** Both the pressed card and
the ones it reaches wore a coloured border, so clicking a persona outlined its
face, its attributes and its context in the same treatment as the row that was
clicked: a dozen outlined boxes and no way to tell which one was the question.
"I clicked on the persona DID — but how can you tell?"

The two states stop competing. A reached card is a wash with the ordinary
border; only the selection carries a ring, drawn as a hairline of the page's own
ground and then the accent so it lifts off a band that is already tinted. One
outline on the screen, and it is always the thing you pressed. The persona row
inside a context gets the same rule — it is the one people click most, being
where "who am I here" is asked.

**A withheld value lost its own sentence.** "Singapore · with your agent" does
not fit a 222px card and truncated to "Singapore · with y…", dropping the half
that says what to do about it. The label steps aside while the value is absent:
it is the holder's own note, the type above already names the attribute, and on
a card holding nothing the sentence that matters is the one about where the
value is. It returns the moment the value does.

367 extension tests pass; `tsc -b` and `npm run build` clean.

Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
@stormer78
stormer78 force-pushed the fix/persona-map-legibility branch from 531f27a to 654b55f Compare September 8, 2026 16:19
@stormer78
stormer78 merged commit c94afaf into main Sep 8, 2026
3 checks passed
@stormer78
stormer78 deleted the fix/persona-map-legibility branch September 8, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant