feat(types): Type Editor panel — CRUD de tipos en vivo (issue 0007)

- views_type_editor: panel "Types" con tabs Entities/Relations.
  Entities: name, color picker, shape combo, icon (ti-* + cp preview),
  principal_field combo, tabla de Fields (string/int/float/bool/date/url/enum)
  con required y enum values CSV; up/down/X por fila.
  Relations: name, color, style.
  Footer Save / Reload from disk + indicador dirty + error inline.
- views_type_editor_delete_modal: confirm con conteo de entidades en uso.
- types_registry: shape_name() + shape: emit en types_save_yaml para
  round-trip estable de la cosmetica editada en UI.
- main.cpp: panel "Types" en g_panels; init types_draft tras load_input;
  want_types_save -> save + apply_types_yaml + rebuild atlas + bind +
  refresh inspector caches; want_types_reload simetrico; conteo de
  uso desde operations.db cuando se abre el modal de delete.
This commit is contained in:
2026-05-01 00:42:30 +02:00
parent 69f1afcf9e
commit f80348d604
5 changed files with 549 additions and 1 deletions
@@ -1,9 +1,10 @@
---
id: 0007
title: Type Editor panel — CRUD de tipos desde la app
status: pending
status: completed
priority: medium
created: 2026-04-30
completed: 2026-05-01
depends_on: [0005, 0006]
---