fix(viz): forzar circulo a todos los nodos salvo Table; tapar energia inicial

- types_registry.cpp::apply_types_yaml: tras aplicar el yaml, sobreescribe
  shape de cada tipo: 'Table' → SHAPE_SQUARE, todo lo demas → SHAPE_CIRCLE.
  Convencion fija — ediciones futuras del Type Editor (issue 0007) o del
  yaml no rompen la regla.
- examples/types.yaml + project_manager.cpp seed: quitar campo `shape`,
  añadir tipo Table (cuadrado) y relacion CONTAINS_ROW (preview de 0010).
- main.cpp run_force_step: damping=0.7, max_velocity=8 explicitos para
  evitar que el grafo "explote" al cargar grafos pequenos.
- AppState repulsion: 1500 → 800 (lo mismo, aplicado al force layout).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-30 23:53:21 +02:00
parent 58e835cea6
commit f0148ac368
5 changed files with 50 additions and 25 deletions
+14 -11
View File
@@ -1,60 +1,58 @@
# Ejemplo OSINT — tipos comunes en investigacion de entidades.
# Color como "#RRGGBB" (con o sin alpha "#RRGGBBAA").
# Shapes: circle | square | diamond | hex | triangle | rounded_square
# Shapes: el campo `shape` se ignora — todos los nodos son circulo, salvo
# el tipo "Table" que es cuadrado (regla de forma aplicada en
# types_registry.cpp::apply_types_yaml).
# Iconos: nombres ti-* mapeados en types_registry.cpp::tabler_codepoint_by_name
# Estilos de relacion: solid | dashed | dotted
entities:
- name: Person
color: "#5B8DEF"
shape: circle
icon: ti-user
- name: Email
color: "#58CA8C"
shape: square
icon: ti-mail
- name: Domain
color: "#F4B860"
shape: diamond
icon: ti-world
- name: Phone
color: "#E36AC0"
shape: hex
icon: ti-phone
- name: Org
color: "#C780E8"
shape: triangle
icon: ti-building
- name: IBAN
color: "#52CDF2"
shape: rounded_square
icon: ti-building-bank
- name: Account
color: "#7FD3A0"
shape: rounded_square
icon: ti-id
- name: Document
color: "#C9C9C9"
shape: square
icon: ti-file
- name: Address
color: "#FFB870"
shape: diamond
icon: ti-map-pin
- name: Url
color: "#89E0FC"
shape: hex
icon: ti-link
# Nodo tabla — cuadrado (regla de forma). Issue 0010: contenedor con
# filas que son nodos del grafo.
- name: Table
color: "#0EA5E9"
icon: ti-database
relations:
- name: owns
color: "#888888"
@@ -75,3 +73,8 @@ relations:
- name: member_of
color: "#C780E8"
style: dashed
# Pertenencia de fila a tabla (issue 0010).
- name: CONTAINS_ROW
color: "#0EA5E9"
style: dotted