Math pictures
Example 1. Pillow / Cushion / Astroid (Bezier cubic curves - they do not look well)
<svg width="200" height="200" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<!-- <rect width="100%" height="100%" style="fill:none; stroke:#ccc;"/> -->
<defs>
<path id="bezier_pill"
d="M 50 0 Q 46 46 0 50 L 0 0 L 50 0 Q 54 45 100 50 L 100 0 Z
M 100 50 Q 54 54 50 100 L 100 100 Z
M 50 100 Q 46 54 0 50 L 0 100 Z"
style="fill:rgba(45,95,44,0.3); stroke:rgb(45,95,44); stroke-width:1" />
</defs>
<use href="grids.svg#grid_120x120" x="0" y="0"/>
<use href="#bezier_pill" x="10" y="10"/>
</svg>
Example 2. Spandrels
<svg width="200" height="200" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<!-- <rect width="100%" height="100%" style="fill:none; stroke:#ccc;"/> -->
<defs>
<path id="arc_sector"
d="M 50 0 A 50 50 0 0 1 0 50 v -50 Z"/>
<g id="arc_pill" style="fill:rgba(45,95,44,0.3); stroke:rgb(44,95,45)">
<rect width="100" height="100" style="stroke:rgb(45,95,44); fill:none;"/>
<use href="#arc_sector"/>
<use href="#arc_sector" transform="rotate(90, 50,50)"/>
<use href="#arc_sector" transform="rotate(180, 50,50)"/>
<use href="#arc_sector" transform="rotate(270, 50,50)"/>
</g>
</defs>
<use href="grids.svg#grid_120x120" x="0" y="0"/>
<use href="#arc_pill" transform="translate(10,10)"/>
</svg>
Example 3. Quatrefoil / Four-leaf rosette
<svg width="200" height="200" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<defs>
<path id="arc_leaf"
d="M 50 0 A 50 50 0 0 1 0 50 A 50 50 0 0 1 50 0"/>
<g id="arc_leafs" style="fill:rgba(45,95,44,0.3); stroke:rgb(44,95,45)">
<rect width="100" height="100" style="stroke:rgb(45,95,44); fill:none;"/>
<use href="#arc_leaf"/>
<use href="#arc_leaf" transform="rotate(90, 50,50)"/>
<use href="#arc_leaf" transform="rotate(180, 50,50)"/>
<use href="#arc_leaf" transform="rotate(270, 50,50)"/>
</g>
</defs>
<use href="grids.svg#grid_120x120" x="0" y="0"/>
<use href="#arc_leafs" transform="translate(10,10)"/>
</svg>
Claude Opus 4.6 — Why Examples 2 and 3 appear to have different shades
Both use the same fill: rgba(45,95,44,0.3). The difference is geometry, not color.
arc_sector:M 50 0 A 50 50 0 0 1 0 50 v -50 Z— arc + straight lines + close → a solid wedge that fills a large area in the corner.arc_leaf:M 50 0 A 50 50 0 0 1 0 50 A 50 50 0 0 1 50 0— two arcs, no straight lines → a thin lens that fills much less area.
Same opacity, but less filled area → looks lighter. The perceived "shade" is simply about how much of the white background is covered by the semi-transparent fill. A fatter shape (more covered pixels) looks darker; a thinner shape looks lighter. There are no hidden layers or internal rendering tricks — it is purely a matter of geometry.
Example 4. four-leaf clover
<svg width="200" height="200" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<defs>
<path id="leaf_clover"
d="M 0 0 A 50 50 0 0 1 50 50 A 50 50 0 0 1 0 0"/>
<g id="four_leaf_clover" style="fill:rgba(45,95,44,0.3); stroke:rgb(44,95,45)">
<rect width="100" height="100" style="stroke:rgb(45,95,44); fill:none;"/>
<use href="#leaf_clover"/>
<use href="#leaf_clover" transform="rotate(90, 50,50)"/>
<use href="#leaf_clover" transform="rotate(180, 50,50)"/>
<use href="#leaf_clover" transform="rotate(270, 50,50)"/>
</g>
</defs>
<use href="grids.svg#grid_120x120" x="0" y="0"/>
<use href="#four_leaf_clover" transform="translate(10,10)"/>
</svg