chore: preparar publicación a crates.io (publish=true, versiones en deps, descriptions, repository, orden topológico + script)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-06-18 18:27:14 +00:00
parent 1a205c764d
commit dba855e446
100 changed files with 329 additions and 109 deletions
+109 -109
View File
@@ -25,13 +25,13 @@ edition = "2021"
rust-version = "1.80" rust-version = "1.80"
license = "MIT" license = "MIT"
authors = ["Sergio <gerencia@jlsoltech.com>"] authors = ["Sergio <gerencia@jlsoltech.com>"]
publish = false publish = true
repository = "https://git.tawasuyu.net/tawasuyu/llimphi" repository = "https://git.tawasuyu.net/tawasuyu/llimphi"
[workspace.dependencies] [workspace.dependencies]
# === Registro de apps / menú global === # === Registro de apps / menú global ===
app-bus = { path = "shared/app-bus" } app-bus = { path = "shared/app-bus", version = "0.1.0" }
foreign-vox = { path = "shared/foreign-vox" } foreign-vox = { path = "shared/foreign-vox", version = "0.1.0" }
# === Serialización === # === Serialización ===
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = "1" serde_json = "1"
@@ -172,78 +172,78 @@ accesskit = "0.24"
accesskit_winit = "0.33" accesskit_winit = "0.33"
vello_hybrid = "0.0.9" vello_hybrid = "0.0.9"
# Bucle Elm (input→update→view→layout→raster→present). Lo consumen las apps. # Bucle Elm (input→update→view→layout→raster→present). Lo consumen las apps.
llimphi-ui = { path = "llimphi-ui" } llimphi-ui = { path = "llimphi-ui", version = "0.1.0" }
# Paleta semántica compartida por las apps y los widgets. # Paleta semántica compartida por las apps y los widgets.
llimphi-theme = { path = "llimphi-theme" } llimphi-theme = { path = "llimphi-theme", version = "0.1.0" }
# Tweens y helpers de animación sobre el bucle Elm. # Tweens y helpers de animación sobre el bucle Elm.
llimphi-motion = { path = "llimphi-motion" } llimphi-motion = { path = "llimphi-motion", version = "0.1.0" }
# Iconos vectoriales (BezPath en grid 24×24) compartidos por todas las apps. # Iconos vectoriales (BezPath en grid 24×24) compartidos por todas las apps.
llimphi-icons = { path = "llimphi-icons" } llimphi-icons = { path = "llimphi-icons", version = "0.1.0" }
# Widgets reusables sobre llimphi-ui — uno por crate. # Widgets reusables sobre llimphi-ui — uno por crate.
llimphi-widget-app-header = { path = "widgets/app-header" } llimphi-widget-app-header = { path = "widgets/app-header", version = "0.1.0" }
llimphi-widget-banner = { path = "widgets/banner" } llimphi-widget-banner = { path = "widgets/banner", version = "0.1.0" }
llimphi-widget-button = { path = "widgets/button" } llimphi-widget-button = { path = "widgets/button", version = "0.1.0" }
llimphi-widget-card = { path = "widgets/card" } llimphi-widget-card = { path = "widgets/card", version = "0.1.0" }
llimphi-clipboard = { path = "widgets/clipboard" } llimphi-clipboard = { path = "widgets/clipboard", version = "0.1.0" }
llimphi-widget-context-menu = { path = "widgets/context-menu" } llimphi-widget-context-menu = { path = "widgets/context-menu", version = "0.1.0" }
llimphi-widget-edit-menu = { path = "widgets/edit-menu" } llimphi-widget-edit-menu = { path = "widgets/edit-menu", version = "0.1.0" }
llimphi-widget-menubar = { path = "widgets/menubar" } llimphi-widget-menubar = { path = "widgets/menubar", version = "0.1.0" }
llimphi-widget-list = { path = "widgets/list" } llimphi-widget-list = { path = "widgets/list", version = "0.1.0" }
llimphi-widget-grid = { path = "widgets/grid" } llimphi-widget-grid = { path = "widgets/grid", version = "0.1.0" }
llimphi-widget-slider = { path = "widgets/slider" } llimphi-widget-slider = { path = "widgets/slider", version = "0.1.0" }
llimphi-widget-scroll = { path = "widgets/scroll" } llimphi-widget-scroll = { path = "widgets/scroll", version = "0.1.0" }
llimphi-widget-splitter = { path = "widgets/splitter" } llimphi-widget-splitter = { path = "widgets/splitter", version = "0.1.0" }
llimphi-widget-stat-card = { path = "widgets/stat-card" } llimphi-widget-stat-card = { path = "widgets/stat-card", version = "0.1.0" }
llimphi-widget-tabs = { path = "widgets/tabs" } llimphi-widget-tabs = { path = "widgets/tabs", version = "0.1.0" }
llimphi-module-command-palette = { path = "modules/command-palette" } llimphi-module-command-palette = { path = "modules/command-palette", version = "0.1.0" }
llimphi-module-diff-viewer = { path = "modules/diff-viewer" } llimphi-module-diff-viewer = { path = "modules/diff-viewer", version = "0.1.0" }
llimphi-module-fif = { path = "modules/fif" } llimphi-module-fif = { path = "modules/fif", version = "0.1.0" }
llimphi-module-file-picker = { path = "modules/file-picker" } llimphi-module-file-picker = { path = "modules/file-picker", version = "0.1.0" }
llimphi-module-bookmarks = { path = "modules/bookmarks" } llimphi-module-bookmarks = { path = "modules/bookmarks", version = "0.1.0" }
llimphi-module-mini-map = { path = "modules/mini-map" } llimphi-module-mini-map = { path = "modules/mini-map", version = "0.1.0" }
llimphi-module-shuma-term = { path = "modules/shuma-term" } llimphi-module-shuma-term = { path = "modules/shuma-term", version = "0.1.0" }
llimphi-module-symbol-outline = { path = "modules/symbol-outline" } llimphi-module-symbol-outline = { path = "modules/symbol-outline", version = "0.1.0" }
llimphi-plugin-host = { path = "modules/plugin-host" } llimphi-plugin-host = { path = "modules/plugin-host", version = "0.1.0" }
llimphi-widget-theme-switcher = { path = "widgets/theme-switcher" } llimphi-widget-theme-switcher = { path = "widgets/theme-switcher", version = "0.1.0" }
llimphi-widget-text-area = { path = "widgets/text-area" } llimphi-widget-text-area = { path = "widgets/text-area", version = "0.1.0" }
llimphi-widget-text-editor-core = { path = "widgets/text-editor-core" } llimphi-widget-text-editor-core = { path = "widgets/text-editor-core", version = "0.1.0" }
llimphi-widget-text-editor = { path = "widgets/text-editor" } llimphi-widget-text-editor = { path = "widgets/text-editor", version = "0.1.0" }
llimphi-widget-text-editor-lsp = { path = "widgets/text-editor-lsp" } llimphi-widget-text-editor-lsp = { path = "widgets/text-editor-lsp", version = "0.1.0" }
llimphi-widget-text-input = { path = "widgets/text-input" } llimphi-widget-text-input = { path = "widgets/text-input", version = "0.1.0" }
llimphi-widget-tiled = { path = "widgets/tiled" } llimphi-widget-tiled = { path = "widgets/tiled", version = "0.1.0" }
llimphi-widget-nodegraph = { path = "widgets/nodegraph" } llimphi-widget-nodegraph = { path = "widgets/nodegraph", version = "0.1.0" }
llimphi-widget-tree = { path = "widgets/tree" } llimphi-widget-tree = { path = "widgets/tree", version = "0.1.0" }
llimphi-widget-navigator = { path = "widgets/navigator" } llimphi-widget-navigator = { path = "widgets/navigator", version = "0.1.0" }
# Sello vectorial wawa (rombo + W implícita + Merkle Core). # Sello vectorial wawa (rombo + W implícita + Merkle Core).
llimphi-widget-wawa-mark = { path = "widgets/wawa-mark" } llimphi-widget-wawa-mark = { path = "widgets/wawa-mark", version = "0.1.0" }
# Widgets de elegancia transversal (tooltip, spinner, progress, toast, # Widgets de elegancia transversal (tooltip, spinner, progress, toast,
# modal, empty, status-bar, shortcuts-help, splash). # modal, empty, status-bar, shortcuts-help, splash).
llimphi-widget-tooltip = { path = "widgets/tooltip" } llimphi-widget-tooltip = { path = "widgets/tooltip", version = "0.1.0" }
llimphi-widget-spinner = { path = "widgets/spinner" } llimphi-widget-spinner = { path = "widgets/spinner", version = "0.1.0" }
llimphi-widget-progress = { path = "widgets/progress" } llimphi-widget-progress = { path = "widgets/progress", version = "0.1.0" }
llimphi-widget-toast = { path = "widgets/toast" } llimphi-widget-toast = { path = "widgets/toast", version = "0.1.0" }
llimphi-widget-modal = { path = "widgets/modal" } llimphi-widget-modal = { path = "widgets/modal", version = "0.1.0" }
llimphi-widget-empty = { path = "widgets/empty" } llimphi-widget-empty = { path = "widgets/empty", version = "0.1.0" }
llimphi-widget-status-bar = { path = "widgets/status-bar" } llimphi-widget-status-bar = { path = "widgets/status-bar", version = "0.1.0" }
llimphi-widget-shortcuts-help = { path = "widgets/shortcuts-help" } llimphi-widget-shortcuts-help = { path = "widgets/shortcuts-help", version = "0.1.0" }
llimphi-widget-timeline = { path = "widgets/timeline" } llimphi-widget-timeline = { path = "widgets/timeline", version = "0.1.0" }
llimphi-widget-splash = { path = "widgets/splash" } llimphi-widget-splash = { path = "widgets/splash", version = "0.1.0" }
# Controles de formulario y signaling (switch, segmented, breadcrumb, # Controles de formulario y signaling (switch, segmented, breadcrumb,
# badge, avatar, skeleton, field). # badge, avatar, skeleton, field).
llimphi-widget-switch = { path = "widgets/switch" } llimphi-widget-switch = { path = "widgets/switch", version = "0.1.0" }
llimphi-widget-segmented = { path = "widgets/segmented" } llimphi-widget-segmented = { path = "widgets/segmented", version = "0.1.0" }
llimphi-widget-dock-rail = { path = "widgets/dock-rail" } llimphi-widget-dock-rail = { path = "widgets/dock-rail", version = "0.1.0" }
llimphi-widget-breadcrumb = { path = "widgets/breadcrumb" } llimphi-widget-breadcrumb = { path = "widgets/breadcrumb", version = "0.1.0" }
llimphi-widget-badge = { path = "widgets/badge" } llimphi-widget-badge = { path = "widgets/badge", version = "0.1.0" }
llimphi-widget-avatar = { path = "widgets/avatar" } llimphi-widget-avatar = { path = "widgets/avatar", version = "0.1.0" }
llimphi-widget-skeleton = { path = "widgets/skeleton" } llimphi-widget-skeleton = { path = "widgets/skeleton", version = "0.1.0" }
llimphi-widget-field = { path = "widgets/field" } llimphi-widget-field = { path = "widgets/field", version = "0.1.0" }
# Firma visual transversal (gradient sutil + hairline accent). # Firma visual transversal (gradient sutil + hairline accent).
llimphi-widget-panel = { path = "widgets/panel" } llimphi-widget-panel = { path = "widgets/panel", version = "0.1.0" }
llimphi-widget-panes = { path = "widgets/panes" } llimphi-widget-panes = { path = "widgets/panes", version = "0.1.0" }
llimphi-workspace = { path = "llimphi-workspace" } llimphi-workspace = { path = "llimphi-workspace", version = "0.1.0" }
# Abstracción Selector — host (paths) + wawa (khipus). # Abstracción Selector — host (paths) + wawa (khipus).
llimphi-module-selector = { path = "modules/selector" } llimphi-module-selector = { path = "modules/selector", version = "0.1.0" }
# === Filesystem helpers === # === Filesystem helpers ===
directories = "5" directories = "5"
@@ -302,61 +302,61 @@ ttf-parser = "0.25"
# ============================================================ # ============================================================
# Intra-workspace deps de nahual (referenciadas por workspace = true) # Intra-workspace deps de nahual (referenciadas por workspace = true)
# ============================================================ # ============================================================
nahual-text-viewer-llimphi = { path = "02_ruway/nahual/nahual-text-viewer-llimphi" } nahual-text-viewer-llimphi = { path = "02_ruway/nahual/nahual-text-viewer-llimphi", version = "0.1.0" }
nahual-image-viewer-llimphi = { path = "02_ruway/nahual/nahual-image-viewer-llimphi" } nahual-image-viewer-llimphi = { path = "02_ruway/nahual/nahual-image-viewer-llimphi", version = "0.1.0" }
nahual-thumb-core = { path = "02_ruway/nahual/nahual-thumb-core" } nahual-thumb-core = { path = "02_ruway/nahual/nahual-thumb-core", version = "0.1.0" }
nahual-gallery-llimphi = { path = "02_ruway/nahual/nahual-gallery-llimphi" } nahual-gallery-llimphi = { path = "02_ruway/nahual/nahual-gallery-llimphi", version = "0.1.0" }
nahual-video-viewer-llimphi = { path = "02_ruway/nahual/nahual-video-viewer-llimphi" } nahual-video-viewer-llimphi = { path = "02_ruway/nahual/nahual-video-viewer-llimphi", version = "0.1.0" }
nahual-card-viewer-llimphi = { path = "02_ruway/nahual/nahual-card-viewer-llimphi" } nahual-card-viewer-llimphi = { path = "02_ruway/nahual/nahual-card-viewer-llimphi", version = "0.1.0" }
nahual-audio-viewer-llimphi = { path = "02_ruway/nahual/nahual-audio-viewer-llimphi" } nahual-audio-viewer-llimphi = { path = "02_ruway/nahual/nahual-audio-viewer-llimphi", version = "0.1.0" }
nahual-tree-viewer-llimphi = { path = "02_ruway/nahual/nahual-tree-viewer-llimphi" } nahual-tree-viewer-llimphi = { path = "02_ruway/nahual/nahual-tree-viewer-llimphi", version = "0.1.0" }
nahual-hex-viewer-llimphi = { path = "02_ruway/nahual/nahual-hex-viewer-llimphi" } nahual-hex-viewer-llimphi = { path = "02_ruway/nahual/nahual-hex-viewer-llimphi", version = "0.1.0" }
nahual-table-viewer-llimphi = { path = "02_ruway/nahual/nahual-table-viewer-llimphi" } nahual-table-viewer-llimphi = { path = "02_ruway/nahual/nahual-table-viewer-llimphi", version = "0.1.0" }
nahual-markdown-viewer-llimphi = { path = "02_ruway/nahual/nahual-markdown-viewer-llimphi" } nahual-markdown-viewer-llimphi = { path = "02_ruway/nahual/nahual-markdown-viewer-llimphi", version = "0.1.0" }
nahual-archive-viewer-llimphi = { path = "02_ruway/nahual/nahual-archive-viewer-llimphi" } nahual-archive-viewer-llimphi = { path = "02_ruway/nahual/nahual-archive-viewer-llimphi", version = "0.1.0" }
nahual-font-viewer-llimphi = { path = "02_ruway/nahual/nahual-font-viewer-llimphi" } nahual-font-viewer-llimphi = { path = "02_ruway/nahual/nahual-font-viewer-llimphi", version = "0.1.0" }
nahual-map-viewer-llimphi = { path = "02_ruway/nahual/nahual-map-viewer-llimphi" } nahual-map-viewer-llimphi = { path = "02_ruway/nahual/nahual-map-viewer-llimphi", version = "0.1.0" }
nahual-geo-core = { path = "02_ruway/nahual/nahual-geo-core" } nahual-geo-core = { path = "02_ruway/nahual/nahual-geo-core", version = "0.1.0" }
nahual-viewer-core = { path = "02_ruway/nahual/nahual-viewer-core" } nahual-viewer-core = { path = "02_ruway/nahual/nahual-viewer-core", version = "0.1.0" }
nahual-file-explorer-llimphi = { path = "02_ruway/nahual/nahual-file-explorer-llimphi" } nahual-file-explorer-llimphi = { path = "02_ruway/nahual/nahual-file-explorer-llimphi", version = "0.1.0" }
# ============================================================ # ============================================================
# Intra-workspace deps de pineal (módulo de gráficos) # Intra-workspace deps de pineal (módulo de gráficos)
# ============================================================ # ============================================================
pineal-core = { path = "00_unanchay/pineal/pineal-core" } pineal-core = { path = "00_unanchay/pineal/pineal-core", version = "0.1.0" }
pineal-render = { path = "00_unanchay/pineal/pineal-render" } pineal-render = { path = "00_unanchay/pineal/pineal-render", version = "0.1.0" }
pineal-cartesian = { path = "00_unanchay/pineal/pineal-cartesian" } pineal-cartesian = { path = "00_unanchay/pineal/pineal-cartesian", version = "0.1.0" }
pineal-stream = { path = "00_unanchay/pineal/pineal-stream" } pineal-stream = { path = "00_unanchay/pineal/pineal-stream", version = "0.1.0" }
pineal-mesh = { path = "00_unanchay/pineal/pineal-mesh" } pineal-mesh = { path = "00_unanchay/pineal/pineal-mesh", version = "0.1.0" }
pineal-financial = { path = "00_unanchay/pineal/pineal-financial" } pineal-financial = { path = "00_unanchay/pineal/pineal-financial", version = "0.1.0" }
pineal-polar = { path = "00_unanchay/pineal/pineal-polar" } pineal-polar = { path = "00_unanchay/pineal/pineal-polar", version = "0.1.0" }
pineal-heatmap = { path = "00_unanchay/pineal/pineal-heatmap" } pineal-heatmap = { path = "00_unanchay/pineal/pineal-heatmap", version = "0.1.0" }
pineal-treemap = { path = "00_unanchay/pineal/pineal-treemap" } pineal-treemap = { path = "00_unanchay/pineal/pineal-treemap", version = "0.1.0" }
pineal-flow = { path = "00_unanchay/pineal/pineal-flow" } pineal-flow = { path = "00_unanchay/pineal/pineal-flow", version = "0.1.0" }
pineal-phosphor = { path = "00_unanchay/pineal/pineal-phosphor" } pineal-phosphor = { path = "00_unanchay/pineal/pineal-phosphor", version = "0.1.0" }
pineal-export = { path = "00_unanchay/pineal/pineal-export" } pineal-export = { path = "00_unanchay/pineal/pineal-export", version = "0.1.0" }
pineal-hexbin = { path = "00_unanchay/pineal/pineal-hexbin" } pineal-hexbin = { path = "00_unanchay/pineal/pineal-hexbin", version = "0.1.0" }
pineal-contour = { path = "00_unanchay/pineal/pineal-contour" } pineal-contour = { path = "00_unanchay/pineal/pineal-contour", version = "0.1.0" }
pineal-bars = { path = "00_unanchay/pineal/pineal-bars" } pineal-bars = { path = "00_unanchay/pineal/pineal-bars", version = "0.1.0" }
pineal = { path = "00_unanchay/pineal/pineal-umbrella" } pineal = { path = "00_unanchay/pineal/pineal-umbrella", version = "0.1.0" }
# ============================================================ # ============================================================
# Intra-workspace deps de iniy (laboratorio semántico de creencias) # Intra-workspace deps de iniy (laboratorio semántico de creencias)
# ============================================================ # ============================================================
iniy-core = { path = "01_yachay/iniy/iniy-core" } iniy-core = { path = "01_yachay/iniy/iniy-core", version = "0.1.0" }
iniy-ingest = { path = "01_yachay/iniy/iniy-ingest" } iniy-ingest = { path = "01_yachay/iniy/iniy-ingest", version = "0.1.0" }
iniy-extract = { path = "01_yachay/iniy/iniy-extract" } iniy-extract = { path = "01_yachay/iniy/iniy-extract", version = "0.1.0" }
iniy-nli = { path = "01_yachay/iniy/iniy-nli" } iniy-nli = { path = "01_yachay/iniy/iniy-nli", version = "0.1.0" }
iniy-nli-llm = { path = "01_yachay/iniy/iniy-nli-llm" } iniy-nli-llm = { path = "01_yachay/iniy/iniy-nli-llm", version = "0.1.0" }
iniy-graph = { path = "01_yachay/iniy/iniy-graph" } iniy-graph = { path = "01_yachay/iniy/iniy-graph", version = "0.1.0" }
iniy-store = { path = "01_yachay/iniy/iniy-store" } iniy-store = { path = "01_yachay/iniy/iniy-store", version = "0.1.0" }
# === auto: declarados por crates internos faltantes === # === auto: declarados por crates internos faltantes ===
cosmos-coords = { path = "01_yachay/cosmos/cosmos-coords" } cosmos-coords = { path = "01_yachay/cosmos/cosmos-coords", version = "0.1.0" }
cosmos-core = { path = "01_yachay/cosmos/cosmos-core" } cosmos-core = { path = "01_yachay/cosmos/cosmos-core", version = "0.1.0" }
cosmos-ephemeris = { path = "01_yachay/cosmos/cosmos-ephemeris" } cosmos-ephemeris = { path = "01_yachay/cosmos/cosmos-ephemeris", version = "0.1.0" }
cosmos-time = { path = "01_yachay/cosmos/cosmos-time" } cosmos-time = { path = "01_yachay/cosmos/cosmos-time", version = "0.1.0" }
cosmos-wcs = { path = "01_yachay/cosmos/cosmos-wcs" } cosmos-wcs = { path = "01_yachay/cosmos/cosmos-wcs", version = "0.1.0" }
# === auto: externas de eternal === # === auto: externas de eternal ===
celestial-eop-data = { version = "0.1"} celestial-eop-data = { version = "0.1"}
+88
View File
@@ -0,0 +1,88 @@
app-bus
foreign-vox
llimphi-hal
llimphi-raster
llimphi-layout
llimphi-text
llimphi-theme
llimphi-widget-button
llimphi-widget-progress
llimphi-widget-segmented
llimphi-widget-slider
llimphi-widget-switch
llimphi-compositor
llimphi-ui
llimphi-3d
llimphi-widget-text-editor-core
llimphi-widget-text-editor
llimphi-clipboard
llimphi-icons
llimphi-widget-text-input
llimphi-module-bookmarks
llimphi-module-command-palette
llimphi-module-diff-viewer
llimphi-module-fif
llimphi-module-file-picker
llimphi-module-mini-map
llimphi-module-selector
llimphi-module-symbol-outline
llimphi-motion
llimphi-surface
llimphi-voxel
llimphi-widget-panel
llimphi-widget-app-header
llimphi-widget-avatar
llimphi-widget-badge
llimphi-widget-banner
llimphi-widget-breadcrumb
llimphi-widget-calendar
llimphi-widget-card
llimphi-widget-carousel
llimphi-widget-chip
llimphi-widget-color-picker
llimphi-widget-context-menu
llimphi-widget-detail-table
llimphi-widget-dock-rail
llimphi-widget-edit-menu
llimphi-widget-empty
llimphi-widget-fab
llimphi-widget-field
llimphi-widget-fitted-box
llimphi-widget-gauge
llimphi-widget-grid
llimphi-widget-hero
llimphi-widget-list
llimphi-widget-menubar
llimphi-widget-modal
llimphi-widget-nodegraph
llimphi-widget-tree
llimphi-widget-navigator
llimphi-widget-panes
llimphi-widget-range-slider
llimphi-widget-rating
llimphi-widget-scaffold
llimphi-widget-scroll
llimphi-widget-select
llimphi-widget-shortcuts-help
llimphi-widget-skeleton
llimphi-widget-spinner
llimphi-widget-splash
llimphi-widget-splitter
llimphi-widget-stat-card
llimphi-widget-status-bar
llimphi-widget-table
llimphi-widget-tabs
llimphi-widget-terminal
llimphi-widget-text-area
llimphi-widget-text-editor-lsp
llimphi-widget-theme-switcher
llimphi-widget-tiled
llimphi-widget-timeline
llimphi-widget-toast
llimphi-widget-toolbar
llimphi-widget-tooltip
llimphi-widget-transport
llimphi-widget-waveform
llimphi-widget-wawa-mark
llimphi-widget-wrap
llimphi-workspace
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "Demo Android Tier 1: pinta la pantalla con LEAD_GRAY usando llimphi-hal sobre Android NativeActivity." description = "Demo Android Tier 1: pinta la pantalla con LEAD_GRAY usando llimphi-hal sobre Android NativeActivity."
# Android NativeActivity carga la lib nativa como .so via dlopen; el # Android NativeActivity carga la lib nativa como .so via dlopen; el
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "Tier 1.5 Android: vello + llimphi-raster pintando una chacana animada como smoke test del stack completo." description = "Tier 1.5 Android: vello + llimphi-raster pintando una chacana animada como smoke test del stack completo."
[lib] [lib]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "Tier 1.75 Android: parley + vello + llimphi-text rasterizando texto multi-script con fallback CJK/Arabic via fontique." description = "Tier 1.75 Android: parley + vello + llimphi-text rasterizando texto multi-script con fallback CJK/Arabic via fontique."
[lib] [lib]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-3d — pase 3D base de Llimphi sobre wgpu: cámara view/proj (glam), depth buffer propio y un pipeline que compone su render dentro del `View` por la misma firma que `gpu_paint_with`. M0 del motor 3D general (ver 01_yachay/dominium/MOTOR-VOXEL.md §11). No mete un segundo motor: va sobre el mismo wgpu que ya usa Llimphi." description = "llimphi-3d — pase 3D base de Llimphi sobre wgpu: cámara view/proj (glam), depth buffer propio y un pipeline que compone su render dentro del `View` por la misma firma que `gpu_paint_with`. M0 del motor 3D general (ver 01_yachay/dominium/MOTOR-VOXEL.md §11). No mete un segundo motor: va sobre el mismo wgpu que ya usa Llimphi."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-compositor — el núcleo declarativo de Llimphi sin winit: el árbol `View<Msg>`, el mount sobre taffy, el paint a `vello::Scene` y el hit-test. No depende de llimphi-hal ni de una surface concreta, así que la misma composición sirve sobre winit (llimphi-ui) o, a futuro, sobre el framebuffer del kernel wawa. `wgpu` entra sólo por la firma de `GpuPaintFn` (tipos, no windowing)." description = "llimphi-compositor — el núcleo declarativo de Llimphi sin winit: el árbol `View<Msg>`, el mount sobre taffy, el paint a `vello::Scene` y el hit-test. No depende de llimphi-hal ni de una surface concreta, así que la misma composición sirve sobre winit (llimphi-ui) o, a futuro, sobre el framebuffer del kernel wawa. `wgpu` entra sólo por la firma de `GpuPaintFn` (tipos, no windowing)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-gallery — demo único que prueba el kit transversal de elegancia. Binario standalone; `cargo run -p llimphi-gallery --release`." description = "llimphi-gallery — demo único que prueba el kit transversal de elegancia. Binario standalone; `cargo run -p llimphi-gallery --release`."
[[bin]] [[bin]]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "Binario standalone que valida el SDD §'GPU directo wgpu' en una máquina con GPU real: imprime info del adapter, corre vello vs GPU directo a varios N, evalúa el criterio (≥5× a 500K, ≥60 fps @ 1M) y exporta PNGs de verificación." description = "Binario standalone que valida el SDD §'GPU directo wgpu' en una máquina con GPU real: imprime info del adapter, corre vello vs GPU directo a varios N, evalúa el criterio (≥5× a 500K, ≥60 fps @ 1M) y exporta PNGs de verificación."
[dependencies] [dependencies]
+2
View File
@@ -1,10 +1,12 @@
[package] [package]
name = "llimphi-hal" name = "llimphi-hal"
description = "Surface/device HAL for the llimphi UI framework (wgpu) — one scene tree across Wayland/X11/Win32/Android/bare-metal."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
[dependencies] [dependencies]
wgpu = { workspace = true } wgpu = { workspace = true }
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-icons — set mínimo de iconos vectoriales (BezPath en grid 24×24) renderizables vía paint_with. Stroke-based, escalables. Cubre las acciones canónicas de cualquier UI tawasuyu." description = "llimphi-icons — set mínimo de iconos vectoriales (BezPath en grid 24×24) renderizables vía paint_with. Stroke-based, escalables. Cubre las acciones canónicas de cualquier UI tawasuyu."
[dependencies] [dependencies]
+2
View File
@@ -1,10 +1,12 @@
[package] [package]
name = "llimphi-layout" name = "llimphi-layout"
description = "Layout engine for llimphi (Flexbox + CSS Grid via taffy)."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
[dependencies] [dependencies]
taffy = { workspace = true } taffy = { workspace = true }
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-motion — Tween<T> + helpers de animación integrados al bucle Elm de llimphi-ui (Handle::spawn_periodic). Lerp para f32, Color, (f32,f32). Easings comparten convenciones de llimphi-theme::motion." description = "llimphi-motion — Tween<T> + helpers de animación integrados al bucle Elm de llimphi-ui (Handle::spawn_periodic). Lerp para f32, Color, (f32,f32). Easings comparten convenciones de llimphi-theme::motion."
[dependencies] [dependencies]
+2
View File
@@ -1,10 +1,12 @@
[package] [package]
name = "llimphi-raster" name = "llimphi-raster"
description = "2D GPU rasterizer for llimphi over vello, with an opt-in CPU+GPU hybrid renderer."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
[dependencies] [dependencies]
llimphi-hal = { path = "../llimphi-hal" } llimphi-hal = { path = "../llimphi-hal" }
+2
View File
@@ -1,10 +1,12 @@
[package] [package]
name = "llimphi-surface" name = "llimphi-surface"
description = "Surface/compositing glue for the llimphi UI framework."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
[dependencies] [dependencies]
llimphi-hal = { path = "../llimphi-hal" } llimphi-hal = { path = "../llimphi-hal" }
+2
View File
@@ -1,10 +1,12 @@
[package] [package]
name = "llimphi-text" name = "llimphi-text"
description = "Text shaping for llimphi over parley (Inter default, DejaVu Sans symbol fallback)."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
# vello directo (no llimphi-raster): el motor de texto sólo necesita # vello directo (no llimphi-raster): el motor de texto sólo necesita
# Scene/peniko/kurbo para construir y pintar layouts — nada del Renderer ni # Scene/peniko/kurbo para construir y pintar layouts — nada del Renderer ni
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-theme — paleta compartida entre apps Llimphi. Define los slots semánticos (bg_app, fg_text, accent, etc.) en `peniko::Color`; cada widget toma su paleta del Theme vía `Palette::from_theme(&theme)`." description = "llimphi-theme — paleta compartida entre apps Llimphi. Define los slots semánticos (bg_app, fg_text, accent, etc.) en `peniko::Color`; cada widget toma su paleta del Theme vía `Palette::from_theme(&theme)`."
[dependencies] [dependencies]
+2
View File
@@ -1,10 +1,12 @@
[package] [package]
name = "llimphi-ui" name = "llimphi-ui"
description = "Native Rust UI framework: retained-mode View<Msg> Elm loop over vello + wgpu + taffy + parley."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
[dependencies] [dependencies]
llimphi-hal = { path = "../llimphi-hal" } llimphi-hal = { path = "../llimphi-hal" }
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-voxel — capa de dinámica voxel/juego (estilo Minecraft) sobre el motor 3D general llimphi-3d: world-gen procedural (terreno por ruido fractal) y la casa de bloques/biomas/streaming. Reusable por cualquier juego con orientación voxel. NO renderiza: delega en llimphi-3d (Scene3d + VoxelRenderer)." description = "llimphi-voxel — capa de dinámica voxel/juego (estilo Minecraft) sobre el motor 3D general llimphi-3d: world-gen procedural (terreno por ruido fractal) y la casa de bloques/biomas/streaming. Reusable por cualquier juego con orientación voxel. NO renderiza: delega en llimphi-3d (Scene3d + VoxelRenderer)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-workspace — chasis genérico estilo tmux: hospeda N paneles en un árbol BSP (llimphi-widget-panes) con la máquina de estados (split/close/focus/resize) + chrome estándar. La capa sobre la que cualquier app de tawasuyu se monta en un layout intercambiable." description = "llimphi-workspace — chasis genérico estilo tmux: hospeda N paneles en un árbol BSP (llimphi-widget-panes) con la máquina de estados (split/close/focus/resize) + chrome estándar. La capa sobre la que cualquier app de tawasuyu se monta en un layout intercambiable."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-allichay — el renderizador único de la config declarativa. Pinta un `allichay::Schema` con el rail de dientes (secciones) y controles escalares (toggle/slider/dropdown/color/texto), y emite los cambios como (FieldPath, FieldValue). State + Msg + apply_key/view, el patrón de módulo Llimphi. Reutilizable por el panel central y por cada app." description = "llimphi-module-allichay — el renderizador único de la config declarativa. Pinta un `allichay::Schema` con el rail de dientes (secciones) y controles escalares (toggle/slider/dropdown/color/texto), y emite los cambios como (FieldPath, FieldValue). State + Msg + apply_key/view, el patrón de módulo Llimphi. Reutilizable por el panel central y por cada app."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-bookmarks - marcadores per-file persistentes en la sesion del editor. Modulo Llimphi: el host emite ToggleAt(path, line) al disparar Ctrl+Alt+B, JumpNext/JumpPrev para navegar (devuelve JumpTo accion), y OpenList para abrir un overlay tipo symbol-outline con fuzzy filter sobre los marks. No persiste a disco - el host puede serializar marks si quiere." description = "llimphi-module-bookmarks - marcadores per-file persistentes en la sesion del editor. Modulo Llimphi: el host emite ToggleAt(path, line) al disparar Ctrl+Alt+B, JumpNext/JumpPrev para navegar (devuelve JumpTo accion), y OpenList para abrir un overlay tipo symbol-outline con fuzzy filter sobre los marks. No persiste a disco - el host puede serializar marks si quiere."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-command-palette — paleta de comandos estilo Ctrl+Shift+P de VS Code. Módulo Llimphi reutilizable: state + Msg + Action + apply/on_key/view sobre un slice de Commands que provee el host. Fuzzy match con nucleo-matcher." description = "llimphi-module-command-palette — paleta de comandos estilo Ctrl+Shift+P de VS Code. Módulo Llimphi reutilizable: state + Msg + Action + apply/on_key/view sobre un slice de Commands que provee el host. Fuzzy match con nucleo-matcher."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-diff-viewer — visualización side-by-side de cambios entre dos textos. Módulo Llimphi: el host provee before/after (typically HEAD vs working tree, o snapshot vs current buffer), el módulo computa el diff con `similar` y lo presenta en dos columnas con marcadores +/- y números de línea." description = "llimphi-module-diff-viewer — visualización side-by-side de cambios entre dos textos. Módulo Llimphi: el host provee before/after (typically HEAD vs working tree, o snapshot vs current buffer), el módulo computa el diff con `similar` y lo presenta en dos columnas con marcadores +/- y números de línea."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-fif — find-in-files reusable (estilo JetBrains). Módulo Llimphi: state + Msg + Action + apply/on_key/view. Cualquier app que mantenga una lista de paths puede enchufarlo." description = "llimphi-module-fif — find-in-files reusable (estilo JetBrains). Módulo Llimphi: state + Msg + Action + apply/on_key/view. Cualquier app que mantenga una lista de paths puede enchufarlo."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-file-picker — fuzzy file picker (estilo Ctrl+P de VS Code). Módulo Llimphi reutilizable: state + Msg + Action + apply/on_key/view sobre un slice de paths que provee el host." description = "llimphi-module-file-picker — fuzzy file picker (estilo Ctrl+P de VS Code). Módulo Llimphi reutilizable: state + Msg + Action + apply/on_key/view sobre un slice de paths que provee el host."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-mini-map — overlay minimap del buffer activo. Modulo Llimphi: el host le pasa un snapshot del buffer + viewport + caret, el modulo pinta un panel vertical con un slab por linea (ancho aprox chars), resalta el viewport visible y emite Jump(line) al click. Estilo VS Code/Sublime." description = "llimphi-module-mini-map — overlay minimap del buffer activo. Modulo Llimphi: el host le pasa un snapshot del buffer + viewport + caret, el modulo pinta un panel vertical con un slab por linea (ancho aprox chars), resalta el viewport visible y emite Jump(line) al click. Estilo VS Code/Sublime."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-plugin-host — runtime de plugins WASM (Tier 2) para apps Llimphi. Carga .wasm + manifest.toml, aplica sandbox por card_core::Permissions, e invoca capabilities devolviendo PluginAction." description = "llimphi-plugin-host — runtime de plugins WASM (Tier 2) para apps Llimphi. Carga .wasm + manifest.toml, aplica sandbox por card_core::Permissions, e invoca capabilities devolviendo PluginAction."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-selector — trait Selector con dos backends: HostSelector (paths del FS via std::fs) y WawaSelector (khipus por hash, sello digital). Una sola API 'abrir/guardar' que funciona en cualquier entorno tawasuyu." description = "llimphi-module-selector — trait Selector con dos backends: HostSelector (paths del FS via std::fs) y WawaSelector (khipus por hash, sello digital). Una sola API 'abrir/guardar' que funciona en cualquier entorno tawasuyu."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-shuma-term — terminal integrado tipo Ctrl+\\` de VS Code. Módulo Llimphi sobre shuma-exec (PTY real) + vt100 (emulación). Cualquier app Llimphi puede enchufar un terminal sandboxeado por el shell del usuario." description = "llimphi-module-shuma-term — terminal integrado tipo Ctrl+\\` de VS Code. Módulo Llimphi sobre shuma-exec (PTY real) + vt100 (emulación). Cualquier app Llimphi puede enchufar un terminal sandboxeado por el shell del usuario."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-module-symbol-outline — outline del documento (funciones, structs, métodos) navegable con fuzzy filter. Módulo Llimphi reutilizable: el host le pasa un Vec<SymbolItem> y el módulo emite GoTo(line, col). No depende de LSP — el host puede poblarlo desde cualquier fuente (tree-sitter, parser propio, LSP)." description = "llimphi-module-symbol-outline — outline del documento (funciones, structs, métodos) navegable con fuzzy filter. Módulo Llimphi reutilizable: el host le pasa un Vec<SymbolItem> y el módulo emite GoTo(line, col). No depende de LSP — el host puede poblarlo desde cualquier fuente (tree-sitter, parser propio, LSP)."
[dependencies] [dependencies]
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
# Publica llimphi a crates.io en orden de dependencias (deps primero).
#
# ANTES de correr (una sola vez):
# 1) Andá a https://crates.io/settings/tokens y creá un token (login con GitHub).
# 2) cargo login <tu-token>
#
# Después: ./publish-crates.sh
# Es reanudable: si se corta (rate-limit, red), volvé a correrlo — los ya
# publicados se saltan solos.
set -u
cd "$(dirname "$0")"
while read -r c; do
[ -z "$c" ] && continue
echo ">>> publicando $c"
if out=$(cargo publish -p "$c" 2>&1); then
echo " ok"
else
if echo "$out" | grep -qiE "already (been )?uploaded|already exists|crate version .* is already"; then
echo " (ya estaba publicado, sigo)"
else
echo "$out" | tail -8
echo "!!! se detuvo en: $c — revisá el error de arriba, arreglá y re-corré el script"
exit 1
fi
fi
sleep 3
done < PUBLISH-ORDER.txt
echo "=== TODO PUBLICADO ==="
+1
View File
@@ -6,6 +6,7 @@ rust-version.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "app-bus — registro único de aplicaciones de gioser + protocolo de menú global (Archivo/Editar/Ayuda) + bus de eventos foco/lanzamiento + trait Launcher. Lo consultan los launchers (mirada, shuma, wawa) en vez de reimplementar el despacho cada uno. Los datos + el trait son no_std; el descubrimiento (fs/TOML), el spawn de procesos y el Bus van detrás del feature `std`." description = "app-bus — registro único de aplicaciones de gioser + protocolo de menú global (Archivo/Editar/Ayuda) + bus de eventos foco/lanzamiento + trait Launcher. Lo consultan los launchers (mirada, shuma, wawa) en vez de reimplementar el despacho cada uno. Los datos + el trait son no_std; el descubrimiento (fs/TOML), el spawn de procesos y el Bus van detrás del feature `std`."
[features] [features]
+1
View File
@@ -19,6 +19,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "shared/foreign-vox — puente al formato MagicaVoxel (.vox): lee/escribe modelos voxel (SIZE/XYZI/RGBA) como un VoxModel neutral, para importar sets y personajes al motor voxel." description = "shared/foreign-vox — puente al formato MagicaVoxel (.vox): lee/escribe modelos voxel (SIZE/XYZI/RGBA) como un VoxModel neutral, para importar sets y personajes al motor voxel."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-app-header — tira superior estándar para apps Llimphi: label dinámico a la izquierda + slot de acciones opcional a la derecha. Análogo Llimphi al `nahual-widget-app-header` GPUI." description = "llimphi-widget-app-header — tira superior estándar para apps Llimphi: label dinámico a la izquierda + slot de acciones opcional a la derecha. Análogo Llimphi al `nahual-widget-app-header` GPUI."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-avatar — círculo de identidad con inicial sobre color generado del hash del nombre. Determinista (mismo nombre → mismo color) y tonal (paleta limitada para que no choque)." description = "llimphi-widget-avatar — círculo de identidad con inicial sobre color generado del hash del nombre. Determinista (mismo nombre → mismo color) y tonal (paleta limitada para que no choque)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-badge — chip pequeño (count o dot) para notificaciones, contadores, estado de conexión. Cuatro variants semánticas." description = "llimphi-widget-badge — chip pequeño (count o dot) para notificaciones, contadores, estado de conexión. Cuatro variants semánticas."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-banner — tiras horizontales de status (Info/Success/Warning/Error). Colores semánticos hardcoded por severidad — no dependen del theme. Análogo Llimphi al `nahual-widget-banner` GPUI." description = "llimphi-widget-banner — tiras horizontales de status (Info/Success/Warning/Error). Colores semánticos hardcoded por severidad — no dependen del theme. Análogo Llimphi al `nahual-widget-banner` GPUI."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-breadcrumb — ruta navegable con separadores chevron. Cada segmento clicable salta a su nivel." description = "llimphi-widget-breadcrumb — ruta navegable con separadores chevron. Cada segmento clicable salta a su nivel."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-button — botón clicable con estado hover. Reusable entre apps Llimphi; cambia el bg cuando el cursor pasa por encima. Compuesto de `View::fill().hover_fill().on_click()` con una paleta tematizable." description = "llimphi-widget-button — botón clicable con estado hover. Reusable entre apps Llimphi; cambia el bg cuando el cursor pasa por encima. Compuesto de `View::fill().hover_fill().on_click()` con una paleta tematizable."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-calendar — vista mensual del calendario (grilla 7×6) con navegación entre meses, día seleccionado y día actual resaltados. Base del date-picker; útil también solo para agendas, planning y ERP." description = "llimphi-widget-calendar — vista mensual del calendario (grilla 7×6) con navegación entre meses, día seleccionado y día actual resaltados. Base del date-picker; útil también solo para agendas, planning y ERP."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-card — container card-shape con padding consistente, esquinas redondeadas y opcional accent border a la izquierda. Análogo Llimphi al `nahual-widget-card` GPUI." description = "llimphi-widget-card — container card-shape con padding consistente, esquinas redondeadas y opcional accent border a la izquierda. Análogo Llimphi al `nahual-widget-card` GPUI."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-carousel — pager paginado de N páginas con dots indicadores y flechas opcionales a los lados. El caller maneja solo `current_index`; cada cambio dispara `on_change(i)`. Útil para onboarding, galerías, slideshows." description = "llimphi-widget-carousel — pager paginado de N páginas con dots indicadores y flechas opcionales a los lados. El caller maneja solo `current_index`; cada cambio dispara `on_change(i)`. Útil para onboarding, galerías, slideshows."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-chip — chip compacto (filter / choice / input) con estado opcional seleccionado y x removible. Para tags, filtros, multi-select compacto." description = "llimphi-widget-chip — chip compacto (filter / choice / input) con estado opcional seleccionado y x removible. Para tags, filtros, multi-select compacto."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-clipboard — backend de portapapeles del sistema (vía arboard) que implementa el trait Clipboard del text-editor. Una línea para que el menú de edición y los atajos Ctrl+C/X/V de cualquier app Llimphi usen el clipboard real del SO, con degradación silenciosa a no-op si no hay display." description = "llimphi-clipboard — backend de portapapeles del sistema (vía arboard) que implementa el trait Clipboard del text-editor. Una línea para que el menú de edición y los atajos Ctrl+C/X/V de cualquier app Llimphi usen el clipboard real del SO, con degradación silenciosa a no-op si no hay display."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-color-picker — selector de color RGBA: swatch actual + paleta de chips preestablecidos + sliders RGBA. Agnóstico (emite [u8;4])." description = "llimphi-widget-color-picker — selector de color RGBA: swatch actual + paleta de chips preestablecidos + sliders RGBA. Agnóstico (emite [u8;4])."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-context-menu — menú contextual tawasuyu: panel negro, barra accent vertical de 3px a la izquierda, sin esquinas redondeadas ni sombras, header en uppercase tiny. Se monta sobre App::view_overlay con un scrim full-screen que dismissa al click-fuera." description = "llimphi-widget-context-menu — menú contextual tawasuyu: panel negro, barra accent vertical de 3px a la izquierda, sin esquinas redondeadas ni sombras, header en uppercase tiny. Se monta sobre App::view_overlay con un scrim full-screen que dismissa al click-fuera."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-detail-table — grilla read-only con columnas de ancho flex/fijo y encabezados clicables que ordenan (▲/▼). La vista 'detalle' de un file manager: una fila por nodo, selección resaltada, click de fila y click de encabezado emiten Msg. Stateless; el caller pasa filas ya ordenadas/visibles." description = "llimphi-widget-detail-table — grilla read-only con columnas de ancho flex/fijo y encabezados clicables que ordenan (▲/▼). La vista 'detalle' de un file manager: una fila por nodo, selección resaltada, click de fila y click de encabezado emiten Msg. Stateless; el caller pasa filas ya ordenadas/visibles."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-dock-rail — rail vertical de dientes (pestañas con barra de acento + icono) para sidebars acoplables; clic activa, arrastre mueve entre rails." description = "llimphi-widget-dock-rail — rail vertical de dientes (pestañas con barra de acento + icono) para sidebars acoplables; clic activa, arrastre mueve entre rails."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-edit-menu — el menú de edición estándar (Deshacer/Rehacer/Cortar/Copiar/Pegar/Eliminar/Seleccionar todo) para cualquier campo que use EditorState (input single-line e IDE enriquecido). Arma el ContextMenuSpec desde flags derivados del estado y aplica las acciones reutilizando apply_key_with_clipboard." description = "llimphi-widget-edit-menu — el menú de edición estándar (Deshacer/Rehacer/Cortar/Copiar/Pegar/Eliminar/Seleccionar todo) para cualquier campo que use EditorState (input single-line e IDE enriquecido). Arma el ContextMenuSpec desde flags derivados del estado y aplica las acciones reutilizando apply_key_with_clipboard."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-empty — empty-state con icono grande, título y descripción opcional. Reemplaza pantallas en blanco crudas con orientación al usuario." description = "llimphi-widget-empty — empty-state con icono grande, título y descripción opcional. Reemplaza pantallas en blanco crudas con orientación al usuario."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-fab — Floating Action Button: botón circular elevado (sombra E3), color de acento, hover lift sutil. Para la acción primaria de una página (compose, nuevo, +)." description = "llimphi-widget-fab — Floating Action Button: botón circular elevado (sombra E3), color de acento, hover lift sutil. Para la acción primaria de una página (compose, nuevo, +)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-field — wrapper de formulario: label arriba + slot del input + descripción/error abajo. Patrón estándar para formularios accesibles." description = "llimphi-widget-field — wrapper de formulario: label arriba + slot del input + descripción/error abajo. Patrón estándar para formularios accesibles."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-fitted-box — escala un subárbol arbitrario para que entre en el slot del padre, con políticas BoxFit::{Contain, Cover, Fill, None, ScaleDown}. Análogo a `FittedBox` de Flutter. Compone sobre el seam LayoutBuilder." description = "llimphi-widget-fitted-box — escala un subárbol arbitrario para que entre en el slot del padre, con políticas BoxFit::{Contain, Cover, Fill, None, ScaleDown}. Análogo a `FittedBox` de Flutter. Compone sobre el seam LayoutBuilder."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-gallery — app demo que pinta todos los widgets de llimphi en una sola ventana. Pensado como referencia visual y como smoke test al introducir cambios al theme o a los widgets." description = "llimphi-widget-gallery — app demo que pinta todos los widgets de llimphi en una sola ventana. Pensado como referencia visual y como smoke test al introducir cambios al theme o a los widgets."
[[bin]] [[bin]]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-gauge — medidor radial (arco de 270°) con aguja y valor central. Para dashboards y stat panels donde el valor tiene un rango natural (0..max) y el contexto importa más que la cifra exacta." description = "llimphi-widget-gauge — medidor radial (arco de 270°) con aguja y valor central. Para dashboards y stat panels donde el valor tiene un rango natural (0..max) y el contexto importa más que la cifra exacta."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-grid — grilla virtualizada 2D para Llimphi: celdas clicables en mosaico, selección, caption/hint opcionales, recorte de overflow. El caller hace la virtualización (calcula la ventana visible con `ventana_visible` y pasa sólo las celdas visibles); el widget las compone en filas. Base para galerías de miniaturas tipo gThumb/FastStone — agnóstico del contenido de la celda (el caller arma cada `View`: thumb, placeholder, lo que sea)." description = "llimphi-widget-grid — grilla virtualizada 2D para Llimphi: celdas clicables en mosaico, selección, caption/hint opcionales, recorte de overflow. El caller hace la virtualización (calcula la ventana visible con `ventana_visible` y pasa sólo las celdas visibles); el widget las compone en filas. Base para galerías de miniaturas tipo gThumb/FastStone — agnóstico del contenido de la celda (el caller arma cada `View`: thumb, placeholder, lo que sea)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-hero — entrada dramática con curva de overshoot para elementos destacados (modal, dialog, página recién montada). NO es shared-element transition real (esa requiere un registry retenido en el runtime); es la firma cinética que Flutter Hero usa al aterrizar." description = "llimphi-widget-hero — entrada dramática con curva de overshoot para elementos destacados (modal, dialog, página recién montada). NO es shared-element transition real (esa requiere un registry retenido en el runtime); es la firma cinética que Flutter Hero usa al aterrizar."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-list — lista vertical virtualizada para Llimphi: filas clicables, selección, caption opcional, recorte de overflow. El caller hace la virtualización (pasa sólo las filas visibles) y el widget las compone." description = "llimphi-widget-list — lista vertical virtualizada para Llimphi: filas clicables, selección, caption opcional, recorte de overflow. El caller hace la virtualización (pasa sólo las filas visibles) y el widget las compone."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-menubar — barra de menú principal in-window (Archivo/Editar/Ver/Ayuda) que cualquier app Llimphi monta a partir de un app_bus::AppMenu. menubar_view() pinta la fila de títulos; menubar_overlay() el dropdown (vía context-menu) para App::view_overlay. Decoplado del Surface del launcher: sirve dentro de la ventana de cada app." description = "llimphi-widget-menubar — barra de menú principal in-window (Archivo/Editar/Ver/Ayuda) que cualquier app Llimphi monta a partir de un app_bus::AppMenu. menubar_view() pinta la fila de títulos; menubar_overlay() el dropdown (vía context-menu) para App::view_overlay. Decoplado del Surface del launcher: sirve dentro de la ventana de cada app."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-modal — diálogo genérico (título + body arbitrario + botones primary/cancel/destructive) con scrim y centrado. Para menús contextuales usar llimphi-widget-context-menu." description = "llimphi-widget-modal — diálogo genérico (título + body arbitrario + botones primary/cancel/destructive) con scrim y centrado. Para menús contextuales usar llimphi-widget-context-menu."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-navigator — navegador data-agnóstico de nodos (Mónada/Dir/Archivo) en dos modos conmutables: árbol y grafo; click selecciona, right-click abre." description = "llimphi-widget-navigator — navegador data-agnóstico de nodos (Mónada/Dir/Archivo) en dos modos conmutables: árbol y grafo; click selecciona, right-click abre."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-nodegraph — lienzo de nodos con pins y cables Bezier. Reusable por pluma (DAG), nakui (fórmulas yupay), tullpu (ajustes no destructivos), dominium (sistemas), takiy (cadena de audio)." description = "llimphi-widget-nodegraph — lienzo de nodos con pins y cables Bezier. Reusable por pluma (DAG), nakui (fórmulas yupay), tullpu (ajustes no destructivos), dominium (sistemas), takiy (cadena de audio)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-panel — firma visual transversal: gradiente vertical casi imperceptible + hairline accent en el top edge. Helper paint_with + wrapper panel_view. La capa que vuelve reconocible al sistema sin cargar." description = "llimphi-widget-panel — firma visual transversal: gradiente vertical casi imperceptible + hairline accent en el top edge. Helper paint_with + wrapper panel_view. La capa que vuelve reconocible al sistema sin cargar."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-panes — árbol de paneles BSP estilo tmux: hojas opacas (`View<Msg>`) que se parten horizontal/vertical, se cierran, enfocan y redimensionan arrastrando divisores. La base para montar cualquier componente de tawasuyu en un layout intercambiable." description = "llimphi-widget-panes — árbol de paneles BSP estilo tmux: hojas opacas (`View<Msg>`) que se parten horizontal/vertical, se cierran, enfocan y redimensionan arrastrando divisores. La base para montar cualquier componente de tawasuyu en un layout intercambiable."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-progress — barras de progreso lineales y radiales determinadas (0.0-1.0). Para indeterminadas usar llimphi-widget-spinner." description = "llimphi-widget-progress — barras de progreso lineales y radiales determinadas (0.0-1.0). Para indeterminadas usar llimphi-widget-spinner."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-range-slider — slider con dos thumbs para definir un rango [lo, hi] sobre un track. Para filtros (precio entre $X y $Y), ecualizadores y rangos temporales." description = "llimphi-widget-range-slider — slider con dos thumbs para definir un rango [lo, hi] sobre un track. Para filtros (precio entre $X y $Y), ecualizadores y rangos temporales."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-rating — N estrellas clicables (típicamente 5) que reflejan un valor y emiten on_change al elegir otro nivel. Para reseñas, encuestas, quality flags." description = "llimphi-widget-rating — N estrellas clicables (típicamente 5) que reflejan un valor y emiten on_change al elegir otro nivel. Para reseñas, encuestas, quality flags."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-scaffold — chasis de página estilo Flutter Scaffold: app bar opcional arriba, bottom bar opcional abajo, body que ocupa el resto, FAB anclado bottom-end opcional, drawers laterales opcionales (slide in)." description = "llimphi-widget-scaffold — chasis de página estilo Flutter Scaffold: app bar opcional arriba, bottom bar opcional abajo, body que ocupa el resto, FAB anclado bottom-end opcional, drawers laterales opcionales (slide in)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-scroll — área de scroll vertical reutilizable: viewport clipeado + contenido desplazado + barra arrastrable. Stateless (el offset vive en el Model); rueda autocontenida vía View::on_scroll. Helpers puros: clamp_offset, ensure_visible, approach (scroll suave)." description = "llimphi-widget-scroll — área de scroll vertical reutilizable: viewport clipeado + contenido desplazado + barra arrastrable. Stateless (el offset vive en el Model); rueda autocontenida vía View::on_scroll. Helpers puros: clamp_offset, ensure_visible, approach (scroll suave)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-segmented — control de opciones mutuamente exclusivas (radio horizontal). Para 2-5 opciones en línea." description = "llimphi-widget-segmented — control de opciones mutuamente exclusivas (radio horizontal). Para 2-5 opciones en línea."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-select — control select/dropdown moderno para Llimphi: disparador cerrado + menú flotante (view_overlay) con búsqueda, ítems ricos (icono · sublabel · badge), selección múltiple y estados de carga asíncrona (Cargando / Error+reintento / vacío)." description = "llimphi-widget-select — control select/dropdown moderno para Llimphi: disparador cerrado + menú flotante (view_overlay) con búsqueda, ítems ricos (icono · sublabel · badge), selección múltiple y estados de carga asíncrona (Cargando / Error+reintento / vacío)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-shortcuts-help — overlay '?' que muestra los atajos de teclado del contexto actual, agrupados por categoría." description = "llimphi-widget-shortcuts-help — overlay '?' que muestra los atajos de teclado del contexto actual, agrupados por categoría."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-skeleton — bloque animado con shimmer para placeholders de contenido en carga. Alternativa a spinner cuando se conoce la forma del contenido (lista de N items, card con título+texto+imagen)." description = "llimphi-widget-skeleton — bloque animado con shimmer para placeholders de contenido en carga. Alternativa a spinner cuando se conoce la forma del contenido (lista de N items, card con título+texto+imagen)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-slider — slider horizontal con etiqueta + track draggable + valor numérico. El track es un fillbar (sin pulgar): cambia el ancho relleno según la fracción `(value-min)/(max-min)`. El drag emite el delta de valor (no pixels) en cada `Move`, listo para reentrar al update." description = "llimphi-widget-slider — slider horizontal con etiqueta + track draggable + valor numérico. El track es un fillbar (sin pulgar): cambia el ancho relleno según la fracción `(value-min)/(max-min)`. El drag emite el delta de valor (no pixels) en cada `Move`, listo para reentrar al update."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-spinner — spinner circular animado por reloj absoluto (no requiere ticks del modelo). Stroke gradient circular. Default 24×24 pero escalable." description = "llimphi-widget-spinner — spinner circular animado por reloj absoluto (no requiere ticks del modelo). Stroke gradient circular. Default 24×24 pero escalable."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-splash — splash de arranque tawasuyu: cuatro cuadrantes (unanchay/yachay/ruway/ukupacha) animados con tween de entrada secuencial. Identidad visual del SO." description = "llimphi-widget-splash — splash de arranque tawasuyu: cuatro cuadrantes (unanchay/yachay/ruway/ukupacha) animados con tween de entrada secuencial. Identidad visual del SO."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-splitter — split container con divisor draggable. Análogo Llimphi al `nahual-widget-splitter` GPUI: dos panes, divisor sólido del ancho del thickness configurable, drag emite Msg con el delta del eje principal." description = "llimphi-widget-splitter — split container con divisor draggable. Análogo Llimphi al `nahual-widget-splitter` GPUI: dos panes, divisor sólido del ancho del thickness configurable, drag emite Msg con el delta del eje principal."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-stat-card — tarjeta de dashboard con label chico + valor grande + descripción + accent vertical. Análogo Llimphi al `nahual-widget-stat-card` GPUI." description = "llimphi-widget-stat-card — tarjeta de dashboard con label chico + valor grande + descripción + accent vertical. Análogo Llimphi al `nahual-widget-stat-card` GPUI."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-status-bar — barra inferior con segmentos left/center/right configurables. Cada segmento puede llevar icono opcional y handler de click." description = "llimphi-widget-status-bar — barra inferior con segmentos left/center/right configurables. Cada segmento puede llevar icono opcional y handler de click."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-switch — toggle binario on/off (track + thumb) con paleta del theme. Para preferencias, modos y feature flags." description = "llimphi-widget-switch — toggle binario on/off (track + thumb) con paleta del theme. Para preferencias, modos y feature flags."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-table — tabla y lista editables: celdas-texto con quitar/agregar fila. Stateless (el caller posee el foco). Agnóstico." description = "llimphi-widget-table — tabla y lista editables: celdas-texto con quitar/agregar fila. Stateless (el caller posee el foco). Agnóstico."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-tabs — tira de tabs + área de contenido. Análogo Llimphi al `nahual-widget-tabs` GPUI. El caller mantiene el índice activo en el `Model` y le da al widget las labels + el view del tab activo." description = "llimphi-widget-tabs — tira de tabs + área de contenido. Análogo Llimphi al `nahual-widget-tabs` GPUI. El caller mantiene el índice activo en el `Model` y le da al widget las labels + el view del tab activo."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-terminal — superficie de terminal infinita y virtualizada (ver 02_ruway/shuma/SDD-TERMINAL.md). Fase 0: store de scrollback append-only (acceso O(1), cap por memoria). Fase 1: virtualización modo línea (sólo se pinta la ventana visible, numeración global + color, scroll propio del widget — costo de render constante a scrollback ilimitado)." description = "llimphi-widget-terminal — superficie de terminal infinita y virtualizada (ver 02_ruway/shuma/SDD-TERMINAL.md). Fase 0: store de scrollback append-only (acceso O(1), cap por memoria). Fase 1: virtualización modo línea (sólo se pinta la ventana visible, numeración global + color, scroll propio del widget — costo de render constante a scrollback ilimitado)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-text-area — input de texto multilínea para Llimphi: estado plano (String con \\n), apply_key con Enter→\\n + Backspace + caracteres imprimibles, render multilínea con caret bloque al final del último renglón." description = "llimphi-widget-text-area — input de texto multilínea para Llimphi: estado plano (String con \\n), apply_key con Enter→\\n + Backspace + caracteres imprimibles, render multilínea con caret bloque al final del último renglón."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-text-editor-core — núcleo agnóstico del editor de código: rope buffer (ropey), cursor + selección, undo/redo, bracket matching, find, diagnostics y syntax highlighting (tree-sitter). Sin dependencias de render — reutilizable en TUI/web/headless. La capa Llimphi (state + view) vive en `llimphi-widget-text-editor`." description = "llimphi-widget-text-editor-core — núcleo agnóstico del editor de código: rope buffer (ropey), cursor + selección, undo/redo, bracket matching, find, diagnostics y syntax highlighting (tree-sitter). Sin dependencias de render — reutilizable en TUI/web/headless. La capa Llimphi (state + view) vive en `llimphi-widget-text-editor`."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-text-editor-lsp — trait LspClient + NoopLspClient como foundation. El cliente real (rust-analyzer/pylsp con tokio + jsonrpc) queda como TODO para una sesión dedicada." description = "llimphi-widget-text-editor-lsp — trait LspClient + NoopLspClient como foundation. El cliente real (rust-analyzer/pylsp con tokio + jsonrpc) queda como TODO para una sesión dedicada."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-text-editor — capa visual Llimphi del editor de código (gutter, caret, selección, scroll, integración de teclado al update Elm). El núcleo agnóstico (buffer/cursor/ops/undo/highlight/…) vive en llimphi-widget-text-editor-core y se re-exporta. LSP queda para una capa superior." description = "llimphi-widget-text-editor — capa visual Llimphi del editor de código (gutter, caret, selección, scroll, integración de teclado al update Elm). El núcleo agnóstico (buffer/cursor/ops/undo/highlight/…) vive en llimphi-widget-text-editor-core y se re-exporta. LSP queda para una capa superior."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-text-input — input de texto single-line para Llimphi. Wrappea el llimphi-widget-text-editor en modo single_line para heredar selección con shift+arrows, undo/redo, word-jump con Ctrl, sin perder la API compacta original." description = "llimphi-widget-text-input — input de texto single-line para Llimphi. Wrappea el llimphi-widget-text-editor en modo single_line para heredar selección con shift+arrows, undo/redo, word-jump con Ctrl, sin perder la API compacta original."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-theme-switcher — botón que cicla los presets de `llimphi_theme::Theme`. Análogo Llimphi del `nahual-widget-theme-switcher` GPUI: el caller lifta `Msg::ChangeTheme(Theme)` y reasigna el theme en su Model." description = "llimphi-widget-theme-switcher — botón que cicla los presets de `llimphi_theme::Theme`. Análogo Llimphi del `nahual-widget-theme-switcher` GPUI: el caller lifta `Msg::ChangeTheme(Theme)` y reasigna el theme en su Model."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-tiled — grid auto cols×rows con title bar por tile. Análogo Llimphi al `nahual-widget-tiled` GPUI (sin drag-to-swap todavía: requiere drop-targets globales que llimphi-ui aún no expone)." description = "llimphi-widget-tiled — grid auto cols×rows con title bar por tile. Análogo Llimphi al `nahual-widget-tiled` GPUI (sin drag-to-swap todavía: requiere drop-targets globales que llimphi-ui aún no expone)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-timeline — barra de progreso/scrub clickeable (seek absoluto). El widget es stateless: el caller pasa la fracción de avance y un handler fracción→Msg." description = "llimphi-widget-timeline — barra de progreso/scrub clickeable (seek absoluto). El widget es stateless: el caller pasa la fracción de avance y un handler fracción→Msg."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-toast — notificaciones efímeras apiladas bottom-right. Severidades info/success/warning/error. Auto-dismiss configurable. Render-only; el ciclo de vida lo maneja la app." description = "llimphi-widget-toast — notificaciones efímeras apiladas bottom-right. Severidades info/success/warning/error. Auto-dismiss configurable. Render-only; el ciclo de vida lo maneja la app."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-toolbar — barra de herramientas moderna: grupos de botones-ícono planos con hover redondeado, estado activo con acento y separadores sutiles. Los grupos son datos (Vec<ToolbarGroup>) → componibles/configurables por el caller; los íconos los dibuja el caller (closure), igual que dock-rail." description = "llimphi-widget-toolbar — barra de herramientas moderna: grupos de botones-ícono planos con hover redondeado, estado activo con acento y separadores sutiles. Los grupos son datos (Vec<ToolbarGroup>) → componibles/configurables por el caller; los íconos los dibuja el caller (closure), igual que dock-rail."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-tooltip — tooltip flotante posicionado por anchor + viewport. Render-only: la app decide cuándo abrir (típico: hover-after-delay manejado en update)." description = "llimphi-widget-tooltip — tooltip flotante posicionado por anchor + viewport. Render-only: la app decide cuándo abrir (típico: hover-after-delay manejado en update)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-transport — botones de transporte de reproductor (play/pause/prev/next/seek/volume/mute/repeat/shuffle/speed/snapshot/record/eq). Stateless: el caller pasa el estado por botón + un handler TransportAction → Msg." description = "llimphi-widget-transport — botones de transporte de reproductor (play/pause/prev/next/seek/volume/mute/repeat/shuffle/speed/snapshot/record/eq). Stateless: el caller pasa el estado por botón + un handler TransportAction → Msg."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-tree — árbol con expand/collapse y selección. Análogo Llimphi al `nahual-widget-tree` GPUI. El caller mantiene el set de nodos expandidos y el seleccionado en su Model; el widget aplana el árbol en filas con indentación y emite Msg al togglear o seleccionar." description = "llimphi-widget-tree — árbol con expand/collapse y selección. Análogo Llimphi al `nahual-widget-tree` GPUI. El caller mantiene el set de nodos expandidos y el seleccionado en su Model; el widget aplana el árbol en filas con indentación y emite Msg al togglear o seleccionar."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-waveform — visor de forma de onda en vivo (envelope min/max relleno + línea central + contorno). Stateless y agnóstico: el caller pasa un closure que rellena un buffer de samples y devuelve la cantidad de canales (fold a mono interno)." description = "llimphi-widget-waveform — visor de forma de onda en vivo (envelope min/max relleno + línea central + contorno). Stateless y agnóstico: el caller pasa un closure que rellena un buffer de samples y devuelve la cantidad de canales (fold a mono interno)."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-wawa-mark — sello vectorial de wawa: rombo con degradado azul índigo → púrpura profundo + 'W' implícita en trazo blanco continuo + Merkle Core luminoso en la sutura. Sin tipografía, todo geometría." description = "llimphi-widget-wawa-mark — sello vectorial de wawa: rombo con degradado azul índigo → púrpura profundo + 'W' implícita en trazo blanco continuo + Merkle Core luminoso en la sutura. Sin tipografía, todo geometría."
[dependencies] [dependencies]
+1
View File
@@ -5,6 +5,7 @@ edition.workspace = true
license.workspace = true license.workspace = true
authors.workspace = true authors.workspace = true
publish.workspace = true publish.workspace = true
repository.workspace = true
description = "llimphi-widget-wrap — contenedor flex que envuelve a la siguiente línea (FlexWrap::Wrap) con gap horizontal+vertical. Para chips, tags, galerías fluidas, toolbars que respiran." description = "llimphi-widget-wrap — contenedor flex que envuelve a la siguiente línea (FlexWrap::Wrap) con gap horizontal+vertical. Para chips, tags, galerías fluidas, toolbars que respiran."
[dependencies] [dependencies]