docs: reserve seam for complete capabilities
This commit is contained in:
@@ -211,7 +211,7 @@ export type MatchedShare<E extends SlotEntryDef, M> =
|
||||
/**
|
||||
* Conversation-session selector hook alias for props contracts. Wide by
|
||||
* default at this dependency-inverted layer; the runtime narrows at its
|
||||
* export seam (`UseSession<ConversationSnapshot>`).
|
||||
* export outlet (`UseSession<ConversationSnapshot>`).
|
||||
*/
|
||||
export type UseSession<Snap extends object = object> = SnapshotSelectorHook<Snap>
|
||||
|
||||
@@ -392,7 +392,7 @@ type BaseOptions<K extends keyof SlotMap & string, D extends ChildrenDecl, H, M
|
||||
|
||||
/**
|
||||
* One stored registration, as recorded by the core and read by the render
|
||||
* machinery (type-erased at this boundary; the register seam already proved
|
||||
* machinery (type-erased at this boundary; the registration contract already proved
|
||||
* the shares against the component).
|
||||
*/
|
||||
export interface StoredEntry {
|
||||
@@ -467,7 +467,7 @@ interface SlotRecord {
|
||||
const NO_ENTRIES: readonly StoredEntry[] = Object.freeze([])
|
||||
|
||||
/**
|
||||
* Pure slot registry (no cordis; event emission and the renderer install seam
|
||||
* Pure slot registry (no cordis; event emission and the renderer installation contract
|
||||
* live in the runtime Service wrapper).
|
||||
*
|
||||
* The 'root' slot is the one a-priori declaration, seeded at construction
|
||||
|
||||
@@ -34,11 +34,11 @@ export interface HostObservable<T> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Type-erased store instance face at the render seam (the typed twin is
|
||||
* Type-erased store instance face at the render boundary (the typed twin is
|
||||
* {@link StoreInstance}): a bare snapshot source plus the draft-stripped
|
||||
* action callbacks. No React hook crosses this seam — the render machinery
|
||||
* action callbacks. No React hook crosses this boundary — the render machinery
|
||||
* binds `useStore` from the source at its own side (cached per instance);
|
||||
* typing lands at the component seam via {@link PropsStore}.
|
||||
* typing lands at the component boundary via {@link PropsStore}.
|
||||
*/
|
||||
export interface StoreInstanceLike {
|
||||
getSnapshot(): unknown
|
||||
@@ -54,7 +54,7 @@ export interface StoreInstanceLike {
|
||||
/**
|
||||
* Per-session standard props resolved per session id (identity-stable per
|
||||
* session scope; a recreated scope yields a new info). Plugins contribute
|
||||
* members through the runtime `sessions.provide` seam; the render side binds
|
||||
* members through the runtime `sessions.provide` contract; the render side binds
|
||||
* every `hooks` source into a `use<Name>` selector hook (hooks never appear
|
||||
* on the host contract) and spreads `props` verbatim. The runtime itself
|
||||
* contributes the first entry (`'session'` → `useSession`).
|
||||
@@ -161,7 +161,7 @@ export interface SlotRendererHost {
|
||||
locale?: LocaleFace | undefined
|
||||
}
|
||||
|
||||
/** The install seam: runtime owns install()/renderSlot(); web-react implements rendering. */
|
||||
/** The installation contract: runtime owns install()/renderSlot(); web-react implements rendering. */
|
||||
export interface SlotRenderer {
|
||||
/**
|
||||
* Render the root slot tree over the host surface (the only ctx-level entry).
|
||||
|
||||
Reference in New Issue
Block a user