Commit Graph

10 Commits

Author SHA1 Message Date
a2nr a11dd87d5a feat: add pin hover tooltip during wire aiming and implement null-safety checks for wire rendering 2026-04-10 13:59:44 +07:00
a2nr 1973b0adbc fix(simulator): prevent crosshair from activating during wire segment editing on mobile
- Add data-segment-handle attribute to segment handle circles in WireLayer
- Skip long-press aiming timer when touch targets segment handle
- Add safety checks to cancel pending timer when segment drag starts
- Ensure segment drag always takes priority over crosshair activation

This fixes the bug where accidentally holding still while dragging a wire
segment would activate the crosshair overlay and interrupt the editing workflow.
2026-04-09 11:04:05 +07:00
a2nr cd85b78b75 feat: improve mobile wiring UX with pinch-zoom preserve and crosshair
- Pinch-zoom no longer cancels wire-in-progress (preview freezes during
  2-finger gesture, resumes after)
- Full-canvas crosshair guides (8000px dashed lines) at cursor position
  during wire creation for touch precision alignment
- PinOverlay touch interaction improvements
- Segment handle scaling inverse to zoom for constant screen size
2026-04-09 09:52:08 +07:00
David Montero Crespo 4e3d5090e2 feat: add zoom support for touch interactions and enhance pin hit targets 2026-03-28 00:31:00 -03:00
David Montero Crespo de60d339c9 feat: increase zIndex for WireLayer to improve overlay visibility 2026-03-14 23:13:52 -03:00
David Montero Crespo fe89d06787 feat: implement segment dragging functionality in simulator canvas 2026-03-14 23:09:32 -03:00
David Montero Crespo 405ff1f017 Refactor wire management and rendering logic
- Updated wire structure to replace control points with waypoints for better handling of wire paths.
- Introduced new utility functions for wire hit detection and rendering segments.
- Enhanced wire creation process to support dynamic waypoints and color assignment.
- Implemented a new ESP32 worker for improved simulation handling.
- Added utility functions for generating orthogonal paths and auto-coloring wires based on pin names.
- Improved compatibility with existing projects by ensuring backward compatibility with wire data structures.
2026-03-14 22:55:13 -03:00
David Montero Crespo a07d219a7d fix: allow wires to render outside the SVG viewport for better visibility 2026-03-08 18:48:48 -03:00
David Montero Crespo c2f07665b4 feat: add react-router-dom for routing and enhance wire rendering with automatic offsets 2026-03-04 18:03:54 -03:00
David Montero Crespo 46bccde953 Add backend and frontend test suites for Arduino compilation and simulation
- Implemented a comprehensive backend test suite in `test_compilation.py` to validate the Arduino CLI installation, AVR core presence, compilation service, and API endpoint functionality.
- Created a frontend test suite in `simulation.test.ts` to test the `PinManager` and `AVRSimulator` components, ensuring proper functionality and integration.
- Introduced new components for wire management in the simulator, including `PinOverlay`, `WireInProgressRenderer`, `WireLayer`, and `WireRenderer`, enhancing the visual wiring system.
- Developed utility functions for pin position calculations and wire color management, ensuring accurate connections and visual representation.
- Added types for wire management in `wire.ts`, defining structures for wire endpoints, control points, and signal types.
2026-03-03 16:44:07 -03:00