Skip to content

Commit bc9c9c6

Browse files
ddyson1claude
andauthored
Fix merge conflicts breaking cart on live site (#12)
* 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 * Set price to $45 + simplify checkout Worker to server-side price_data - Bump all editions to $45 (display + build source) - Worker now defines name/price per edition via Stripe price_data (CATALOG), removing the need to create Stripe Products/Price IDs - Add flat $9 shipping fee (SHIPPING config; set to 0 for free) - Rewrite worker README for the simplified setup flow https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS * Fix merge conflict markers in cart.js, success.html, styles.css Unresolved git merge conflicts were committed to main, breaking cart.js (syntax error killed the entire cart), hiding SEO meta on success.html, and dropping .cart-toast styles. https://claude.ai/code/session_01VhWRYXbuqapZ9YkvksroaS --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 1491b48 commit bc9c9c6

0 file changed

File tree

    0 commit comments

    Comments
     (0)