Skip to content

Bring accumulated layout and canvas fixes to main - #39

Open
hiabhee wants to merge 6 commits into
mainfrom
feat/edges-shortest-distance
Open

hiabhee wants to merge 6 commits into
mainfrom
feat/edges-shortest-distance

Conversation

@hiabhee

@hiabhee hiabhee commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Summary

This PR brings the accumulated perf/home-page and diagram work onto main:

  • Improve landing-page loading and icon delivery, and update the associated SEO documentation.
  • Improve edge attachment selection, fan lanes, route conflict handling, labels, and diagram layout repair.
  • Repair ArchDraw template connectivity and identify its main flow.
  • Stabilize canvas drag snapping, selection dragging, and geometry planning while nodes move.

Validation

  • npm run build — passed; all 248 static pages generated. Some pages exceeded Next.js's 60-second attempt window and succeeded on automatic retries.
  • npm run mcp:build — passed.
  • Targeted canvas/snapping/geometry tests — 55/55 passed.
  • Full Vitest run — 251 files passed, 2 failed; 1,873 tests passed, 2 failed. The failures are existing layout ratchets:
    • archdraw_self:LR straight-link ratio 0.941 vs 1.0.
    • food_delivery:TD fitted title size 10.81px vs 12.1px.

- ProviderServiceIcon imported @react-icons-cloud/aws statically: ~500
  icons in one pre-bundled file that can't be tree-shaken (241 KB, 96%
  unused on the home page). It now loads the first time an AWS component
  renders, shared by all of them, with the path glyph until then.
- LazyLiveMapHero: on phones the observer fired during hydration, so the
  map's JavaScript competed with the first paint. When it is only visible
  it now waits for the load event and requestIdleCallback; interaction
  still loads it at once.

Local production builds, 3 Lighthouse mobile runs each (medians), main vs
branch: unused JS 292 -> 43 KiB, TBT 219 -> 177 ms, Speed Index 2,529 ->
2,347 ms, score 84 -> 85. Simulated LCP unchanged (~3.85 s); observed LCP
is 224 ms, with the first paint. experimental.inlineCss was tried and
dropped (946 KB HTML, score 75).

SEO.md: section 11c (measure before optimising) and change-log rows.
- Draw edges of one fan on nested 14px lanes (fanLaneSeparation) as the
  last step of optimizeEdgeRoutes.
- Treat groups as passable empty space so edges take the shortest way
  around cards only (EXP_GROUP_WALLS restores the old walls).
- Step edge labels beside the line when every spot on it covers a card.
- Give studio-minimal columns a 72px corridor (EXP_NS48 restores 48).
- Shared viewer zooms on wheel; MCP preview widget URI bumped to v3.
@vercel

vercel Bot commented Nov 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
arch-draw Ready Ready Preview Nov 10, 2026 9:33pm UTC

@coderabbitai

coderabbitai Bot commented Nov 10, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 99f8812b-4686-4c70-a53b-b5e909faa764
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

This branch was successfully deployed

1 active deployment
Preview — bac098a8 Deployed Nov 10, 2026 by vercel[bot]
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