Changes since v0.1.5.
Highlights
The viewer speaks the landing's design language (candlelight)
supragnosis.dev and the live viewer used to look like two different products; now they are one.
The landing's candlelight theme moves into the viewer wholesale - warm gold on near-black ink,
parchment text, mono chrome with serif prose, a soft glow beneath the transparent canvas and film
grain above it.
- Palette: gold is the accent voice (active toggles/tabs/chips, hovers, the wordmark
asterisk); teal is the success voice (hub health,in sync, session footprint rings, the
canonical ring in a merge preview). Hull fill and edge opacity are retuned for the darker ink. - Typography: UI chrome is the mono stack, prose (descriptions, definitions, rationale, empty
states) is the serif stack - and the canvas node labels are mono too, matching the landing's
hero constellation. Fonts stay self-contained: no webfont fetch, the viewer keeps working
offline on its loopback surface. - Details: the 5-spoke gold asterisk favicon rides along as a data URI; a proposal's
accept
is the landing's solid-gold button (the gate's primary act); the detail panel's close control is
a real icon button (inline SVG X, round-capped strokes like the favicon) instead of a text glyph.
Island panels - the graph continues behind the chrome
The side rails become floating card islands: inset from every screen edge, rounded and
shadowed, so the canvas visibly continues behind and around them instead of ending at two walls.
- Height hugs the content - an empty Proposals tab is a small card, not a full-height empty
column - and caps above the statusbar, with the rail body scrolling inside the card. - The camera controls (
+/-/fit) relocate to the canvas's bottom-right as a vertical
stack (the map-tool convention); their old top-right spot lost its anchor once the rails
stopped being full-height. The right island's height cap reserves that corner, so a full
proposals list can never slide under the zoom buttons. - Auto-fit and centering follow the new geometry - the graph frames itself into the strip
between the islands.
Type definitions where the types are read
Hovering a node-type or edge-type legend chip now shows the type's T-Box definition in the
styled tooltip, next to the existing on-graph highlight. A type with no recorded definition gets
a nudge toward define_type instead of silence - the Principle 8 vocabulary surfaces in the
reading flow, and the gap in it becomes a curation micro-decision (Principle 22) rather than a
separate chore. The glossary is fetched regardless of whether the Types tab is open, so the
vocabulary is always warm.
Reduced motion respected
With prefers-reduced-motion, the viewer skips the settling animation entirely: the layout
simulation burst-steps to convergence within one frame and the graph appears already still - the
same respect the landing pays. Everyone else keeps the calm loader.
Fix: chrome tooltips no longer swallowed
The window-level mousemove handler used to hide the shared tooltip on every pointer move - which
killed the new chip tooltips instantly, and could surface node tooltips for nodes hidden beneath
opaque panels. Node hover now runs only for canvas-targeted moves; dragging and panning still
work across the whole window.
Install
curl -fsSL https://raw.githubusercontent.com/Ashon/supragnosis/main/scripts/install.sh | shOr download the platform tar.gz from the assets below, extract it, and put supragnosis
on your PATH. Supported: macOS (arm64 / x86_64), Linux (x86_64, glibc 2.35+); each asset ships a
.sha256.
- CLI:
supragnosis --help. Register with an MCP client:claude mcp add supragnosis -- ~/.local/bin/supragnosis.
Notes / limitations
- Viewer-only release: no storage format, wire format, or MCP surface change - v0.1.5 nodes
and hubs interoperate unchanged. - The named fonts (IBM Plex Mono, Newsreader) render when installed locally; otherwise the viewer
falls back to the system mono/serif stacks by design (no webfont fetch on the loopback surface). - The viewer's opt-in network exposure (
SUPRAGNOSIS_VIZ_PUBLIC=1) remains read-only and remains
broader than the sync share whitelist (aworkspace=*read serves every workspace) - treat it
as "publish this node read-only" until the authenticated read tier (federation Phase 3.5) lands.
See architecture.md Section 14. - 0.x early release - the storage format and surfaces may still change.