Add a hexagonal Community Home#2117
Conversation
Co-authored-by: npub1rf6fvdj6ut0c4kcmjv4p5mmgh89nj58n69uu3fz3cvk3jn500hqs7emz79 <1a7496365ae2df8adb1b932a1a6f68b9cb3950f3d179c8a451c32d194e8f7dc1@sprout-oss.stage.blox.sqprod.co> Signed-off-by: npub1rf6fvdj6ut0c4kcmjv4p5mmgh89nj58n69uu3fz3cvk3jn500hqs7emz79 <1a7496365ae2df8adb1b932a1a6f68b9cb3950f3d179c8a451c32d194e8f7dc1@sprout-oss.stage.blox.sqprod.co>
Design refinement pass on the Community Home surface (visual only — nullable selection, join/create/remove, and navigation are unchanged): - Rebuild the hex grid as a true interlocking honeycomb: pointy-top hexes that tessellate, ResizeObserver-driven sizing, and balanced rows (e.g. 5 tiles render 3+2, not 4+1) instead of a staggered grid with large gaps. - Fix hierarchy: communities now read as elevated hero tiles; join and create are lighter, additive cells rather than the heaviest elements. - Square the icon tiles, strengthen tile contrast/borders, and use a clip-path-safe drop shadow for real elevation. - Polish typography, hover/focus affordances (lift + primary outline + "Enter" hint), and add ease-out motion with reduced-motion fallbacks. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Bradley Axen <baxen@squareup.com>
🐝 Design refinement pass — Community HomeIndependent visual/design review by Honey, using the design guidance (heuristics only, no commands) from Impeccable. Underlying behavior (nullable selection, join/create/remove, navigation) is unchanged — this is a visual-only pass. BeforeThe hexes didn't interlock (large gaps → scattered, not a honeycomb), the dark Join/Create actions dominated over the actual communities, and the community tiles were washed-out and flat. AfterA true interlocking honeycomb (pointy-top tessellation, ResizeObserver-driven, balanced rows). Communities read as elevated hero tiles; Join/Create become lighter, additive cells. Icon tiles squared, contrast/borders strengthened, clip-path-safe drop shadow for real elevation. Hover / focusTile lifts with a primary outline and an "Enter →" hint; ease-out motion with a ResponsiveThe comb reflows and stays interlocked at narrow widths (hex size + columns adapt). Empty stateWith no saved communities, the two additive cells center cleanly over the helper copy. Validation: |
Co-authored-by: npub1rf6fvdj6ut0c4kcmjv4p5mmgh89nj58n69uu3fz3cvk3jn500hqs7emz79 <1a7496365ae2df8adb1b932a1a6f68b9cb3950f3d179c8a451c32d194e8f7dc1@sprout-oss.stage.blox.sqprod.co> Signed-off-by: npub1rf6fvdj6ut0c4kcmjv4p5mmgh89nj58n69uu3fz3cvk3jn500hqs7emz79 <1a7496365ae2df8adb1b932a1a6f68b9cb3950f3d179c8a451c32d194e8f7dc1@sprout-oss.stage.blox.sqprod.co>
Reframe Community Home from a grid of community tiles into a single connected honeycomb you build out — the model baxen asked for after closing #2117. - Real lattice: axial hex coordinates -> absolute pixel positions (pointy-top), ResizeObserver fit-to-container. Gapless and fully connected at any size, replacing the row-of-flexbox layout that read as floating hexes. - Center is you: a profile hex from useIdentityQuery (works with no relay), defaulting to "You". Click opens identity settings. - Peers on one board: saved communities and local managed agents (useManagedAgentsQuery, offline) spiral outward as filled hexes. - Hover to grow: idle shows only filled cells; pointer-enter/focus reveals the connected frontier — faint ghost cells plus three live create tiles (New agent / New community / Connect community). Hidden tiles are pointer-events-none so blank-area clicks can't fire them. - Wire "New agent" via requestOpenCreateAgent and mount RequestedAgentCreateDialogs here so it works before any relay. Required radius is never capped, so no profile/community/agent/create cell is ever silently dropped; MAX_RADIUS only bounds the decorative ghost ring. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Bradley Axen <baxen@squareup.com>
Community Home, re-imagined: grow your own hex latticeReworked after @baxen closed this to rethink the model. Community Home is no The model
Fresh — just youFresh — hover reveals the create frontierPopulated — your communities on the latticePopulated — hover reveals frontier + create tilesUnder the hood
Validation: biome + tsc clean · |









Why
Buzz needs a stable, useful place to land when no community is selected, rather than treating onboarding as a global mode that can wedge the app.
What
Risk Assessment
Medium — this changes Desktop startup and community-selection behavior, but is isolated to the community shell and covered by static checks, unit tests, build, and focused E2E tests.
References
cd desktop && pnpm checkcd desktop && pnpm test— 3,171 passedcd desktop && pnpm buildcd desktop && pnpm exec playwright test tests/e2e/community-home.spec.ts --project=smoke --workers=1— 4 passedGenerated with Fizz