|
|
@@ -55,12 +55,13 @@ class Canvas {
|
|
|
this.rect(x - half, top + 6, x + half + 1, top + 12 + len, CREAM);
|
|
|
this.disc(x, top + 12 + len, half + 1.5, CREAM);
|
|
|
}
|
|
|
- for (let y = top; y < top + 60; y++) {
|
|
|
- const len = Math.max(0, 6 - Math.floor((y - top) / 10));
|
|
|
- for (let i = 0; i < len; i++) {
|
|
|
- this.put(x0 - 6 + i, y, CREAM);
|
|
|
- this.put(x1 + 5 - i, y, CREAM);
|
|
|
- }
|
|
|
+ // A fat rounded drop down each side, wide enough not to vanish under the outline.
|
|
|
+ for (const [x, len] of [
|
|
|
+ [x0, 26],
|
|
|
+ [x1 - 1, 34],
|
|
|
+ ]) {
|
|
|
+ this.rect(x - 7, top, x + 8, top + len, CREAM);
|
|
|
+ this.disc(x, top + len, 7.5, CREAM);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -231,7 +232,11 @@ function crepes(): Canvas {
|
|
|
const halfWidth = 330 - Math.round(layer * 1.5) + Math.round(6 * Math.sin(layer * 1.7));
|
|
|
const left = 860 - halfWidth + shift;
|
|
|
const right = 860 + halfWidth + shift;
|
|
|
- c.rect(left, top - CREPE, right, top, SPONGE);
|
|
|
+ // Rounded crêpe ends: the sides read as a stack of pancakes, not a staircase.
|
|
|
+ const r = CREPE / 2;
|
|
|
+ c.rect(left + Math.floor(r), top - CREPE, right - Math.floor(r), top, SPONGE);
|
|
|
+ c.disc(left + r - 0.5, top - r - 0.5, r, SPONGE);
|
|
|
+ c.disc(right - r - 0.5, top - r - 0.5, r, SPONGE);
|
|
|
if (top - CREPE - SPREAD > 340) c.rect(left + 12, top - CREPE - SPREAD, right - 12, top - CREPE, SPREADS[layer % 3]);
|
|
|
}
|
|
|
// Whipped cream on top.
|