docs: draft ten logo concepts
Eight fresh directions plus two refinements of the shipped mark, each authored as a real currentColor SVG in the app's house style rather than as a description, so any of them can be dropped straight in and the favicon tile is a mechanical derivation. Every mark was rendered at 120/32/24/16px and looked at, which changed the set three times: the braid came out as a plain multiplication sign and was rebuilt with actual over/under crossings, the anchor was rebalanced to three-fold symmetry, and the first return-arc read even more like a copyright glyph than the current one. The finding that matters is not one of the eight. The mark shipping today fails at 16px — its outer strokes drop out to rasterisation and the 2.5px gap to the node fills in, so the favicon renders as a smear. Concept 09 fixes that in five lines and is worth taking regardless of whether anything here replaces the mark. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Venn core">
|
||||
<title>Venn core</title>
|
||||
<!-- Two participants; the filled lens is the memory they hold in common. -->
|
||||
<g fill="none" stroke="currentColor" stroke-width="5" opacity=".5">
|
||||
<circle cx="24" cy="32" r="15"/>
|
||||
<circle cx="40" cy="32" r="15"/>
|
||||
</g>
|
||||
<path d="M32 19.31A15 15 0 0 1 32 44.69 15 15 0 0 1 32 19.31Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 470 B |
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Handoff">
|
||||
<title>Handoff</title>
|
||||
<!-- Two sessions facing each other, passing one memory between them. -->
|
||||
<g fill="none" stroke="currentColor" stroke-width="6.5" stroke-linecap="round" opacity=".65">
|
||||
<path d="M26 16Q10 32 26 48"/>
|
||||
<path d="M38 16Q54 32 38 48"/>
|
||||
</g>
|
||||
<circle cx="32" cy="32" r="7" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 451 B |
@@ -0,0 +1,16 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Braid">
|
||||
<title>Braid</title>
|
||||
<!--
|
||||
Two independent threads woven into one strand - neither is subordinate,
|
||||
and the weave is what holds. Crossings computed at (20,32) and (44,32);
|
||||
the mask punches the first one so strand A reads as passing over it.
|
||||
-->
|
||||
<mask id="sm-braid-gap">
|
||||
<rect width="64" height="64" fill="#fff"/>
|
||||
<circle cx="20" cy="32" r="6.25" fill="#000"/>
|
||||
</mask>
|
||||
<g fill="none" stroke="currentColor" stroke-width="6.5" stroke-linecap="round">
|
||||
<path d="M8 20C20 20 20 44 32 44 44 44 44 20 56 20" opacity=".75"/>
|
||||
<path d="M8 44C20 44 20 20 32 20 44 20 44 44 56 44" mask="url(#sm-braid-gap)"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 762 B |
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Return arc">
|
||||
<title>Return arc</title>
|
||||
<!-- Write, leave, come back to it. The gap is where the next session enters. -->
|
||||
<path d="M42.3 46.7A18 18 0 1 1 42.3 17.3" fill="none" stroke="currentColor"
|
||||
stroke-width="6.5" stroke-linecap="round" opacity=".7"/>
|
||||
<circle cx="30" cy="32" r="7.5" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 438 B |
@@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Anchor">
|
||||
<title>Anchor</title>
|
||||
<!-- One fixed point that separate agents reference from wherever they are. -->
|
||||
<g fill="none" stroke="currentColor" stroke-width="6" stroke-linecap="round" opacity=".6">
|
||||
<path d="M32 8V20"/>
|
||||
<path d="M11.2 44L21.6 38"/>
|
||||
<path d="M52.8 44L42.4 38"/>
|
||||
</g>
|
||||
<circle cx="32" cy="32" r="8.5" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 475 B |
@@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Spine">
|
||||
<title>Spine</title>
|
||||
<!-- An index: many entries on one shared spine, the active one reaching furthest. -->
|
||||
<g fill="none" stroke="currentColor" stroke-width="6" stroke-linecap="round">
|
||||
<path d="M16 13V51"/>
|
||||
<path d="M16 21H34" opacity=".5"/>
|
||||
<path d="M16 32H42"/>
|
||||
<path d="M16 43H34" opacity=".5"/>
|
||||
</g>
|
||||
<circle cx="52" cy="32" r="5" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 504 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Knot">
|
||||
<title>Knot</title>
|
||||
<!-- One continuous thread with no start and no end; it persists past any session. -->
|
||||
<path d="M32 32C38 20 50 20 50 32 50 44 38 44 32 32 26 20 14 20 14 32 14 44 26 44 32 32Z"
|
||||
fill="none" stroke="currentColor" stroke-width="6.5" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 410 B |
@@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Triad">
|
||||
<title>Triad</title>
|
||||
<!-- The smallest possible shared graph: three peers, one currently speaking. -->
|
||||
<path d="M32 16L17 44H47Z" fill="none" stroke="currentColor" stroke-width="5"
|
||||
stroke-linejoin="round" opacity=".4"/>
|
||||
<g fill="currentColor">
|
||||
<circle cx="32" cy="16" r="7"/>
|
||||
<circle cx="17" cy="44" r="7" opacity=".55"/>
|
||||
<circle cx="47" cy="44" r="7" opacity=".55"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 524 B |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Current mark, rebalanced">
|
||||
<title>Current mark, rebalanced</title>
|
||||
<!--
|
||||
The shipped mark with three changes aimed at 16px: strokes stop earlier so
|
||||
the gap to the node survives rasterisation, outer opacity raised .45 -> .7
|
||||
so the neighbours don't drop out, node enlarged 7.5 -> 8.5.
|
||||
-->
|
||||
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="7">
|
||||
<path d="M12 16C24 16 25 32 30 32" opacity=".7"/>
|
||||
<path d="M12 32H30"/>
|
||||
<path d="M12 48C24 48 25 32 30 32" opacity=".7"/>
|
||||
</g>
|
||||
<circle cx="46" cy="32" r="8.5" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 694 B |
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 292 64" width="292" height="64" role="img" aria-label="shared-memory">
|
||||
<title>shared-memory lockup</title>
|
||||
<!-- Horizontal lockup: rebalanced mark + monospace wordmark on a shared baseline. -->
|
||||
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="7">
|
||||
<path d="M12 16C24 16 25 32 30 32" opacity=".7"/>
|
||||
<path d="M12 32H30"/>
|
||||
<path d="M12 48C24 48 25 32 30 32" opacity=".7"/>
|
||||
</g>
|
||||
<circle cx="46" cy="32" r="8.5" fill="currentColor"/>
|
||||
<text x="72" y="41" fill="currentColor"
|
||||
font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
|
||||
font-size="26" letter-spacing="-0.8">shared<tspan opacity=".45">-</tspan>memory</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 751 B |