docs(sium): correct stale 'pending svelte adapter' claims

There is no sium-specific Svelte adapter by design: forms (createForm / Form.Provider) consume any schema via ~standard, Form.AutoFields renders via ~sium introspection, and langs/logger inject through createEngineSium(). sium is page-scoped and not an ActiveUix service. Fixes README (Estado, dep rules, Integracion Svelte, troubleshooting) + core/types.ts comments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
active-uix
dev 4 months ago
parent 37fe04693a
commit 41115b852c

@ -28,7 +28,7 @@ el bus de logs con la app.
Core, tipos de dominio, lenguajes, Standard Schema e introspeccion estan activos.
El adapter `svelte/` todavia no esta portado en este arbol. Por eso la suite recomendada para Sium omite la integracion Svelte hasta que esa capa se migre.
Sium no tiene adapter Svelte propio, por diseno: la integracion con UI es agnostica al validador. Los formularios (`createForm` / `Form.Provider`) consumen cualquier schema via `~standard`, `Form.AutoFields` auto-renderiza via la introspeccion `~sium`, y langs/logger se inyectan por `createEngineSium({ langs, logger })`. El core sigue siendo TypeScript puro.
## Novedades 2.0
@ -142,7 +142,6 @@ Reglas de dependencia:
- `core/` no importa Svelte, UI, `days`, `color` ni `langs`.
- `types/` puede importar `core/`, `$libs/color` y `$libs/days`.
- `langs/` define el catalogo `siumLangs` y un fallback minimo de interpolacion.
- `svelte/` es adapter opcional y no debe contaminar el core.
- `engine-sium.ts` compone la fachada publica.
## Guia Rapida
@ -736,14 +735,13 @@ export const UniqueUsername = pipe(
## Integracion Svelte
La futura carpeta `svelte/` representara el adapter para conectar Sium con providers, formularios y resolucion reactiva de errores.
Sium no tiene adapter Svelte propio: la integracion es agnostica al validador y vive en la capa de formularios, no en sium.
Estado actual:
- El core puede usarse sin Svelte.
- Los schemas exponen `~standard`, asi que pueden conectarse a consumidores Standard Schema.
- El adapter `svelte/` no esta presente en este arbol porque depende de piezas UI pendientes de port.
- Hasta completar esa migracion, las pruebas y auditorias de Sium deben omitir `src/arts/sium/svelte`.
- El core es TypeScript puro y se usa sin Svelte.
- Los schemas exponen `~standard` (Standard Schema v1), asi que `createForm` / `Form.Provider` los validan reactivamente igual que a Zod/Valibot/ArkType. Los schemas sincronos resuelven de forma sincrona.
- `Form.AutoFields` auto-renderiza los campos leyendo la introspeccion `~sium` (`kind`, `wrappers`, `meta.widget`, …).
- Los issues idlangref (`#?sium.errors.*`) los traduce el servicio `langs` compartido, reactivo al locale activo.
- langs/logger se inyectan en sium por `createEngineSium({ langs, logger })`. sium es page-scoped: lo declara la app, no el runtime UIX.
## Recetas Rapidas
@ -840,10 +838,6 @@ refine((value) => Promise.resolve(Boolean(value)), { code: 'custom' }, { async:
Los errores emitidos dentro de schemas hijos deben usar `ctx.path`. Sium pasa paths absolutos a hijos de object y array.
### `npm run check` falla en `sium/svelte`
Es esperado mientras el provider UI no este portado. El core de Sium se valida con la suite sin Svelte.
## Verificacion Recomendada
```bash

@ -2,9 +2,10 @@
* # sium — core types
*
* Pure TypeScript — no Svelte runtime, no runes, no DOM. Runnable in Node,
* Bun, Deno, Cloudflare Workers, or a browser. The Svelte adapter
* (`$sium/svelte/`, pending port) and the UI renderer (`Form.AutoFields`)
* live in the framework UI form package.
* Bun, Deno, Cloudflare Workers, or a browser. Svelte integration is
* framework-agnostic and lives in the form layer (`createForm` / `Form.*`),
* not in a sium-specific adapter: any Standard Schema consumer drives sium
* schemas via `~standard` / `~sium`.
*
* Contract and design rules are frozen in the module README. Key invariants:
*
@ -198,9 +199,9 @@ export type Result<T> =
* by the caller or adapter, but the core does not assign decoded root values
* automatically. Cross-field validation over decoded data should live in an
* object-level refine and use the decoded object value passed to that refine.
* - `locale` — set by adapters (`sium/svelte` injects it from
* the active language engine). Used by refinements that need locale-aware
* validation (date parsing, collation, etc.).
* - `locale` — set by the caller or the engine layer (`createEngineSium`
* resolves the active locale from the injected langs). Used by refinements
* that need locale-aware validation (date parsing, collation, etc.).
* - `meta` — adapter-specific extras.
*/
export interface Ctx {

Loading…
Cancel
Save

Powered by TurnKey Linux.