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. 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 ## Novedades 2.0
@ -142,7 +142,6 @@ Reglas de dependencia:
- `core/` no importa Svelte, UI, `days`, `color` ni `langs`. - `core/` no importa Svelte, UI, `days`, `color` ni `langs`.
- `types/` puede importar `core/`, `$libs/color` y `$libs/days`. - `types/` puede importar `core/`, `$libs/color` y `$libs/days`.
- `langs/` define el catalogo `siumLangs` y un fallback minimo de interpolacion. - `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. - `engine-sium.ts` compone la fachada publica.
## Guia Rapida ## Guia Rapida
@ -736,14 +735,13 @@ export const UniqueUsername = pipe(
## Integracion Svelte ## 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 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.
- El core puede usarse sin Svelte. - `Form.AutoFields` auto-renderiza los campos leyendo la introspeccion `~sium` (`kind`, `wrappers`, `meta.widget`, …).
- Los schemas exponen `~standard`, asi que pueden conectarse a consumidores Standard Schema. - Los issues idlangref (`#?sium.errors.*`) los traduce el servicio `langs` compartido, reactivo al locale activo.
- El adapter `svelte/` no esta presente en este arbol porque depende de piezas UI pendientes de port. - langs/logger se inyectan en sium por `createEngineSium({ langs, logger })`. sium es page-scoped: lo declara la app, no el runtime UIX.
- Hasta completar esa migracion, las pruebas y auditorias de Sium deben omitir `src/arts/sium/svelte`.
## Recetas Rapidas ## 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. 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 ## Verificacion Recomendada
```bash ```bash

@ -2,9 +2,10 @@
* # sium — core types * # sium — core types
* *
* Pure TypeScript — no Svelte runtime, no runes, no DOM. Runnable in Node, * Pure TypeScript — no Svelte runtime, no runes, no DOM. Runnable in Node,
* Bun, Deno, Cloudflare Workers, or a browser. The Svelte adapter * Bun, Deno, Cloudflare Workers, or a browser. Svelte integration is
* (`$sium/svelte/`, pending port) and the UI renderer (`Form.AutoFields`) * framework-agnostic and lives in the form layer (`createForm` / `Form.*`),
* live in the framework UI form package. * 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: * 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 * 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 * automatically. Cross-field validation over decoded data should live in an
* object-level refine and use the decoded object value passed to that refine. * object-level refine and use the decoded object value passed to that refine.
* - `locale` — set by adapters (`sium/svelte` injects it from * - `locale` — set by the caller or the engine layer (`createEngineSium`
* the active language engine). Used by refinements that need locale-aware * resolves the active locale from the injected langs). Used by refinements
* validation (date parsing, collation, etc.). * that need locale-aware validation (date parsing, collation, etc.).
* - `meta` — adapter-specific extras. * - `meta` — adapter-specific extras.
*/ */
export interface Ctx { export interface Ctx {

Loading…
Cancel
Save

Powered by TurnKey Linux.