Reno Visualizer
repo: ~/Projects/reno-visualizer · 13 commits · 0 in last 24h, 0 in last 7d ·
Skills used
- /leads2
- /roll1
- /shopify-catalog1
- /proxy1
- /www1
- /products1
- /checkout1
- /render1
- /lead1
- /rooms1
- /upload-room1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
915041e · 2026-07-16 · Handle new catalog fields: buyable, sample_only, price_display, product_url
- server.js loadProducts(): pass through price_display (pre-formatted string),
buyable (bool), sample_only (bool), product_url (live DW product page);
derive price_display fallback if absent so no null ever reaches the client
- index.html pattern grid: show price via price_display (never fmtPrice/NaN);
sample-only badge uses sample_only field; append "/roll" only for buyable
- Step 3 selected-pattern info + Step 4 shop preview: same price_display fix;
product_url used for "View on Designer Wallcoverings" links throughout
No $null / $NaN possible: price_display is always a non-empty string from the
catalog (e.g. "Roll price on request" for the 83 sample-only products, "$94.42"
for the 167 buyable products).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e416e7d · 2026-07-16 · Step 4: admin.html — show Shopify product link on lead cards
Lead cards now show a "View on DW →" link when pattern_shopify_url
is present on the lead. Existing date+time (created_at) chip unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3035e40 · 2026-07-16 · Step 3: index.html — real Shopify images + product deep-links, no checkout
- Pattern grid uses real CDN images from shopify-catalog (image field)
- initShopStep: shows "View on Designer Wallcoverings →" link using
shopify_url = https://www.designerwallcoverings.com/products/<handle>
opens in new tab rel="noopener noreferrer", no cart/checkout
- Lead success screen: CTA button links to product page after capture
- submitLead: sends pattern_handle + pattern_shopify_url in lead body
- Nav note: "Links to the live Designer Wallcoverings product page."
- Sort + density controls unchanged and persisted to localStorage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
f3bc6c5 · 2026-07-16 · Step 2: server.js — load products from shopify-catalog.json
loadProducts() now reads shopify-catalog.json first (real images,
titles, vendors, prices, handles). Builds shopify_url from
checkout_domain + handle for every product. Falls back to legacy
products.json if catalog missing. Lead body now persists
pattern_handle, pattern_shopify_url, name, interest fields.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
631dcaf · 2026-07-16 · Step 1: add real Shopify catalog (200 products, read-only static)
Copies shopify-catalog.json from the accelerator data dir.
Fields: handle, image, title, vendor, type, price, variant_id, sku.
No token in repo — static snapshot only.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
12f92ba · 2026-07-15 · reno-visualizer: full 4-step wall visualizer prototype
- 4-step flow: room source → pattern picker → canvas render → shop the look email capture
- 15 real patterns pulled from dw_unified (Brewster + Arte) with live CDN images
- 4 stock room SVGs (living room, bedroom, dining room, home office) drawn in SVG $0-local
- Client-side canvas composite render: tile pattern image, mask to wall zone, blend modes,
perspective shadow gradient; user can draw custom wall zone via drag
- /api/render seam endpoint: prototype returns metadata; real engine (ComfyUI/Replicate) swaps in
- /api/lead POST → data/leads.json; /api/rooms; /api/upload-room (base64 JSON upload)
- /admin: lead cards with created date+time (toLocaleString, full ISO in title=), sort + density
- Sort + density slider (localStorage-persisted) on pattern grid
- Optional BASIC_AUTH + ADMIN_AUTH gating via env vars
File tree
14 files tracked. Click any to browse the source at HEAD.
rendered in 0ms