feat(peers): deterministic constellation identicons across peer surfaces#108
Merged
Merged
Conversation
…om dest hash Peers are pseudonymous; raw hash-prefix initials read as noise. Each peer now gets a deterministic geometric sigil: a core node orbited by 3-5 satellites joined by spokes/chords (a tiny mesh topology), with an accent hue from an 8-hue neon-on-navy palette. Node count, rotation, orbit bands, link pattern and hue all derive from FNV-1a/mulberry32 over the hash — same hash always renders the same mark, no randomness at render time. Pure spec function with a module-level cache + React.memo keeps 100+ row lists cheap (~9 SVG elements per mark). Optional online dot and container border overrides match how PeerAvatar call sites behave today.
…ows, member sheet, thread header, nearby card Seed = destHash (handle fallback) so the same peer shows the same mark on every surface. Beacons keep the radio glyph (infrastructure, not people); groups keep GroupAvatar. ThreadHeader takes destHash so the thread mark matches the drawer row even for Anonymous peers.
…te initials Same destHash seed as drawer/thread, so tapping a map node and opening the conversation shows one continuous identity. Online keeps its existing read (opacity + iface border) — no status dot at 24px. Drops AVATAR_PALETTE + nodeAvatar dead code.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Every peer surface gets a recognizable identity mark: deterministic constellation identicons derived from the destination hash replace initials across peer rows, member sheets, thread headers, the nearby card, and the mesh map.
destHash.Scope
New
PeerIdenticonprimitive + migration across ThreadHeader, MeshMap, peer rows, member sheets, nearby card.Test
tsc clean · tier0 config/services clean · fake-money + lint clean. Reviewed: chord-loop indices always valid, seed always a string, no conditional hooks, deterministic; hash-prefix text preserved so identity never rests on the glyph.