← back to Damask Kaleidoscope
auto-save: 2026-07-25T08:35:01 (1 files) — index.html
cdcbfd943823b58ab3f3e4bca9b3248f64869412 · 2026-07-25 08:35:09 -0700 · Steve Abrams
Files touched
Diff
commit cdcbfd943823b58ab3f3e4bca9b3248f64869412
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat Jul 25 08:35:09 2026 -0700
auto-save: 2026-07-25T08:35:01 (1 files) — index.html
---
index.html | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/index.html b/index.html
index ea41c81..d423301 100644
--- a/index.html
+++ b/index.html
@@ -222,12 +222,29 @@
g.restore();
}
+ // filler ring — small acanthus buds set BETWEEN the arms to close the dark
+ // gaps and soften the spoke read; alternating gold/carmine, breathing.
+ const FILL = 12;
+ for (let k=0; k<FILL; k++){
+ const a = (k/FILL)*Math.PI*2 + Math.PI/FILL + swirl*0.25;
+ const rr = rs*(0.50 + 0.06*Math.sin(t*1.2 + k));
+ const bud = rs*0.13*(0.85 + 0.2*Math.sin(t*1.5 + k));
+ drawLeaf(g, Math.cos(a)*rr, Math.sin(a)*rr, a + Math.PI/2, bud, (k%2?1:-1), pal, amp, t, k*0.9, k%3===0);
+ }
+ // a tighter inner bud ring for mid-radius density
+ const FILL2 = 8;
+ for (let k=0; k<FILL2; k++){
+ const a = (k/FILL2)*Math.PI*2 + swirl*0.18;
+ const rr = rs*0.34;
+ drawLeaf(g, Math.cos(a)*rr, Math.sin(a)*rr, a + Math.PI/2, rs*0.10, (k%2?-1:1), pal, amp, t, k*1.3+2, false);
+ }
+
// central medallion bloom (gilt sheen at the very center) — additive
g.globalCompositeOperation = "lighter";
- const mr = rs * (0.15 + 0.03*Math.sin(t*0.9));
+ const mr = rs * (0.11 + 0.025*Math.sin(t*0.9));
const med = g.createRadialGradient(0,0,0,0,0,mr);
- med.addColorStop(0, rgbaOf(pal.champ, 0.9));
- med.addColorStop(0.4, rgbaOf(pal.gold, 0.55));
+ med.addColorStop(0, rgbaOf(pal.champ, 0.6));
+ med.addColorStop(0.4, rgbaOf(pal.gold, 0.38));
med.addColorStop(1, rgbaOf(pal.gold, 0));
g.fillStyle = med;
g.beginPath(); g.arc(0,0,mr,0,Math.PI*2); g.fill();
@@ -240,7 +257,7 @@
// and lip anchors oscillate with time + pointer warp (the kaleidoscope osc).
function drawUrn(g, rs, t, pal, amp) {
const o = Math.sin(t*1.1) * (0.5 + amp); // anchor oscillator
- const s = rs * 0.30; // urn scale
+ const s = rs * 0.42; // urn scale — enlarged so the form reads
const shoulder = 1 + 0.10*o; // belly bulge
const lip = 1 + 0.14*o; // flared lip
@@ -418,9 +435,9 @@
ctx.restore();
// center gold sheen (hub)
- const hub = ctx.createRadialGradient(cx,cy,0,cx,cy,R*0.11);
- hub.addColorStop(0, rgbaOf(curPal.champ,0.60));
- hub.addColorStop(0.45, rgbaOf(curPal.gold,0.20));
+ const hub = ctx.createRadialGradient(cx,cy,0,cx,cy,R*0.10);
+ hub.addColorStop(0, rgbaOf(curPal.champ,0.42));
+ hub.addColorStop(0.45, rgbaOf(curPal.gold,0.14));
hub.addColorStop(1, rgbaOf(curPal.gold,0));
ctx.globalCompositeOperation = "lighter";
ctx.fillStyle = hub;
← abb6422 v2.0.0: restore challenge spec compliance (56px top bar, Roy
·
back to Damask Kaleidoscope
·
v2.1.0: density pass — filler ogee arms + inner acanthus col b4ec0dc →