Rishabh@crashedrishabh
Day 30 of #90DaysOfCoding
Canvas finally feels like a real tool. 2 days of work.
• Zoom & pan — cursor-anchored zoom, infinite panning, fit-view. Screen-to-canvas inverse transforms.
• Fixed invisible wall bug — leftover Math.max clamps blocking up/left drag.
• Fixed browser-zoom hijack — React's passive onWheel let Ctrl+wheel leak to page zoom. Native non-passive listener fixed it.
• Readable zoom — icons and labels inverse-scale up to 3× when zoomed out. Figma trick, rebuilt from scratch.
• Port consistency — strict rule: port = listening port of target resource.
All hand-built. No react-flow. dnd-kit + custom SVG bezier edges + hand-rolled viewport math.
006226















