Skip to content

Culinary Mesh modular refactor with explore hero and perf optimizations#188

Merged
spe1020 merged 2 commits intomainfrom
feature/membership-rings-and-baseline-fixes
Feb 19, 2026
Merged

Culinary Mesh modular refactor with explore hero and perf optimizations#188
spe1020 merged 2 commits intomainfrom
feature/membership-rings-and-baseline-fixes

Conversation

@spe1020
Copy link
Contributor

@spe1020 spe1020 commented Feb 19, 2026

Summary

  • Refactors monolithic CulinaryMesh.svelte into focused sub-components under src/components/mesh/ and extracts utilities into src/lib/mesh/ modules
  • Adds a landing hero overlay with ambient drift animation on the explore page, linking to the full /mesh view
  • Optimizes mesh performance: non-blocking simulation settling, viewport culling, LOD image loading, O(1) adjacency lookups, cached DOM refs, single-pass canvas edge rendering
  • Cleans up nav by removing Culinary Mesh sidebar link, legend, control panel, metrics display, and Members badges

Test plan

  • Verify /explore loads with the mesh hero centered and buttons visible
  • Verify /mesh renders the interactive mesh with zoom/pan/drag working smoothly
  • Confirm no "Members" badges appear in desktop side nav or user side panel
  • Test dark mode and light mode on both pages
  • Check mobile responsiveness of the hero overlay
  • Profile with DevTools to confirm 60fps during pan/zoom with ~150 nodes

🤖 Generated with Claude Code

spe1020 and others added 2 commits February 17, 2026 22:22
Engagement-tiered recipe network: hero/notable/community tiers based on
zaps and likes, curved bezier edges for shared-culture connections,
interactive node dragging with hover highlighting, click-through
navigation for recipe and tag nodes, and a settle-then-reveal loading
UX that runs the force simulation offscreen before fading in the
final layout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…s and explore hero

- Split monolithic CulinaryMesh.svelte into focused sub-components (MeshCanvas, MeshNodes, MeshInteraction, MeshTooltip, MeshLegend, MeshZoomControls)
- Extract mesh utilities into src/lib/mesh/ modules (meshTypes, meshData, meshLayout, meshStore, meshTheme, meshViewport)
- Add landing hero overlay on explore page with ambient drift animation
- Add constellation theme, starfield, detail drawer, and control panel components
- Optimize performance: non-blocking simulation settling, viewport culling, LOD image loading, O(1) adjacency lookups, cached DOM refs, batched canvas draws
- Center hero node cluster dynamically based on container size
- Remove Culinary Mesh nav link, legend, control panel, metrics, and Members badges for cleaner UI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
frontend ecaa4bc Feb 19 2026, 01:53 AM

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the Culinary Mesh visualization into a modular architecture with significant performance enhancements, adds a landing hero overlay with animated mesh preview on the explore page, integrates membership belt badges into user profiles, and removes "Members" badges from navigation elements.

Changes:

  • Refactored monolithic CulinaryMesh.svelte into focused sub-components (MeshCanvas, MeshNodes, MeshTooltip, etc.) and extracted utilities into dedicated modules (meshTypes, meshStore, meshTheme, meshData, meshLayout, meshViewport)
  • Added interactive mesh hero overlay on /explore with ambient drift animation and optimized non-blocking simulation
  • Implemented performance optimizations: viewport culling, LOD image loading, O(1) adjacency lookups, layout caching with TTL, cached DOM refs, single-pass canvas rendering
  • Added MembershipBeltBadge component displayed inline with usernames on profile pages
  • Removed "Members" badges from desktop navigation and user side panel

Reviewed changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json, pnpm-lock.yaml Added d3-force v3.0.0 and @types/d3-force v3.0.10 dependencies for force-directed graph layout
src/lib/meshUtils.ts Re-export shim for backward compatibility with existing imports
src/lib/mesh/meshTypes.ts TypeScript type definitions for mesh nodes, edges, filters, layers, and visual themes
src/lib/mesh/meshStore.ts Svelte stores for mesh state management (filters, layers, visual theme, selected node)
src/lib/mesh/meshTheme.ts Color schemes for default and constellation visual themes
src/lib/mesh/meshLayout.ts Layout caching utilities with localStorage persistence and TTL
src/lib/mesh/meshData.ts Data fetching and graph building logic extracted from main component
src/lib/mesh/meshViewport.ts Viewport bounds calculation and culling utilities for performance
src/components/mesh/MeshCanvas.svelte Canvas-based edge rendering with viewport culling and single-pass drawing
src/components/mesh/MeshNodes.svelte Node rendering with LOD, viewport culling, and membership badge integration
src/components/mesh/MeshTooltip.svelte Tooltip component for recipe nodes
src/components/mesh/MeshStarfield.svelte Pure CSS starfield animation for constellation theme
src/components/mesh/MeshLegend.svelte Visual legend for mesh node tiers and connection types
src/components/mesh/MeshZoomControls.svelte Zoom control UI (zoom in/out/reset)
src/components/mesh/MeshDetailDrawer.svelte Side drawer with node details and touch swipe support
src/components/mesh/MeshHeroOverlay.svelte Hero section with animated mesh preview using cached DOM refs and batched updates
src/components/mesh/MeshControlPanel.svelte Control panel for filters and layer toggles (appears unused in current implementation)
src/components/CulinaryMesh.svelte Refactored main mesh component using extracted sub-components
src/components/MembershipBeltBadge.svelte SVG-based membership belt badge component with tier-specific colors
src/routes/mesh/+page.ts SSR disabled for mesh page
src/routes/mesh/+page.svelte New dedicated mesh page with loading states and zoom controls
src/routes/explore/+page.svelte Integrated mesh hero overlay with non-blocking async simulation
src/routes/user/[slug]/+page.svelte Added membership belt badge inline with username
src/components/DesktopSideNav.svelte Removed "members" badge from Groups navigation item
src/components/UserSidePanel.svelte Removed "Members" badge from The Pantry button
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@spe1020 spe1020 merged commit 7cb0737 into main Feb 19, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments