Skip to content

style(bd): nodos cuadrados 60x60, labels independientes, selección dashed-box, fix precedencia#72

Merged
anlaco merged 3 commits into
mainfrom
style/bd-visual-overhaul
Apr 22, 2026
Merged

style(bd): nodos cuadrados 60x60, labels independientes, selección dashed-box, fix precedencia#72
anlaco merged 3 commits into
mainfrom
style/bd-visual-overhaul

Conversation

@anlaco
Copy link
Copy Markdown
Owner

@anlaco anlaco commented Apr 22, 2026

Summary

  • Nodos cuadrados 60×60 estilo LabVIEW (block-width/height: 120×50 → 60×60)
  • Labels BD independientes — posición fuera del nodo (3px gap), arrastrables con offset, igual que el FP
  • Selección dashed-box — discontinua como LabVIEW y FP, con dashed-box separada para label
  • Colores de textocol-text (blanco) dentro de nodos oscuros, col-text-label (negro) para labels/port labels sobre canvas claro
  • Fix pen vs fill-pen — Draw text usa pen para color, no fill-pen
  • Fix precedencia operadoresnode-height y fp-cluster-height parentizan (max n * 20)
  • Fix text-dy/fp-text-dy — eliminada compensación GTK (ya corregido en fork anlaco/red)
  • Serializar label/offset en .qvi para round-trip
  • make-label default offset0x-150x0

Test plan

  • 558/558 tests PASS
  • Visual: nodos aparecen cuadrados 60×60
  • Visual: labels aparecen arriba del nodo, texto negro
  • Visual: type-label ("ADD +") blanco dentro del nodo
  • Visual: selección muestra dashed-box discontinuo
  • Visual: label arrastrable independientemente del nodo
  • Visual: guardar/cargar .qvi preserva label/offset

anlaco added 3 commits April 22, 2026 22:12
- tcp-api.md: referencia completa de la API TCP nativa en red-cli/red-view
- skills/red-lang/SKILL.md: skill de Red-Lang con sintaxis, View, Draw, Parse, TCP
- CLAUDE.md: referencias actualizadas

TCP integrado como objeto de bajo nivel (tcp/connect, tcp/send, tcp/receive, etc.)
para soporte nativo de SCPI, Modbus y protocolos custom en Fase 4.
SCPI y VISA son conceptos distintos (protocolo vs transporte) que no
debemos mezclar. QTorres ofrece bloques TCP/USBTMC genéricos; el usuario
elige qué string enviar (comandos de instrumento, Modbus, HTTP, etc.).

Cambios:
- CLAUDE.md: lista de issues Fase 4 + nota aclaratoria
- docs/plan.md: sección "comunicación con instrumentación"
- docs/roadmap-9-10.md: título Fase 4, ejemplo tcp-query
- docs/decisiones.md: DT-029 ejemplo con tcp-write-block
- docs/ai-reference.md: mención de hardware genérico
- docs/tcp-api.md: casos de uso genéricos, nota aclaratoria
- skills/red-lang/SKILL.md: ejemplo TCP genérico
…o, selección dashed-box, fix precedencia operadores

- block-width/height: 120x50 → 60x60 (nodos cuadrados estilo LabVIEW)
- Label del BD como entidad independiente arrastrable, posición encima del nodo (bd-label-above: 3px)
- type-label fijo dentro del nodo, solo label de usuario se mueve con offset
- Selección con dashed-box (discontinuous) en vez de box sólido, igual que FP
- Dashed-box separada para label cuando nodo seleccionado
- col-text (blanco) solo dentro de nodos oscuros, col-text-label (negro) para labels sobre canvas claro
- pen en vez de fill-pen para color de texto Draw (fix: fill-pen no colorea texto en GTK)
- text-dy/fp-text-dy: [8] → [0] (fix GTK ya corregido en fork anlaco/red)
- Fix precedencia operadores: node-height y fp-cluster-height parentizan (max * 20)
- Serializar label/offset en .qvi para round-trip
- make-label default offset: 0x-15 → 0x0
@anlaco anlaco merged commit 40e20e9 into main Apr 22, 2026
2 checks passed
anlaco added a commit that referenced this pull request May 11, 2026
…73)

- Rename QTorres → Telekino en nombre, repo y src/telekino.red
- Fase 3 marcada completada (#17, #18, #64, #65, #71, #72)
- Fase 4 #19 TCP/IP marcado como cerrado (2026-04-21)
- Tests: 482 → 558
- canvas.red: 2383 → 1307 líneas (actualizado)
- Última actualización: 2026-05-11
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