f6361bbdca
Primera consumer migration del brazo. nakui-ui ya no llama a nakui_ui_schema::load_modules_from_dir directamente; pasa por brahman_cards::load_cards_from_dir y extrae UiModule del CardBody. Beneficios concretos: - Soporta .ncl además de .json (templates Nickel + merge funcionan en cualquier subdir de modules). - Cards de otros body kinds (Ente/Monad) se skipean limpio con toast informativo, no rompen la carga. Cambios en brahman-cards: - Nuevo load_cards_from_dir(dir) + variante con readers/filenames custom. DEFAULT_CARD_FILENAMES = [card.ncl, card.json, module.ncl, module.json] (orden de prioridad). - 4 tests nuevos del helper. Cambios en nakui-ui: - Nueva dep brahman-cards. - Helper load_ui_modules(dir) -> (Vec<Module>, Vec<String>) envuelve el brazo, filtra a UiModule, aplica Module::validate(), detecta duplicate ids. - MetaUi::new usa el helper, emite toast con cards skipped si las hay. - 3 tests e2e nuevos. 26/26 brahman-cards verdes (+4). 48/48 nakui-ui verdes (+3). Workspace build verde. nakui_ui_schema::load_modules_from_dir queda intacto (sus tests lo usan + otros consumers futuros pueden preferirlo). Migración opt-in. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
24 lines
843 B
TOML
24 lines
843 B
TOML
[package]
|
|
name = "nakui-ui"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "Nakui — runtime GPUI de la metainterfaz: carga module.json desde un directorio, monta sidebar de menús + área principal con listas y formularios sin código compilado por módulo."
|
|
|
|
[dependencies]
|
|
nakui-core = { path = "../../modules/nakui/core" }
|
|
nakui-ui-schema = { path = "../../modules/nakui/ui-schema" }
|
|
brahman-cards = { path = "../../core/brahman-cards" }
|
|
yahweh-widget-text-input = { path = "../../modules/ui_engine/widgets/text_input" }
|
|
yahweh-theme = { path = "../../modules/ui_engine/libs/theme" }
|
|
gpui = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
uuid = { workspace = true, features = ["serde"] }
|
|
|
|
[[bin]]
|
|
name = "nakui-ui"
|
|
path = "src/main.rs"
|
|
|
|
[dev-dependencies]
|
|
tempfile = { workspace = true }
|