← back to Damask Kaleidoscope
README.md
33 lines
# Designer Wallcoverings — Damask Kaleidoscope
A single self-contained `index.html`: a luxury **8-fold damask kaleidoscope** for the DW brand.
Open the file in any modern browser — no build, no dependencies.
## What it does
- **True kaleidoscope reflection** — an evolving damask motif is drawn to an offscreen
source canvas, then a wedge is clipped and mirror-tiled 16× (8 mirrored pairs) for
seamless **8-fold dihedral** symmetry.
- **Fixed 56px top bar** above the canvas: DW wordmark left (Cormorant Garamond, white,
uppercase, `.18em`), a `↻ Click to shift palette` hint, and a live **palette pill** on
the right whose dot tracks the palette's secondary bloom colour.
- **Bezier damask motif** — the radial ornament is built from `bezierCurveTo` anchors:
ogee (S-curve) vines, lobed **acanthus leaf/petal** forms, and a central **urn**.
The kaleidoscope oscillation is applied to those bezier anchor points, so petals and
the urn breathe and warp.
- **Mandatory Royal palette** (default): ground `#0d0b07`, champagne `#EDE0C4`, crisp gold
petals `#C8A951`, carmine secondary bloom `#B5335A` — petal-vs-ground hue contrast kept
60°+ so it pops (no muddy warm beige). Sapphire / Emerald / Amethyst also included.
- Mouse-warp symmetry, click (or tap) cycles palettes with a crossfade, center gold sheen,
vignette overlay, time-based 60fps loop, `prefers-reduced-motion` aware.
## History
- `v2.0.0` — merged the strong wedge-mirror engine from the earlier rebuild with full
compliance to the original challenge spec (56px top bar, Royal + carmine palette,
Cormorant Garamond wordmark, 8-fold), which the interim rebuild had dropped.
- `v2.1.0` — **density pass** to kill the "starburst" read: half-step filler ogee arms
fill the angular gaps at every radius; a tight inner acanthus collar + a faint
concentric guilloché lattice + a warm bronze floor lift the inter-motif voids from
dead black to gilt ground. (Also fixed a real bug: a large off-center kaleidoscope
sample broke the per-wedge mirror symmetry — odd wedges are `scale(1,-1)` but the
offset wasn't — producing alternating black pie-slices; the offset is now a whisper.)