# artnouveau.in — Art.n Architects website

Static site, rebuilt July 2026 (quiet-luxury editorial design: warm paper,
Cormorant Garamond + Archivo, calm motion). No framework, no CMS — plain
HTML/CSS/JS generated by Node scripts, so it stays maintainable.
The earlier dark "drafting board" design is preserved at git tag `v1-dark-drafting`.

## Branches

| branch | contents |
|---|---|
| `main` | backup mirror of the OLD live site (taken 2026-07-05) — do not build from this |
| `development` | design mockups v1–v5 + reference moodboard (`redesign/v1/`) |
| `production` | the new site: sources, tools and generated `dist/` |

## Layout (production branch)

- `dist/` — **the complete generated website.** Deploying = uploading this folder.
- `src/data/projects.json` — all 33 projects: titles, categories, blurbs, photo lists. Edit this to change project content.
- `src/data/site.json` — contact details, offices, team list, principal bio.
- `src/data/home.json` — which projects/photos the homepage features.
- `src/css/site.css`, `src/js/site.js` — the design system (shared by every page).
- `img/` — original photos (source of truth; never deleted).
- `docs-photo-issues.md` — photo problems found during review (reshoot checklist).

## Commands

```
npm install --legacy-peer-deps   # once per machine
npm run images                   # only after adding/changing photos (regenerates WebP variants)
node tools/images-extra.js       # team photos + OG image
npm run build                    # regenerate all pages in dist/ (fast, run after any src/ edit)
node tools/serve.js 8123         # preview at http://localhost:8123
```

## Adding a new project

1. Put photos in `img/projects/<Name>/`.
2. Add an entry to `src/data/projects.json` (copy an existing one; `images` paths are repo-relative).
3. `npm run images`, then `npm run build`.

## Notes

- All vendor libraries (GSAP, Lenis, three.js, model-viewer, GLightbox) and fonts are
  vendored locally in `dist/assets/` — the site has zero external runtime dependencies.
- The 3D section uses a procedural massing model (`src/3d/massing.glb`, generated by
  `tools/make-glb.js`). Replace with a real GLB export from SketchUp/Revit when available.
- Old live-site URLs (e.g. `portfolio Achayans cafe.html`) redirect to the new clean URLs
  via stub pages in `dist/`.
- Tender system (tender.artnouveau.in) is separate — this site only links to it.
