refactor(sema,eidos): drop 2 orphan @deprecated aliases + translate Spanish comments

Removed orphan deprecated type aliases with no real consumers: sema `IntentPolicy`
(legacy single-axis policy, superseded by intentRequirement + intentGuidance) and
its re-export; eidos `RecipeTokenObject` (→ RecipeTokenDeclaration) and the comment
that named it. Left `IntentExpectedFamily` and `SemaEventLabel` — both are still
consumed by public morfo types / sema functions, so removing them is an API rename,
not dead-code cleanup (documented in SYSTEM-AUDIT).

Translated 3 non-quote Spanish comments to English (sema/chans/types,
sema/projection/index, morfo/year-grid) per the English-comments rule. Book quotes
stay in Spanish (they're the canonical source).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
active-uix
dev 4 months ago
parent 5c18a892a0
commit 19ce90b040

@ -334,7 +334,7 @@ export type TokenScope = AtomicScope | readonly LeafScope[];
/**
* Single declaration of a recipe token under a specific scope. A token may
* have multiple declarations (different scopes) — wrap them in the
* `declarations[]` form of `RecipeTokenObject`.
* `declarations[]` multi-declaration form.
*/
export interface RecipeTokenDeclaration {
/** The CSS value (typically a `var(...)` reference or a literal). */
@ -481,12 +481,6 @@ export type RecipeTokenMap = Readonly<{
}>;
export type RecipeTokenSet = Readonly<Record<string, RecipeTokenMap>>;
/**
* @deprecated kept for any caller that was importing the v1 shape name.
* Use `RecipeTokenDeclaration` going forward.
*/
export type RecipeTokenObject = RecipeTokenDeclaration;
export const DURATION_KEYS = [
'instant',
'fast',

@ -24,9 +24,9 @@ export const yearGridMorfo = {
}
},
{
// Paginar al rango anterior/siguiente de años. Per book cap. 27 §5,
// `shift.navigate` cubre "Página A → página B" — el usuario cambia
// de tramo del eje temporal. Variante `step` para paso discreto.
// Paginate to the previous/next range of years. Per book cap. 27 §5,
// `shift.navigate` covers "Page A → page B" — the user moves to a
// different stretch of the time axis. `step` variant for a discrete step.
name: 'shift-navigate-step',
semantic: {
family: 'shift',

@ -65,9 +65,8 @@ export interface Channel {
handle(signal: SemanticSignal, effective: EffectiveSignature): Promise<void>;
/**
* Permite al canal liberar recursos al desmontar la aplicación.
* Implementación opcional — no todos los canales tienen recursos
* que limpiar.
* Lets the channel release resources when the app unmounts. Optional
* implementation — not every channel has resources to clean up.
*/
dispose?(): void;
}

@ -2,7 +2,6 @@ export type {
SemaValencedFamily,
SemaTransitionalFamily,
SemaFamily,
IntentPolicy,
IntentExpectedFamily,
IntentOptionalFamily,
SemaMode,

@ -1,13 +1,13 @@
// ── Sema projection layer ───────────────────────────────────────────────────
//
// La frontera entre el canal visual y la materialización en DOM. El
// engine despacha señales sin saber cómo se proyectan; `VisualChannel`
// llama a un `SignalProjector` desde `prepare()` para escribir tokens y
// retornar handles de cleanup.
// The boundary between the visual channel and DOM materialization. The
// engine dispatches signals without knowing how they are projected;
// `VisualChannel` calls a `SignalProjector` from `prepare()` to write
// tokens and return cleanup handles.
//
// Hoy hay un único proyector (`DomSignalProjector`). Futuros proyectores:
// - `CustomEventProjector` — re-emite `CustomEvent('sema:event')`.
// - `InertProjector` — no-op para SSR / tests headless.
// Today there is a single projector (`DomSignalProjector`). Future projectors:
// - `CustomEventProjector` — re-emits `CustomEvent('sema:event')`.
// - `InertProjector` — no-op for SSR / headless tests.
export { DomSignalProjector } from './dom'
export type { ProjectionHandle, SignalProjector } from './dom'

@ -35,13 +35,6 @@ export type IntentRequirement = 'required' | 'optional' | 'forbidden';
*/
export type IntentGuidance = 'expected' | 'contextual' | 'discouraged';
/**
* @deprecated Legacy single-axis policy. Use `intentRequirement` +
* `intentGuidance` on `SEMA_FAMILY_POLICY` entries. Kept as a type alias
* for any external consumers transitioning off the old shape.
*/
export type IntentPolicy = 'allowed' | 'expected' | 'optional';
/**
* Per-family doctrinal policy. Two axes:
*

Loading…
Cancel
Save

Powered by TurnKey Linux.