Skip to content

feat(visimer): dedicated /playground page with shareable code URLs (#2868) - #7

Merged
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync
Jul 23, 2026
Merged

feat(visimer): dedicated /playground page with shareable code URLs (#2868)#7
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync

Conversation

@inkeep-oss-sync

Copy link
Copy Markdown

Copybara-translated 1 Inkeep OSS change. Rebase-merge this PR so the prepared commit lands directly on public main.

…2868)

* feat(visimer): dedicated /playground page with shareable code URLs

Expanding the inline demo now navigates to a real /playground route
instead of a fullscreen overlay, so a refresh keeps your work and there
is no Exit mode to escape. The current source rides along in the URL
hash (base64url), and every edit updates the hash debounced, which makes
the address bar a share link at all times; a Share button copies it.
Pasting a new share link into an open tab adopts the incoming code via
hashchange.

On the dedicated page the diagram-type tabs become a Samples menu that
resets the source to the chosen sample. The hero CTA links straight to
/playground, vercel.json gains SPA fallback rewrites for the route, and
the shared playground chrome (presets, themes, CodeMirror pane, codec)
moves to playground-shared.tsx used by both pages. The View Transitions
overlay machinery is removed.

* refactor(visimer): playground menu drops active state, generic file label

The playground's code is user-owned, so a highlighted sample in the menu
and a type-derived file name both drift from reality the moment someone
edits. Menu items render uniformly, the label is a static diagram.mmd,
and the Reset button is gone since loading a sample is the reset.

* fix(visimer): equalize pane header heights so the divider aligns

The source pane header (with its Copy button) rendered taller than the
preview header, breaking the border line where the panes meet. Both
headers are pinned to 44px on the inline demo and /playground.

* feat(visimer): replace mermaid theme picker with light and dark palettes

The Paper/Neutral/Forest/Dark theme pills are gone; the light/dark
toggle now drives one tuned mermaid palette per mode. Light keeps the
site's paper tones (cream surfaces, teal primaries, gold accents). Dark
follows Open Knowledge's mermaid treatment, transposed into the site's
warm dark tones: node fills with no visible outline, muted connector
strokes instead of mermaid's harsh near-white lines, clusters as darker
tiers, gold note callouts.

* fix(visimer): keep class compartment dividers visible in dark mode

nodeBorder was set to the node fill for the borderless flowchart look,
but class diagrams draw their compartment dividers with that same
stroke, so the title/attribute/method separators vanished. A faint
visible border restores them while staying imperceptible on flowchart
nodes.

GitOrigin-RevId: 3ae8ee41e661e7c5cbda1fc63c717254d33850f2
@inkeep-oss-sync
inkeep-oss-sync Bot merged commit 9528e52 into main Jul 23, 2026
@inkeep-oss-sync
inkeep-oss-sync Bot deleted the copybara/sync branch July 23, 2026 19:57
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