You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Rewrite README to reflect the PlotFlow brand
Lead with what PlotFlow is (pen-plotter art house, one-continuous-line
mobile suit editions) and the process, while keeping the local-run,
deploy, and structure notes.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Crop plots to bounding box for consistent sizing
Compute each suit's bounding box at runtime (getBBox) and crop the
viewBox to a padded version, so every edition fills its card and the
live-plot stage at a consistent scale instead of being letterboxed in
the original canvas. Fix the paper bed to a single 4:3 shape so the
canvas is consistent across designs, and reset the animation clock on
load so the live plot always starts from a blank sheet.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Fix live plot blank-start flash and rename to PLOTFLOW
Hide the path before swapping suit data so the old dash values don't
flash the full path for a frame. Rename "PLOTFLOW ART HOUSE" to
"PLOTFLOW" in all footer copyright lines.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Fix live plot revealing whole path at once
The animated hero path used vector-effect:non-scaling-stroke, which
measures stroke-dasharray in screen pixels while getTotalLength returns
user units. The mismatch made the full path render as one solid dash
(visible immediately) with the trace drawing over it. Drop
non-scaling-stroke from the animated path and set its width in user
units per-load so it stays ~1.2px. Static shop-card paths are unchanged.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Remove "art house" from brand copy
Replace "art house" with "studio" in the hero sub, contact page, README,
and design system doc; drop "ART HOUSE" from the README copyright line.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Plot live drawing on a canvas instead of dash-offset
The suit paths contain thousands of M-command subpaths, which the CSS
stroke-dashoffset reveal renders all at once — so the whole design
appeared instantly instead of being traced. Replace the dash technique
with progressive canvas stroking: walk the geometry with
getPointAtLength, lifting the pen at subpath jumps, so ink only appears
where the pen has passed. The SVG path is kept for geometry only
(stroke:none) and the pen reticle stays on top.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Replace 'avant-garde' with 'independent' in brand copy
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Add multi-item cart with Stripe checkout + mobile hero layout
Cart: client-side cart (localStorage) with a slide-out drawer, nav
count badge, and per-edition Acquire buttons. Checkout posts edition
keys+quantities to a Cloudflare Worker that resolves prices server-side
and creates a Stripe Checkout Session (prices never trusted from the
client). Adds success.html, scripts/config.js (public endpoint config),
and worker/ (Worker + wrangler.toml + setup README). Secrets stay out of
the repo via wrangler secrets.
Mobile: taller portrait plot bed and a reordered hero stack
(plot › progress › controls › lockup) so controls no longer overlap.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Multi-item cart + Stripe checkout, mobile hero layout, copy tweak
- Cart: localStorage cart, slide-out drawer, nav badge, per-edition
Acquire buttons; checkout posts keys+qty to a Cloudflare Worker that
resolves prices server-side and creates a Stripe Checkout Session.
Adds success.html, scripts/config.js, scripts/cart.js, and worker/.
- Mobile: taller portrait plot bed and reordered hero stack so the
controls no longer overlap.
- Copy: 'avant-garde' -> 'independent'.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Site polish: SEO/OG meta, favicon, 404, sitemap, footer link wiring
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Fix emoji play button on mobile by adding text variation selector
Appends U+FE0E after ▶ and ▸ characters so mobile Safari renders
them as text glyphs instead of colored emoji.
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Force text rendering on play buttons + show all 8 editions in shop
- Add font-family:var(--sans) to .plotbtn and .replay span CSS to
prevent iOS emoji rendering of the ▶ character
- Add gm and guntank to shopOrder so all editions appear in the grid
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
* Add Google Analytics (G-1HJ4VQ4K1B) to all pages
https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments