Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ frontend/.vite/

# Local data assets
data/
frontend/public/assets/catalog_images/

# Project save files at repo root (can contain large base64 images)
/*.json
Expand Down
34 changes: 0 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,40 +25,6 @@ Then open `http://localhost:5173/`.
- **Crop** — trim pattern or sheet edges
- **Export** — save the project as JSON; import it back later

## Glass swatch library data

The app ships a built-in library of ~1,270 real glass sheet swatches (Bullseye,
Oceanside, Wissmach, Youghiogheny). It has two parts:

- `frontend/public/assets/glass_swatch_registry.json` — the registry (metadata,
image paths, physical calibration). **Committed to git**; the app's library
dialog reads it at runtime.
- `frontend/public/assets/catalog_images/` — the swatch photos (~548 MB).
**Gitignored, not committed.** On a clean checkout the library dialog opens and
lists entries, but thumbnails show an "image not fetched" note until you run
the build script below.

To fetch/refresh the images (and regenerate the registry) from the vendor
catalogs, run from the repo root:

```bash
pip install requests Pillow # script dependencies
python3 scripts/build_swatch_library.py
```

The script scrapes the Bullseye and Stained Glass Express product feeds, scores
every gallery image with the vendored swatch-picker (`scripts/swatch_picker.py`)
to select genuine backlit sheet photos, applies watermark/border crops and
physical-size calibration, and writes the registry plus a diff report to
`docs/library-picker-rebuild/`. Re-runs are incremental: images are only
re-downloaded when the picked photo actually changes, and an anti-churn rule
keeps existing picks unless the picker's preference is decisive. Manual
per-SKU overrides (Reactive Cloud crop, white-on-white picker false positives)
are documented in the script itself.

Optionally set `VITE_SWATCH_CDN_URL` at build time to serve the catalog images
from an external host instead of `frontend/public/`.

## Tech

- React + TypeScript + Vite
Expand Down
62 changes: 0 additions & 62 deletions docs/library-picker-rebuild/OWNERSHIP.md

This file was deleted.

Binary file removed docs/library-picker-rebuild/bullseye_grip_review.jpg
Binary file not shown.
Binary file not shown.
Binary file removed docs/library-picker-rebuild/contact_sheet.jpg
Binary file not shown.
Loading
Loading