Skip to content

feat: surface GramFrame version as Pan button tooltip#181

Merged
IanMayo merged 2 commits into
mainfrom
claude/gramframe-version-detection-vk60qc
Jun 26, 2026
Merged

feat: surface GramFrame version as Pan button tooltip#181
IanMayo merged 2 commits into
mainfrom
claude/gramframe-version-detection-vk60qc

Conversation

@IanMayo

@IanMayo IanMayo commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a subtle way to read a GramFrame instance's version from the browser UI, for debugging user issues — without adding any permanent on-screen chrome.

Hovering the Pan button now shows GramFrame vX.Y.Z as a native title tooltip. Because tooltips render even on disabled buttons, the version is readable whether or not the user has zoomed in yet — so support can guide a user to it on request at any time ("hover over the Pan button, what number shows up?").

Why the Pan button

There's no header/logo element to hang a tooltip on, and the Pan button is a natural fit — Pan mode's guidance panel already references the version (GramFrame v${getVersion()} in PanMode.js), so this reuses the same source of truth (getVersion() from src/utils/version.js, which is rewritten to the real package.json version at release time).

Change

A single conditional in src/components/ModeButtons.js sets button.title when building the pan mode button.

Notes / follow-ups (not in this PR)

  • There's still a stale, separate version: '0.0.1' hardcoded in state.js that doesn't track package.json. Worth consolidating onto getVersion() in a follow-up if desired.
  • Pre-existing tsc error on the ./gramframe.css side-effect import is unrelated to this change (present on a clean tree).

🤖 Generated with Claude Code

https://claude.ai/code/session_01UrV8WBAsULghxpC6j7d9J5


Generated by Claude Code

Hovering the Pan button now shows "GramFrame vX.Y.Z" via a native title
tooltip, giving support a subtle way to read an instance's version from the
browser UI without adding permanent on-screen chrome. The tooltip is readable
even while the button is disabled (before the user has zoomed in), so it can be
checked on request at any time. Version comes from the existing getVersion().

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UrV8WBAsULghxpC6j7d9J5
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

PR Preview

Preview deployment is ready! View Preview

Last updated: 2026-06-26T09:38:46.146Z

…uilds

- state.js: replace the stale hardcoded version '0.0.1' with getVersion() so
  state.version tracks package.json like the Pan button tooltip does.
- pr-preview.yml: run `yarn generate-version` before build:standalone in both
  the deploy-main and deploy-preview jobs. Previously only release.yml embedded
  the real version, so the live GitHub Pages demo and PR previews both showed
  "vDEV". Now they show the actual package.json version.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UrV8WBAsULghxpC6j7d9J5
@IanMayo IanMayo merged commit 43d13b0 into main Jun 26, 2026
3 of 4 checks passed
@IanMayo IanMayo deleted the claude/gramframe-version-detection-vk60qc branch June 26, 2026 09:40
github-actions Bot added a commit that referenced this pull request Jun 26, 2026
IanMayo pushed a commit to DeepBlueCLtd/pptx-legacy-transform that referenced this pull request Jun 26, 2026
Adopt GramFrame v0.1.13. Changes since v0.1.11 are non-breaking for our
integration (no class/attribute API changes):
  - v0.1.12: refresh markers/harmonics tables when clearing a gram
    (DeepBlueCLtd/GramFrame#180).
  - v0.1.13: single version source of truth, version embedded in
    demo/preview builds, GramFrame version surfaced as the Pan-button
    tooltip (DeepBlueCLtd/GramFrame#181).

This is a pure bundle + VERSION bump — no generator or CSS changes:

- Replace all three gramframe.bundle.js copies (scripts/vendor/gramframe/,
  theme/gramframe-oxygen/resources/, presentation/assets/embeds/) with the
  v0.1.13 bundle (byte-identical across the three; the in-bundle VERSION
  string now reads 0.1.13).
- Bump both VERSION files to v0.1.13.
- Refresh the stale version reference in theme/gramframe-oxygen/README.md
  (was v0.1.9) to match resources/VERSION.

Landing this on main retriggers the package-release workflow (theme/**
is a release path), cutting a fresh air-gap deliverable zip.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01HXpaibPmL8HyKjHUuRthyi
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.

2 participants