LifeLab · lens · iteration on the real thing

A lens holds whole blocks, not rows. That changes the brief.

My earlier mock cheated: every result was a one-liner. The real lens carries bodies, subtasks, bullet lists, ordered lists, links — a result can be twenty lines tall. So "make it not a list" isn't the problem; it's already not a list. The actual problems are measure, density, and the fact that a flat tint is the only thing the panel says. Below: today recreated at fidelity, then the same content with five moves applied.

todayrecreated from the native screenshot · same content, same proportions

[−]tags15 resultsedit
page2
*hello:tags:2

adada

*·:tags:
subpages03
linked3
*ayyy is this the rect version:tags:
*hello:tags: :aass:

ayyy

yaaaaa

daodkaosdk aodk

smooth hrlo

*this is new headline:tags:

it shoudl be kinda aligned

edited should go

** subtask4

– list

– list

– list

1. a

2. 2

3. 3

links

tags5

1

The tint is the only signal, and it says one thing: "transcluded". It can't tell you the contract (does × delete or unlink?), where your keys land, or whether this lens is writable. The loudest channel in the design is spent on the least useful fact.

2

The right rail is orphaned. :tags: sits a thousand pixels from the headline it belongs to. At this width a result stops reading as one object — your eye can't span it, so the tags become decoration.

3

Empty sections take a full row to say nothing. subpages … 0 is pure noise, and it appears on every lens of every page forever.

4

No density control. Five results fill a whole screen because every body renders in full. There's no "show me the shape of the answer" state — and a lens is most often a question, not a document.

5

Nesting inside a result has no vocabulary. Subtasks, bullets, ordered lists and links all render at the same weight in the same lane, so structure that exists in the text is invisible in the render.

·

What's already right: section rules with counts, fold in the header, tag-coloured provenance, and the fact that the whole thing is one continuous surface rather than a stack of cards. Keep all four.

proposedsame five results · measure capped, sections are lenses, bodies fold, gutter carries the contract

[−]tags{todo+}computed · tag5 results⋎ edit ×
[−]page2
*hello

adada

:tags:
*empty block
:tags:

+ Add to tags — :tags: applied

[−]linkedcomputed · 3 pages3
*ayyy is this the rect version
:tags:journal/07-24
*hello

ayyy

3 more lines

:tags: :aass:person/Ada
*this is new headline

it shoudl be kinda aligned

edited should go

structure

** subtask

– list  – list  – list

1. a  2. 2  3. 3

links · tags

:tags:project/LifeLab

subpages 0 · show empty sections

cap the measure
Result text stops at ~70ch and the provenance rail sits immediately to its right — so a result reads as one object at any window width. The lens still spans the page; the reading doesn't.
tint → gutter
The panel fill goes away; a 2px left rule takes over and now carries the contract: solid = owned here, dashed = a window onto another page, dotted = a predicate's result. Nesting is indent + rule, so depth six still reads and never muddies.
sections are lenses
page / subpages / linked become foldable lens headers with their own counts, chips, and contract — not decorative dividers. Empty ones collapse to one grey line in the footer.
bodies fold
Default is headline + first line + ⌄ 3 more lines. A lens is usually a question; you expand the answers you care about. z toggles all.
structure gets a plate
The one place a box earns its keep: sublists, ordered lists, and code inside a result get a lighter inset plate with crop-mark corners, so structure that exists in the text is visible in the render.

On the tint. Dropping it entirely is the aggressive read. The conservative version keeps a very faint panel (2–3% purple) and adds the gutter — the tint says "framed content", the gutter says "and here's the deal". What I'd resist is making the tint darker with depth: darker reads as heavier and more important, which is backwards for a nested lens, and it's exhausted by level three.

variantsthe three treatments on one result, so the choice is visual not verbal

a · gutter only — no fill

[−]tagsreferenced3
*this is new headline

it shoudl be kinda aligned

9 more lines

:tags:
[−]:aass:computed1
*hello
journal/07-22

Weightless, infinitely nestable, most in character with a text-first app. Depth two visible above.

b · faint fill + gutter — the conservative merge

[−]tagsreferenced3
*this is new headline

it shoudl be kinda aligned

9 more lines

:tags:
[−]:aass:computed1
*hello
journal/07-22

Nested goes lighter, not darker — reads as light through an aperture rather than a card stacked on top, and never accumulates into mud.

c · focus by ink — one lens is hot, the rest recede

[−]tagsreferenced3
*this is new headline

it shoudl be kinda aligned

9 more lines

:tags:
[−]:aass:computed1
*hello
journal/07-22

Cheap and unmistakable about where keys land — but on real bodies 50% ink risks reading as disabled. Safer variant: fade only the chrome (labels, counts, rails) and leave block text at full contrast.

d · the header is a lens too

project /

LifeLab{todo:tags:deadline:..+1w}⋎ +

the view is a lens · 5 of 31 · reframe · p pin

[−]page2
*hello
:tags:

If the page view is a lens, the title is its source and the filter chips are its terms — so re-asking the question is an edit, not a new tab. This is the piece that makes summoning enough.

what I'd do nextin order, cheapest first

1 · Cap the measure and pull the rail in. Pure win, no new concepts, fixes the worst readability problem in the screenshot. 2 · Collapse empty sections into one footer line. 3 · Fold bodies by default with an n more lines affordance — this is what turns a lens from a document into an answer. 4 · Add the contract gutter and decide tint-or-no-tint from variants a/b side by side in the real app, on a real page with three nested levels. 5 · Make the page header a lens — the change that removes the reason for tabs.

The one thing I'd hold back: render:cols and any side-by-side tiling. Real results are twenty lines of prose with sublists; they need width. Columns are a review-page mode, not the river.