feat: the showcase is readable, navigable, and laid out by provenance - #77
Merged
Conversation
khaneight
force-pushed
the
feat/clone-docs
branch
from
August 27, 2026 02:25
f5c45a5 to
fbb6eb9
Compare
Three things, all asked for after seeing the first version. **Read the documents.** The bundle now carries the published prose, so clicking a node opens it in a panel over the graph, with a fullscreen view for reading properly. Cross-references and source citations inside the text are live: following one opens that document and moves the graph to it, which is what makes this a wiki rather than a list of pages. The prose is the text that was *written to the site* — links already defused, attribution already appended — not a second rendering of the file, so the reader and the site cannot disagree. That costs size, and the doc comment now says so rather than quoting the old metadata-only figures. **Navigate it.** Drag to pan, scroll to zoom toward the cursor rather than the middle, arrow keys, `+`/`-`, `0` to fit, and zoom bounded at 0.3–3.5. **Depth is provenance.** `layer` comes from the exporter — 0 for a source document the author actually wrote, rising through their compiled thinking to the machine's work at the rim — and the page draws it in perspective, so panning gives real parallax and the core sits nearest because it is nearest the person. Published source documents are nodes now, with an edge from every article that cites them; withheld ones are not, since a node would put a private document's title on the site. The layout was a force simulation twice and is not one now. With the radius already fixed by provenance the only free variable is angle, and simulating that produced rings whose nodes piled onto each other while the radial constraint fought the springs — measured, then measured again after making the springs tangential, which was worse. Rings are placed deterministically: ordered by the mean direction of the neighbours already on the board, then spaced evenly so nothing can collide, then rotated to face what they came from. One thing found by reading the result: the attribution appeared twice, once as the exporter's notice at the foot and once as a box this page composed. On screen the foot is after you have read the thing believing it might be theirs, so the reader now *lifts* the exporter's own wording to the top — lifted rather than rewritten, and it falls back to composing one if the notice cannot be found, so generated work can never be displayed without a disclosure. `ui/dev/` is a development harness: a server that serves the real page with the Agentation annotation toolbar overlaid at request time. Nothing there ships — the toolbar is injected into the response and never written to the page, so the file that deploys stays the file that was reviewed, and `tests/ui.rs` still fails on any external reference in it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…d it Both from annotations left on the page. The panel opened against the left edge and pushed the graph behind a blurred scrim. That treats the graph as clutter, when it is the context for the document you are reading — the whole reason for opening a document *in* the graph rather than on its own page. It is now centred, and centred on the stage rather than on the window, so the sidebar stays uncovered. Same reason as the scrim: the sidebar is the other half of the context. The scrim still exists and still closes the reader on a click outside; it just no longer paints anything. The panel reads as foreground from its border and a slightly deeper shadow. Fullscreen keeps working: `.full` clears the centring translate rather than fighting it, and the transition drives `top`/`left` instead of `inset`, which was never animating anything. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
khaneight
force-pushed
the
feat/ui-reader
branch
from
August 27, 2026 02:27
f50cdae to
c19fd1d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #76. Everything asked for after seeing the first version.
Read the documents
The bundle carries the published prose now, so clicking a node opens it over the
graph, with a fullscreen view for reading properly. Cross-references and source
citations inside the text are live — following one opens that document and
moves the graph to it.
The prose is the text that was written to the site — links already defused,
attribution already appended — not a second rendering of the file. A reader in
the graph and a reader on the site see the same words. That costs bundle size
and the doc comment says so plainly instead of quoting the old metadata-only
figures.
Navigate it
Drag to pan, scroll to zoom toward the cursor rather than the middle, arrow
keys,
+/-,0to fit. Zoom bounded 0.3–3.5.Depth is provenance
layercomes from the exporter, not the page: 0 for a source document theauthor actually wrote, rising through their compiled thinking (
authored→hybrid→researched) to the clone's work at the rim. Drawn in perspective,so panning gives real parallax and the core sits nearest because it is nearest
the person.
Published sources are nodes now, with an edge from every article citing them.
Withheld ones are not — a node would put a private document's title on the site.
Tested both ways.
The layout was a force simulation twice, and is not one now
With the radius already fixed by provenance, the only free variable is angle.
Simulating that piled a ring's nodes onto each other while the radial constraint
fought the springs. I made the springs tangential; that was worse — I have
the screenshots. Rings are now placed deterministically: ordered by the mean
direction of the neighbours already on the board, spaced evenly so nothing can
collide, then rotated to face what they came from.
A flaw found by reading the result
The attribution appeared twice — the exporter's notice at the foot, and a
box this page composed at the top. On screen the foot is after you have read the
thing believing it might be theirs.
The reader now lifts the exporter's own wording to the top. Lifted, not
rewritten and not removed — and it falls back to composing one if the notice
cannot be found, so generated work can never be displayed without a disclosure.
ui/dev/A development harness: a server that serves the real
ui/index.htmlwith theAgentation toolbar bundled in and injected into the
HTTP response. Nothing there ships. The toolbar is never written to the
page,
git statusshows the published file changed only by the features above,and
tests/ui.rsstill fails on any external reference in it. Delete thedirectory and nothing else breaks.
536 tests (+11), clippy and fmt clean.
🤖 Generated with Claude Code