velxio/frontend/src/utils
David Montero Crespo fdcf0d19d2 feat(canvas): ver donde cae lo que anades, y clicks con sentido
Tres cambios que van juntos porque atacan la misma queja: "anado un
elemento y a veces ni veo donde se anadio".

1. Donde cae. Ya se anclaba a la esquina visible, pero la cascada que evita
   que se apilen iba indexada por components.length: seguia avanzando
   aunque movieras o borraras piezas, asi que las caidas se alejaban cada
   vez mas de donde estabas mirando. Ahora toma el primer hueco LIBRE desde
   la esquina, bajando en diagonal; si apartas la ultima, la siguiente
   recupera su sitio. Extraido a utils/dropSlot con 8 tests, incluido el
   caso de "la apartaron" y el tope para no salirse de la vista.

2. Que se vea. El recien anadido queda seleccionado, y la seleccion pasa de
   un borde discontinuo quieto a un caminito de hormigas. El movimiento es
   lo que capta el ojo en un canvas lleno; un borde fijo se pierde. Va en
   un pseudo-elemento por fuera del cuerpo, sin robar clicks ni tapar el
   dibujo, y se queda quieto si el sistema pide menos animacion.

3. Clicks. El izquierdo SELECCIONA y ya esta; antes abria el panel de
   propiedades, o sea que no podias ni senalar una pieza sin comerte un
   popup que luego habia que cerrar. Propiedades y pines pasan al click
   derecho, que es donde va lo deliberado. En tactil se mantiene tocar ->
   panel, que ahi no hay boton derecho.
2026-07-30 15:40:52 +02:00
..
analytics.ts
boardPinMapping.ts fix(pi): perifericos completos en la familia Pi — entradas, buses y pines 2026-07-29 17:05:39 +02:00
boardProtocols.ts fix(uart): la Pi puede hablar por serie con la placa de al lado 2026-07-29 07:40:13 +02:00
breadboardNets.ts feat: breadboard (full 830-point) + mini breadboard (170-point) parts 2026-07-15 21:50:36 +02:00
breadboardOccupancy.ts feat(breadboard): one-hole-one-wire selection rules + jumper colors 2026-07-21 05:49:23 +02:00
breadboardSnap.ts fix(breadboard): land agent-seated parts exactly under rotation 2026-07-19 22:01:41 +02:00
captureCanvasPreview.ts
compilationLogger.ts
countryFlag.ts
dropSlot.ts feat(canvas): ver donde cae lo que anades, y clicks con sentido 2026-07-30 15:40:52 +02:00
esp32ImageParser.ts
exampleToBuildNetlistInput.ts
fatImage.ts
firmwareLoader.ts
generateExamplePreview.tsx
hexParser.ts
importProject.ts
keyButtonBindings.ts feat(simulator): map pushbuttons to keyboard keys 2026-07-18 04:02:01 +02:00
loadExample.ts feat(pi-family): unified editor UX — Monaco + explorer + bottom xterm, one file surface 2026-07-28 19:43:20 +02:00
piUpload.ts feat(pi-family): one-click run UX — autoRun + guestHome + clean serial mirror 2026-07-28 16:28:02 +02:00
pinPositionCalculator.ts feat(breadboard): green dots on pins plugged into a breadboard 2026-07-20 04:48:16 +02:00
projectPayload.ts
reservedUsernames.ts
sdCardFiles.ts
socketSnap.ts fix(canvas): las placas solo pintan encima cuando estan POSADAS en un zocalo 2026-07-28 15:22:56 +02:00
useSEO.ts
useTouchDevice.ts
uuid.ts
vlxFile.ts fix(editor): sync URL after New workspace + sever project identity on .vlx import 2026-07-18 08:24:06 +02:00
wireAutoRoute.ts fix(router): escape corridors for endpoint-in-obstacle + checked-elbow parity 2026-07-20 21:35:58 +02:00
wireColors.ts
wireHitDetection.ts feat(breadboard): Wokwi-style parts-on-breadboard — hole snapping + invisible seating wires 2026-07-18 08:47:25 +02:00
wireUtils.ts feat(breadboard): one-hole-one-wire selection rules + jumper colors 2026-07-21 05:49:23 +02:00
wokwiZip.ts feat(breadboard): Wokwi-style parts-on-breadboard — hole snapping + invisible seating wires 2026-07-18 08:47:25 +02:00
workspaceDraft.ts feat(editor): preserve in-progress workspace across a login redirect 2026-07-17 06:27:28 +02:00