Conversation
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>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
frontend | ecaa4bc | Feb 19 2026, 01:53 AM |
Contributor
There was a problem hiding this comment.
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.svelteinto 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
/explorewith 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
MembershipBeltBadgecomponent 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.
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.
Summary
src/components/mesh/and extracts utilities intosrc/lib/mesh/modules/meshviewTest plan
/exploreloads with the mesh hero centered and buttons visible/meshrenders the interactive mesh with zoom/pan/drag working smoothly🤖 Generated with Claude Code