API reference
@searsuite/sear-assembly-core
The staged Sheet and Doc runtimes that execute pipelines and commit transactions.
65 exportsderived from source
- enumPipelineStepKindsource ↗
-
enum PipelineStepKindBuilt-in pipeline step kinds understood by SearCoreSheet.
enum memberInteraction Interaction: "interaction"Update local sheet interaction state; never synchronized through OT.
enum memberLocalAction LocalAction: "local-action"Run a command-owned local action; never synchronized through OT.
enum memberPostCommit PostCommit: "post-commit"Publish a command-owned local state change only after staging succeeds.
enum memberPostRender PostRender: "post-render"Re-render after the current frame's dirty regions have been flushed.
enum memberPreparedAction PreparedAction: "prepared-action"Prepare a local resource and return its rollback for failed staging.
enum memberRender Render: "render"Re-render a single plugin (no state change).
enum memberTransaction Transaction: "transaction"Stage a Transaction for atomic commit after every pipeline step succeeds.
- classConsolePipelineLoggersource ↗
-
class ConsolePipelineLogger extends PipelineLifecycleConsole logger middleware for Pipeline lifecycle events.
Registers as a PipelineLifecycle hook and emits styled console output at each stage:
🚀 Pipeline: edit-exit-and-select (3 steps, 1 dirty) 📝 commit-cell-value → set R0C0 = {richtext} ✅ commit-cell-value 📝 exit-edit-mode → clear editor ✅ exit-edit-mode 🏁 Pipeline done — renderedThis is the only place that touches console — the execution engine and caller code are fully decoupled from logging.
constructorconstructor ConsolePipelineLogger(): ConsolePipelineLoggermethodonComplete onComplete(_pipeline: Pipeline, rendered: boolean): voidHandles the complete lifecycle event.
_pipeline: Pipelinerendered: boolean
methodonStart onStart(pipeline: Pipeline): voidHandles the start lifecycle event.
pipeline: Pipeline
methodonStepComplete onStepComplete(step: PipelineStep, _pipeline: Pipeline): voidHandles the step complete lifecycle event.
step: PipelineStep_pipeline: Pipeline
methodonStepStart onStepStart(step: PipelineStep, _pipeline: Pipeline, detail: string): voidHandles the step start lifecycle event.
step: PipelineStep_pipeline: Pipelinedetail: string
- classDocCompositionManagersource ↗
-
class DocCompositionManager extends DocCompositionProviderOwns optional IME composition state independently from cursor and selection state.
constructorconstructor DocCompositionManager(textShaper: TextShaper): DocCompositionManagertextShaper: TextShaper
propertysymbolstatic readonly symbol: symbolDI token for resolving DocCompositionManager.
methodclear clear(teardownToken?: object): voidClears all composing state.
teardownToken: object
methodenforceCommandBoundary enforceCommandBoundary(isCommandExecuting: (): boolean, teardownToken?: object): voidCloses direct composition writes after editor assembly.
isCommandExecuting: (): booleanteardownToken: object
methodgetCaretOffset getCaretOffset(): numberReturns the logical caret offset inside the composing text.
methodgetCaretPixelOffset getCaretPixelOffset(): numberReturns the latest measured caret pixel offset.
methodgetText getText(): stringReturns the current composing text.
methodmeasure measure(font?: string): DocCompositionLayoutMeasures current composing text and records the caret pixel offset for rendering.
font: string
methodsetText setText(text: string, caretOffset?: number): voidUpdates the active composing text and logical caret offset.
text: stringcaretOffset: number
- classDocCursorManagersource ↗
-
class DocCursorManagerInjectable singleton that bridges document input state and render-node drawing.
- The plugin computes pixel cursor coordinates (via DocLayoutEngine) and
calls
setCursor()before triggering a rerender. - Document overlay render nodes read
getCursor()and draw the cursor bar if set. - clearCursor() is called on edit-session end so stale state is never drawn.
constructorconstructor DocCursorManager(): DocCursorManagerpropertysymbolstatic readonly symbol: symbolDI token for resolving DocCursorManager.
methodclearCursor clearCursor(teardownToken?: object): voidClear cursor and selection state (call on edit-session end).
teardownToken: object
methodenforceCommandBoundary enforceCommandBoundary(isCommandExecuting: (): boolean, teardownToken: object): voidSeals assembled cursor writes while preserving command-owned rendering.
isCommandExecuting: (): booleanteardownToken: object
methodgetCursor getCursor(): CursorRenderInfo | nullRead the cursor render info. Returns null when no edit session is active.
methodgetSelectionRects getSelectionRects(): SelectionRect[]Read the selection highlight rectangles.
methodsetCursor setCursor(info: CursorRenderInfo): voidSet (or update) the cursor render info for the upcoming draw call.
info: CursorRenderInfo
methodsetSelectionRects setSelectionRects(rects: SelectionRect[]): voidSet selection highlight rectangles for the upcoming draw call.
rects: SelectionRect[]
- The plugin computes pixel cursor coordinates (via DocLayoutEngine) and
calls
- classDocImmediateRenderPaintersource ↗
-
class DocImmediateRenderPainterShared painter for embedded rich-document content and transient viewport output.
constructorconstructor DocImmediateRenderPainter(cursorManager: DocCursorManager, scrollManager: ScrollManager, lineRenderer: RichTextLineRenderer, compositionManager?: DocCompositionManager | null): DocImmediateRenderPainterCreates a painter over the document cursor and scroll services.
cursorManager: DocCursorManagerscrollManager: ScrollManagerlineRenderer: RichTextLineRenderercompositionManager: DocCompositionManager | null
methoddrawContent drawContent(context: RenderContext, input: DocImmediateRenderPainterContentInput): voidDraws text lines from a layout snapshot in the caller's current transform.
context: RenderContextinput: DocImmediateRenderPainterContentInput
methoddrawSelectionRectsInViewport drawSelectionRectsInViewport(context: RenderContext): voidDraws selection rectangles in viewport coordinates under an identity transform.
context: RenderContext
methoddrawSelectionRectsInWorld drawSelectionRectsInWorld(context: RenderContext): voidDraws selection rectangles using the caller's current world transform.
context: RenderContext
methoddrawTextCursorOverlayInViewport drawTextCursorOverlayInViewport(context: RenderContext): voidDraws IME composing text and caret in viewport coordinates.
context: RenderContext
- classDocInputPluginsource ↗
-
class DocInputPlugin extends Plugin<SearCoreDoc, NodeProperties, DocInputState>Plugin that applies rich-document text input and cursor navigation commands.
constructorconstructor DocInputPlugin(docLayoutEngine: DocLayoutEngine, platform?: Platform): DocInputPluginConstructs the document input plugin with editor-session state only.
docLayoutEngine: DocLayoutEngineplatform: Platform
propertytransactionOT readonly transactionOT: { definition: TransactionOTDefinition<RichDocOTOperation>; ownerId: "doc.input"; relations: readonly [OTTransformRelation<RichDocOTOperation, RichDocOTOperation>] }All document data mutations use the shared RichDoc OT operation family.
propertypluginKeystatic readonly pluginKey: PluginKeyStable plugin key for document input state.
propertysymbolstatic readonly symbol: symbolDI token for resolving the document input plugin.
membersession session: unknownmethodapply apply(state: DocInputState, transaction: Transaction): DocInputState | nullApplies rich-document OT transactions owned by the document input plugin.
state: DocInputStatetransaction: Transaction
methodclearSession clearSession(): voidClears the current edit session state.
methodcreateArrowTransaction createArrowTransaction(direction: DocCursorDirection, shiftKey: boolean): TransactionBuilds a transaction for arrow-key cursor navigation.
direction: DocCursorDirectionshiftKey: boolean
methodcreateDeleteTransaction createDeleteTransaction(): TransactionBuilds a transaction for Backspace deletion.
methodcreateInputTransaction createInputTransaction(text: string): TransactionBuilds a transaction for committed text input.
text: string
methodcreateReplaceDocumentTransaction createReplaceDocumentTransaction(document: RichDocNode[], selection?: DocSelection): TransactionBuilds a RichDoc OT transaction that replaces the active document session.
document: RichDocNode[]selection: DocSelection
methodcreateSelectAllTransaction createSelectAllTransaction(): TransactionBuilds a transaction that selects all content in the current document session.
methodcreateSoftEnterTransaction createSoftEnterTransaction(): TransactionBuilds a transaction for soft-enter paragraph splitting.
methodcreateTransaction createTransaction(command: DocCommand, docTransaction?: DocTransaction): TransactionBuilds a workspace transaction from a rich-document domain command.
command: DocCommanddocTransaction: DocTransaction
methodenforceSessionWriteBoundary enforceSessionWriteBoundary(isCommandExecuting: (): boolean, commitToken: object, runWithoutMutationAuthority?: <Value>(callback: (): Value): Value): voidBinds the owning editor's command and commit boundary after initial state registration.
isCommandExecuting: (): booleancommitToken: objectrunWithoutMutationAuthority: <Value>(callback: (): Value): Value
methodgetLastSnapshot getLastSnapshot(): LayoutSnapshot | nullReturns the derived layout snapshot used for vertical cursor movement.
methodgetPluginConfig getPluginConfig(_searCore: SearCoreDoc): nullDocument input has no plugin configuration.
_searCore: SearCoreDoc
methodhandleArrow handleArrow(direction: DocCursorDirection, shiftKey: boolean): DocInputDispatchResultHandles arrow-key cursor navigation.
direction: DocCursorDirectionshiftKey: boolean
methodhandleDelete handleDelete(): DocInputDispatchResultHandles Backspace deletion.
methodhandleInput handleInput(text: string): DocInputDispatchResultHandles committed text input.
text: string
methodhandleSelectAll handleSelectAll(): DocInputDispatchResultSelects all content in the current document session.
methodhandleSoftEnter handleSoftEnter(): DocInputDispatchResultHandles soft-enter paragraph splitting.
methodonTransactionCommitted onTransactionCommitted(transaction: Transaction): voidPublishes committed document and selection projections after Core commits this plugin's transaction.
transaction: Transaction
methodregisterState registerState(): { key: PluginKey; state: DocInputState }Registers document input state under the plugin key.
methodrender render(_searCore: SearCoreDoc): Node<NodeProperties>[] | nullDocument input does not render scene nodes directly.
_searCore: SearCoreDoc
methodresetSession resetSession(doc: RichDocNode[], selection?: DocSelection): voidReplaces the current edit session document and selection.
doc: RichDocNode[]selection: DocSelection
methodrestoreSelection restoreSelection(selection: DocSelection): voidReplaces local selection during session restoration without changing document content.
selection: DocSelection
methodsealSessionRestoration sealSessionRestoration(): voidCloses the document initialization and session restoration phase.
methodsetLastSnapshot setLastSnapshot(snapshot: LayoutSnapshot | null): voidStores the last layout snapshot for cursor navigation.
snapshot: LayoutSnapshot | null
methodsubscribeDocument subscribeDocument(listener: (): void): (): voidSubscribes to committed document projection changes.
listener: (): void
methodsubscribeSelection subscribeSelection(listener: (): void): (): voidSubscribes to committed selection projection changes.
listener: (): void
Inherited members 28
Inherited from Plugin.
- depth
- documentState
- interestedIn
- pluginKey
- transactionHistory
- warnOnDuplicateDepth
- key
- dirtyRect
- enforceRuntimeWriteBoundary
- enforceStateWriteBoundary
- getState
- hasStateWriteBoundary
- lockCommittedState
- onClick
- onDblClick
- onInitialDataCell
- onInitialDataComplete
- onMouseDown
- onMouseMove
- onMouseUp
- onResize
- onScroll
- projectTransaction
- registerConfig
- sealRuntimeMetadata
- sealRuntimeMethods
- sealRuntimeWrites
- setState
- classDocRenderEnginesource ↗
-
class DocRenderEngine extends RenderEngine<NodeProperties, RenderCoordinatorManager>Document render engine that mirrors Sheet's fixed strategy chain.
Domain-specific layout and SceneGraph projection happen before this class. The render engine owns only SceneGraph painting, dirty marks, viewport resizing, and ordered strategy dispatch.
constructorconstructor DocRenderEngine(scrollManager: ScrollManager, renderContext: RenderContext, configEngine: ConfigEngine, renderCoordinatorManager: RenderCoordinatorManager, stage: SceneGraph<NodeProperties>, renderStrategyManager: RenderStrategyManager<NodeProperties>, screenRenderStrategy: ScreenRenderStrategy<NodeProperties>, dirtyRenderStrategy: DirtyRenderStrategy<NodeProperties>, stickyRenderStrategy: StickyRenderStrategy<NodeProperties>, overlayRenderStrategy: OverlayRenderStrategy<NodeProperties>): DocRenderEngineCreates a render engine for one document editor instance.
scrollManager: ScrollManagerrenderContext: RenderContextconfigEngine: ConfigEnginerenderCoordinatorManager: RenderCoordinatorManagerstage: SceneGraph<NodeProperties>renderStrategyManager: RenderStrategyManager<NodeProperties>screenRenderStrategy: ScreenRenderStrategy<NodeProperties>dirtyRenderStrategy: DirtyRenderStrategy<NodeProperties>stickyRenderStrategy: StickyRenderStrategy<NodeProperties>overlayRenderStrategy: OverlayRenderStrategy<NodeProperties>
propertysymbolstatic readonly symbol: symbolDI token for resolving DocRenderEngine.
methodgetLastScreenRenderMode getLastScreenRenderMode(): ScreenRenderFrameMode | nullReturns the screen strategy mode used by the last render pass, if it painted.
methodinitialize initialize(): voidInitializes DocRenderEngine.
methodinvalidateScreenCache invalidateScreenCache(): voidInvalidates the off-screen body cache used by the screen strategy.
methodmarkDirty markDirty(rect: PositionRect<templateLiteral>): voidMarks one document-world rectangle dirty for the next dirty pass.
rect: PositionRect<templateLiteral>
methodrender render(node: Node<NodeProperties>): voidRuns the configured document render strategies over the current scene graph.
node: Node<NodeProperties>
methodresize resize(width: number, height: number, scale: number): voidResizes all Doc render layers and invalidates screen-cache reuse.
width: numberheight: numberscale: number
methodsetBlockRasterCopyPlan setBlockRasterCopyPlan(plan: BlockRasterCopyPlan | null): voidSupplies one layout-shift raster-copy plan for the next screen render pass.
plan: BlockRasterCopyPlan | null
methodsetViewport setViewport(viewport: DocRenderViewport): voidUpdates the viewport model used by subsequent render frames.
viewport: DocRenderViewport
methodsetViewScale setViewScale(scale: number): voidUpdates the view scale on every render strategy context.
scale: number
Inherited members 5
Inherited from RenderEngine.
- classNoopDocCompositionProvidersource ↗
-
class NoopDocCompositionProvider extends DocCompositionProviderNull provider used when no composition plugin is installed.
constructorconstructor NoopDocCompositionProvider(): NoopDocCompositionProvidermethodmeasure measure(_font: string): DocCompositionLayoutMeasures no composing text.
_font: string
- classPipelinesource ↗
-
class PipelineAn observable, ordered conduit for state changes and renders.
The Pipeline is not a batch-optimisation — it is a monitoring and debugging tool. Every operation (transaction dispatch, render-only refresh, editor input, cell selection…) should be pushed through a Pipeline so that the full lifecycle is logged and traceable.
Lifecycle hooks (PipelineLifecycle) can be registered via
use(). The execution engine calls these hooks at each stage, keeping the Pipeline itself decoupled from any specific logging or metrics logic.Usage:
// A single-transaction dispatch (selection, collab, etc.) const p = Pipeline.fromTransaction('select-cell', tx); searCore.executePipeline(p); // A multi-step operation (edit-exit-and-select) const p = new Pipeline(featurePipelineName); p.add(featureCommitStepName, cellValueTx); p.add(featureCleanupStepName, cleanupTx); p.addRender(featureRefreshStepName, selectionPluginKey); p.markDirty(editorRect); searCore.executePipeline(p);constructorconstructor Pipeline(name: string): PipelineCreates a named pipeline for diagnostics and command results.
name: string
propertydirtyRects readonly dirtyRects: PositionRect<templateLiteral>[]Dirty rectangles accumulated before the render phase.
propertyname readonly name: stringpropertysteps readonly steps: PipelineStep[]Ordered steps that will be executed by the pipeline executor.
methodadd add(stepName: string, transaction: Transaction): thisAppend a transaction step (shorthand).
stepName: stringtransaction: Transaction
methodaddCustom addCustom(stepName: string, kind: string, data?: unknown): thisAdd a step handled by an executor registered by the host or an extension.
stepName: stringkind: stringdata: unknown
methodaddInteraction addInteraction(stepName: string, interaction: SheetInteractionSignal): thisAppend a local interaction-state transition.
stepName: stringinteraction: SheetInteractionSignal
methodaddLocalAction addLocalAction(stepName: string, localAction: (): void): thisAppend a command-owned local action step.
stepName: stringlocalAction: (): void
methodaddPostCommit addPostCommit(stepName: string, postCommit: (): void): thisAppend a local state publication deferred until all steps have staged successfully.
stepName: stringpostCommit: (): void
methodaddPostRender addPostRender(stepName: string, pluginKey: PluginKey): thisSchedule a visual refresh after this pipeline's normal frame has completed. Use this when a second scene update must not consume dirty regions produced by transaction-driven plugins in the same frame.
stepName: stringpluginKey: PluginKey
methodaddPreparedAction addPreparedAction(stepName: string, prepare: (): (): void): thisPrepare an editor-local resource that is released if later staging fails.
stepName: stringprepare: (): (): void
methodaddRender addRender(stepName: string, pluginKey: PluginKey): thisAppend a render-only step for the given plugin.
stepName: stringpluginKey: PluginKey
methodaddTransaction addTransaction(stepName: string, transaction: Transaction): thisAppend a transaction step.
stepName: stringtransaction: Transaction
methodemitComplete emitComplete(rendered: boolean): voidNotify all hooks that the pipeline has completed.
rendered: boolean
methodemitStart emitStart(): voidNotify all hooks that the pipeline is starting.
methodemitStepComplete emitStepComplete(step: PipelineStep): voidNotify all hooks that a step has completed.
step: PipelineStep
methodemitStepStart emitStepStart(step: PipelineStep): voidNotify all hooks that a step is starting. Provides auto-derived detail.
step: PipelineStep
methodmarkDirty markDirty(rect: PositionRect<templateLiteral>): thisDefers a dirty rectangle until the pipeline executor reaches render.
rect: PositionRect<templateLiteral>
methoduse use(hook: PipelineLifecycle): thisRegister a lifecycle hook (middleware). Hooks fire in registration order.
hook: PipelineLifecycle
methodfromRenderstatic fromRender(name: string, pluginKey: PluginKey): PipelineCreates a pipeline containing one render step for a plugin key.
name: stringpluginKey: PluginKey
methodfromTransactionstatic fromTransaction(name: string, transaction: Transaction): PipelineCreates a pipeline containing one transaction step.
name: stringtransaction: Transaction
- classPipelineStepExecutorRegistrysource ↗
-
class PipelineStepExecutorRegistryPer-container registry of Pipeline step executors.
The sheet core owns frame flushing; executors only perform their local work through PipelineStepExecutionContext. This keeps custom steps extensible without allowing them to bypass dirty-region or render-frame boundaries.
constructorconstructor PipelineStepExecutorRegistry(): PipelineStepExecutorRegistrypropertysymbolstatic readonly symbol: typeof symbolDI token for resolving PipelineStepExecutorRegistry.
methodget get(kind: string): PipelineStepExecutor | undefinedReturns the value.
kind: string
methodregister register(executor: PipelineStepExecutor): (): voidRegisters the value.
executor: PipelineStepExecutor
- classSearContractViolationErrorsource ↗
-
class SearContractViolationError extends SearErrorError thrown when an internal assembly contract is violated.
constructorconstructor SearContractViolationError(message: string, details?: SearErrorDetails): SearContractViolationErrorCreates a SearContractViolationError instance.
message: stringdetails: SearErrorDetails
propertycode readonly code: "SEAR_CONTRACT_VIOLATION"Stable machine-readable error code.
Inherited members 9
Inherited from SearError.
- classSearCoresource ↗
-
class SearCore<ChildType, NodeTypeProperties, RenderCoordinatorManagerType>Platform-neutral core contract shared by sheet and document hosts.
constructorconstructor SearCore<ChildType, NodeTypeProperties, RenderCoordinatorManagerType>(): SearCore<ChildType, NodeTypeProperties, RenderCoordinatorManagerType>propertysymbolstatic readonly symbol: symbolDI token for resolving the active core implementation.
methodgetPlugin getPlugin(pluginKey: PluginKey): unknownRetrieves a plugin instance by plugin key.
pluginKey: PluginKey
methodregisterPlugin registerPlugin<T>(plugin: Plugin<SearCore<ChildType, NodeTypeProperties, RenderCoordinatorManagerType>, NodeTypeProperties, T>): voidRegisters a plugin with the core's plugin manager.
plugin: Plugin<SearCore<ChildType, NodeTypeProperties, RenderCoordinatorManagerType>, NodeTypeProperties, T>
- classSearCoreDocsource ↗
-
class SearCoreDoc extends SearCore<SearCoreDoc, NodeProperties, unknown>Stages and commits rich-document transactions for one editor runtime.
constructorconstructor SearCoreDoc(blockManager: BlockManager, docCursorManager: DocCursorManager, docCompositionManager: DocCompositionManager, docLayoutEngine: DocLayoutEngine, pluginManager: PluginManager<SearCoreDoc, NodeProperties>, stepExecutorRegistry?: PipelineStepExecutorRegistry, runtimeLayers?: SearCoreDocRuntimeLayers): SearCoreDocCreates a SearCoreDoc instance.
blockManager: BlockManagerdocCursorManager: DocCursorManagerdocCompositionManager: DocCompositionManagerdocLayoutEngine: DocLayoutEnginepluginManager: PluginManager<SearCoreDoc, NodeProperties>stepExecutorRegistry: PipelineStepExecutorRegistryruntimeLayers: SearCoreDocRuntimeLayers
propertyblockManager blockManager: BlockManagerpropertyconfigEngine configEngine: ConfigEngine<any> | nullConfiguration layer used by standalone document hosts when configured by assembly.
propertyeventEngine eventEngine: EventEngine<NodeProperties> | nullEvent pipeline and hit-testing facade used by standalone document hosts.
propertypluginManager readonly pluginManager: PluginManager<SearCoreDoc, NodeProperties>Plugin manager for document runtime service plugins.
propertyrenderEngine renderEngine: DocRenderEngine | nullRender engine used by standalone document hosts when configured by assembly.
propertyrenderStage renderStage: SceneGraph<NodeProperties> | nullScene graph used by standalone document rendering when configured by assembly.
propertypluginManagerSymbolstatic readonly pluginManagerSymbol: symbolDI token for resolving the Doc-owned PluginManager without colliding with Sheet managers.
propertyruntimeLayersSymbolstatic readonly runtimeLayersSymbol: symbolDI token for resolving the Doc runtime layers owned by this Core instance.
propertysymbolstatic readonly symbol: symbolDI token for resolving SearCoreDoc.
methodbindDocRenderRequestHandler bindDocRenderRequestHandler(handler: DocRenderRequestHandler): voidBinds the document render scheduler used by hosts that execute document commands.
handler: DocRenderRequestHandler
methodclearDocRenderRequests clearDocRenderRequests(): voidClears diagnostic document render request history.
methoddestroy destroy(ownerToken?: object): voidReleases standalone document runtime ownership held by Core.
ownerToken: object
methodenforceCommandBoundary enforceCommandBoundary(isCommandExecuting: (): boolean, runWithoutMutationAuthority?: <Value>(callback: (): Value): Value): voidPermanently require command dispatch for state-changing pipelines in an assembled editor.
isCommandExecuting: (): booleanrunWithoutMutationAuthority: <Value>(callback: (): Value): Value
methodenforceTeardownBoundary enforceTeardownBoundary(ownerToken: object): voidReserves assembled Doc Core cleanup for its editor facade.
ownerToken: object
methodexecutePipeline executePipeline(pipeline: Pipeline): voidExecutes document command work through the shared observable Pipeline contract.
pipeline: Pipeline
methodexportSnapshot exportSnapshot(document?: readonly RichDocNode[]): Schema[]Exports a runtime document as the shared rich-document schema snapshot.
document: readonly RichDocNode[]
methodgetDocRenderLayoutState getDocRenderLayoutState(): DocRenderLayoutState | nullReturns the layout state consumed by DocPlugin.render().
methodgetDocRenderRequests getDocRenderRequests(): readonly DocRenderRequest[]Returns a diagnostic snapshot of document render requests seen by this core.
methodgetLayoutSnapshot getLayoutSnapshot(): LayoutSnapshot | nullReturns the latest document layout snapshot prepared by Core.
methodgetPlugin getPlugin<T>(pluginKey: PluginKey): T | undefinedReturns the plugin.
pluginKey: PluginKey
methodgetPluginInstance getPluginInstance(pluginKey: PluginKey): Plugin<SearCoreDoc, NodeProperties, any> | undefinedGet a plugin instance by key (for calling plugin-specific methods).
pluginKey: PluginKey
methodinitialize initialize(): voidInitializes core-owned state, scene nodes, and runtime services.
methodloadSnapshot loadSnapshot(snapshot: readonly Schema[]): RichDocNode[]Loads one shared rich-document schema snapshot into this Core runtime.
snapshot: readonly Schema[]
methodmaterializeSnapshot materializeSnapshot(snapshot: readonly Schema[]): RichDocNode[]Converts a shared snapshot into detached runtime nodes without changing Core state.
snapshot: readonly Schema[]
methodprepareEditorRenderLayout prepareEditorRenderLayout(input: DocEditorRenderLayoutInput): DocPreparedEditorRenderLayoutPrepares the current editable document frame through the Doc-owned layout path used by standalone document hosts and embedded editors.
input: DocEditorRenderLayoutInput
methodregisterPlugin registerPlugin<T>(plugin: Plugin<SearCoreDoc, NodeProperties, T>): (): voidRegisters the plugin.
plugin: Plugin<SearCoreDoc, NodeProperties, T>
methodrequestDocRender requestDocRender(pluginKey?: PluginKey): voidRequests a document render for plugin-owned render nodes.
pluginKey: PluginKey
methodresolveCursorFromPoint resolveCursorFromPoint(x: number, y: number, snapshot: LayoutSnapshot): DocCursorPosResolves a point inside the editable document frame to the closest document cursor position.
x: numbery: numbersnapshot: LayoutSnapshot
methodsetDocRenderLayoutState setDocRenderLayoutState(state: DocRenderLayoutState | null): voidSets the layout state consumed by DocPlugin.render().
state: DocRenderLayoutState | null
methodstart start(): voidStarts standalone document runtime layers after initial plugin-node construction.
methodunregisterPlugin unregisterPlugin(pluginKey: PluginKey): voidUnregisters a plugin and removes core-owned runtime output for it.
pluginKey: PluginKey
- classSearCoreSheetsource ↗
-
class SearCoreSheet extends SearCore<SearCoreSheet, CellProperties, SheetRenderCoordinatorManager>Sheet-specific core runtime that coordinates plugins, data, render, events and pipeline execution.
constructorconstructor SearCoreSheet(stage: SceneGraph<CellProperties>, pluginManager: PluginManager<SearCoreSheet, CellProperties>, dataEngine: SheetDataEngine, renderEngine: RenderEngine<CellProperties, SheetRenderCoordinatorManager>, eventEngine: EventEngine<CellProperties>, configEngine: ConfigEngine, lifecycleCoordinator: SheetLifecycleCoordinator, interactionStore: SheetInteractionStore, stepExecutorRegistry: PipelineStepExecutorRegistry, platform?: Platform): SearCoreSheetCreates a sheet core from the DI-provided runtime services.
stage: SceneGraph<CellProperties>pluginManager: PluginManager<SearCoreSheet, CellProperties>dataEngine: SheetDataEnginerenderEngine: RenderEngine<CellProperties, SheetRenderCoordinatorManager>eventEngine: EventEngine<CellProperties>configEngine: ConfigEnginelifecycleCoordinator: SheetLifecycleCoordinatorinteractionStore: SheetInteractionStorestepExecutorRegistry: PipelineStepExecutorRegistryplatform: Platform
propertyconfigEngine configEngine: ConfigEngineConfiguration registry used by sheet plugins.
propertydataEngine dataEngine: DataEngineData registry for plugin-owned sheet state.
propertyeventEngine eventEngine: EventEngine<CellProperties>Event pipeline and hit-testing facade for sheet interactions.
propertypluginManager readonly pluginManager: PluginManager<SearCoreSheet, CellProperties>Ordered plugin registry for this sheet runtime.
propertyrenderEngine renderEngine: RenderEngine<CellProperties, SheetRenderCoordinatorManager>Render pipeline facade for visible sheet scene updates.
methoddestroy destroy(token?: object): voidReleases runtime controllers and their subscriptions owned by this sheet.
token: object
methodenforceCommandBoundary enforceCommandBoundary(isCommandExecuting: (): boolean): voidPermanently require command dispatch for state-changing pipelines in an assembled editor.
isCommandExecuting: (): boolean
methodenforceTeardownBoundary enforceTeardownBoundary(token: object): voidReserves assembled runtime teardown for the owning editor facade.
token: object
methodexecutePipeline executePipeline(pipeline: Pipeline): voidExecute a Pipeline — the single monitoring conduit for all state changes and render triggers.
Lifecycle hooks on the Pipeline emit observability events. Callers that construct a Pipeline can attach ConsolePipelineLogger explicitly when console diagnostics are desired.
pipeline: Pipeline
methodgetDataEngine getDataEngine(): SheetDataEngineReturns the sheet data engine with sheet-specific helpers.
methodgetPlugin getPlugin(pluginKey: PluginKey): unknownReturns state owned by the plugin identified by the given key.
pluginKey: PluginKey
methodgetRenderEngine getRenderEngine(): RenderEngine<CellProperties, SheetRenderCoordinatorManager>Returns the render engine bound to this sheet core.
methodgetStage getStage(): SceneGraph<CellProperties>Returns the scene graph used by render and event strategies.
methodinitialize initialize(): voidBuilds plugin state and initial scene nodes without starting runtime effects.
methodpreviewTransactionStates previewTransactionStates(transactions: readonly Transaction<Operation>[]): ReadonlyMap<PluginKey, unknown>Stages document transactions for a command without publishing their states.
transactions: readonly Transaction<Operation>[]
methodregisterPlugin registerPlugin<T>(plugin: Plugin<SearCoreSheet, CellProperties, T>): voidRegisters and initializes a plugin after core startup.
plugin: Plugin<SearCoreSheet, CellProperties, T>
methodrequestRender requestRender<T>(plugin: Plugin<SearCoreSheet, CellProperties, T>): voidConvenience: wrap a render-only refresh in a Pipeline and execute it.
plugin: Plugin<SearCoreSheet, CellProperties, T>
methodstart start(): voidStarts rendering, events, and lifecycle-owned runtime controllers.
- classSearDocParseErrorsource ↗
-
class SearDocParseError extends SearErrorError thrown when document input cannot be parsed.
constructorconstructor SearDocParseError(message: string, details?: SearErrorDetails): SearDocParseErrorCreates a SearDocParseError instance.
message: stringdetails: SearErrorDetails
propertycode readonly code: "SEAR_DOC_PARSE"Stable machine-readable error code.
Inherited members 9
Inherited from SearError.
- classSearLifecycleErrorsource ↗
-
class SearLifecycleError extends SearErrorError thrown for invalid sheet lifecycle transitions.
constructorconstructor SearLifecycleError(operation: string, state: string, message?: string): SearLifecycleErrorCreates a SearLifecycleError instance.
operation: stringstate: stringmessage: string
propertycode readonly code: "SEAR_LIFECYCLE_INVALID_STATE"Stable machine-readable error code.
Inherited members 9
Inherited from SearError.
- classSearPipelineStepExecutorNotFoundErrorsource ↗
-
class SearPipelineStepExecutorNotFoundError extends SearErrorError thrown when a pipeline step kind has no registered executor.
constructorconstructor SearPipelineStepExecutorNotFoundError(kind: string): SearPipelineStepExecutorNotFoundErrorCreates a SearPipelineStepExecutorNotFoundError instance.
kind: string
propertycode readonly code: "SEAR_PIPELINE_STEP_EXECUTOR_NOT_FOUND"Stable machine-readable error code.
Inherited members 9
Inherited from SearError.
- classSearRegistryConflictErrorsource ↗
-
class SearRegistryConflictError extends SearErrorError thrown when a registry key is registered more than once.
constructorconstructor SearRegistryConflictError(registry: string, key: string, message?: string): SearRegistryConflictErrorCreates a SearRegistryConflictError instance.
registry: stringkey: stringmessage: string
propertycode readonly code: "SEAR_REGISTRY_CONFLICT"Stable machine-readable error code.
Inherited members 9
Inherited from SearError.
- classSearRegistryEntryNotFoundErrorsource ↗
-
class SearRegistryEntryNotFoundError extends SearErrorError thrown when a required registry entry is missing.
constructorconstructor SearRegistryEntryNotFoundError(registry: string, key: string, message?: string): SearRegistryEntryNotFoundErrorCreates a SearRegistryEntryNotFoundError instance.
registry: stringkey: stringmessage: string
propertycode readonly code: "SEAR_REGISTRY_ENTRY_NOT_FOUND"Stable machine-readable error code.
Inherited members 9
Inherited from SearError.
- classSheetInteractionReducerRegistrysource ↗
-
class SheetInteractionReducerRegistryExtensible dispatch table for local interaction-state transitions.
constructorconstructor SheetInteractionReducerRegistry(): SheetInteractionReducerRegistrypropertysymbolstatic readonly symbol: typeof symbolDI token for resolving SheetInteractionReducerRegistry.
methodget get(type: string): SheetInteractionReducer | undefinedReturns the value.
type: string
methodregister register(reducer: SheetInteractionReducer): (): voidRegisters the value.
reducer: SheetInteractionReducer
- classSheetInteractionStoresource ↗
-
class SheetInteractionStorePer-sheet, local-only interaction state. It deliberately does not use OT: these transitions are view/session concerns and must never be synchronized.
constructorconstructor SheetInteractionStore(reducers: SheetInteractionReducerRegistry, platform?: Platform): SheetInteractionStoreCreates a SheetInteractionStore instance.
reducers: SheetInteractionReducerRegistryplatform: Platform
propertysymbolstatic readonly symbol: typeof symbolDI token for resolving SheetInteractionStore.
methodapply apply(signal: SheetInteractionSignal): voidApplies a transaction to SheetInteractionStore state.
signal: SheetInteractionSignal
methodcommit commit(state: SheetInteractionState, signals: readonly SheetInteractionSignal[]): voidPublishes a previously staged interaction state after pipeline commit.
state: SheetInteractionStateFinal interaction state to make visible.
signals: readonly SheetInteractionSignal[]Ordered signals to deliver to subscribers.
methodenforceCommandBoundary enforceCommandBoundary(isCommandExecuting: (): boolean, runWithoutMutationAuthority?: <Value>(callback: (): Value): Value): voidRequires an editor command for every assembled interaction-state commit.
isCommandExecuting: (): booleanrunWithoutMutationAuthority: <Value>(callback: (): Value): Value
methodgetState getState(): Readonly<SheetInteractionState>Returns the state.
methodreduce reduce(state: Readonly<SheetInteractionState>, signal: SheetInteractionSignal): SheetInteractionStateReduces a signal without publishing it or changing the stored state. Pipeline execution uses this to stage interaction transitions until every other step has succeeded.
ReturnsThe prospective interaction state.
state: Readonly<SheetInteractionState>Interaction state visible before the signal.
signal: SheetInteractionSignalLocal interaction transition to reduce.
methodsubscribe subscribe(listener: (state: Readonly<SheetInteractionState>, signal: SheetInteractionSignal): void): (): voidSubscribes to state changes and returns an idempotent disposer.
listener: (state: Readonly<SheetInteractionState>, signal: SheetInteractionSignal): void
- classSheetLifecycleCoordinatorsource ↗
-
class SheetLifecycleCoordinatorStarts and disposes the runtime controllers owned by one sheet instance.
constructorconstructor SheetLifecycleCoordinator(): SheetLifecycleCoordinatorpropertysymbolstatic readonly symbol: typeof symbolDI token for resolving SheetLifecycleCoordinator.
methodbeginTeardown beginTeardown(token: object): voidPermits cleanup only for the owning editor.
token: object
methoddestroy destroy(): voidReleases resources owned by SheetLifecycleCoordinator.
methodenforceCommandBoundary enforceCommandBoundary(assertCommandWrite: (): void, teardownToken: object): voidCloses runtime registration after editor assembly.
assertCommandWrite: (): voidteardownToken: object
methodregister register(controller: SheetLifecycleController): (): voidAdds a controller. Controllers registered after startup begin immediately, so applications can add lifecycle behavior without changing SearCoreSheet.
controller: SheetLifecycleController
methodstart start(context: SheetLifecycleContext): voidStarts SheetLifecycleCoordinator.
context: SheetLifecycleContext
- classSheetMatrixsource ↗
-
class SheetMatrix extends CSRMatrix<CellMatrixElement>SheetMatrix public API.
constructorconstructor SheetMatrix(data?: { data: CellMatrixElement[]; indices: number[]; indptr: number[] }, shape?: [number, number]): SheetMatrixConstructs a CSRMatrix instance.
data: { data: CellMatrixElement[]; indices: number[]; indptr: number[] }The data for the matrix.
shape: [number, number]The shape of the matrix as [numRows, numCols].
methodclone clone(): thisCopies stored cell payloads as well as sparse indexes.
Inherited members 34
Inherited from CSRMatrix.
- name
- ndim
- nnz
- shape
- addColumn
- addItem
- addListener
- addRow
- cloneCommittedView
- cloneDetached
- cloneForStaging
- deleteColumns
- deleteRows
- dispatch
- dot
- forEach
- forEachStored
- forEachStoredInRange
- forEachStoredInRow
- fromDense
- getCol
- getDefaultValue
- getItem
- getRow
- lockMutations
- multiply
- removeItem
- removeListener
- setDefaultValue
- sum
- swapColumn
- swapRow
- toArray
- transpose
- classSheetViewportResizeControllersource ↗
-
class SheetViewportResizeController extends SheetLifecycleControllerKeeps rendering, scrolling, and viewport-culled plugin nodes in sync with viewport size.
constructorconstructor SheetViewportResizeController(subscriptionManager: SubscriptionManager): SheetViewportResizeControllerCreates a SheetViewportResizeController instance.
subscriptionManager: SubscriptionManager
propertysymbolstatic readonly symbol: typeof symbolDI token for resolving SheetViewportResizeController.
methodapplyViewportResize applyViewportResize(width: number, height: number): voidApplies a resize inside the command dispatched by the owning editor.
width: numberheight: number
methoddestroy destroy(): voidReleases resources owned by SheetViewportResizeController.
methodsetResizeExecutor setResizeExecutor(executor: (size: { height: number; width: number }): void): voidRoutes platform resize notifications through the owning editor's command bus.
executor: (size: { height: number; width: number }): void
methodstart start(context: SheetLifecycleContext): voidStarts SheetViewportResizeController.
context: SheetLifecycleContext
- interfaceCellMatrixElementsource ↗
-
interface CellMatrixElementPersisted cell payload stored in the sheet matrix.
propertyformula formula?: stringFormula source text for formula cells; calculated results live in formula plugin state.
propertyformulaEvaluationMode formulaEvaluationMode?: "dynamic" | "legacy"Array evaluation mode used when the formula was entered.
propertytype type: stringCell type identifier owned by the cell type catalog.
propertyvalue value?: unknownRaw value whose shape is owned by the cell type.
- interfaceCursorRenderInfosource ↗
-
interface CursorRenderInfoPre-computed pixel cursor state set by document layout before each render.
propertyheight height: numberLine height in pixels (used to size the cursor bar).
propertyvisible visible: booleanWhether the cursor bar is currently visible (blink phase).
propertyx x: numberAbsolute canvas X for the committed text caret.
propertyy y: numberAbsolute canvas Y for the laid-out line that owns the cursor.
- interfaceDocCompositionLayoutsource ↗
-
interface DocCompositionLayoutLayout contribution from an in-flight IME composition.
propertyactive readonly active: booleanWhether there is active composing text to render.
propertycaretPixelOffset readonly caretPixelOffset: numberPixel offset from the composing-text start to the IME caret.
propertytext readonly text: stringCurrent in-flight composing text.
propertytextWidth readonly textWidth: numberFull composing text width in pixels.
- interfaceDocCompositionProvidersource ↗
-
interface DocCompositionProviderProvider used by layout code to account for optional IME composition.
methodmeasure measure(font: string): DocCompositionLayoutMeasures the active composing text against the current render font.
font: string
- interfaceDocEditorRenderLayoutInputsource ↗
-
interface DocEditorRenderLayoutInputInput used by SearCoreDoc to initialize one editable document frame.
propertycompositionProvider readonly compositionProvider?: DocCompositionProviderOptional IME composition provider installed by a feature plugin or embedded host.
propertycursorVisible readonly cursorVisible?: booleanWhether the transient text cursor should be visible in this frame.
propertydocument readonly document: RichDocNode[]Rich-document content to lay out and render.
propertyfitContentWidth readonly fitContentWidth?: booleanWhether the editable frame may grow horizontally to fit unwrapped content.
propertyfont readonly font?: stringFont descriptor used by the text shaper for this layout.
propertyminContentWidth readonly minContentWidth?: numberOptional minimum width needed to preserve pre-edit overflow sizing.
propertyminHeight readonly minHeight: numberMinimum editor height supplied by the host surface.
propertyminWidth readonly minWidth: numberMinimum editor width supplied by the host surface.
propertyorigin readonly origin: Pick<PositionRectProps, "x" | "y">Editor origin in world coordinates.
propertypadding readonly padding?: numberPadding inside the editable frame.
propertyselection readonly selection: DocSelectionCurrent document selection.
propertyverticalAlign readonly verticalAlign?: DocVerticalAlignVertical positioning inside the editable frame. Defaults to center for embedded cell editors.
- interfaceDocImmediateRenderPainterContentInputsource ↗
-
interface DocImmediateRenderPainterContentInputInput for immediate rendering of laid-out document content lines.
propertyblockIndexes readonly blockIndexes?: readonly number[]Optional block indexes to draw; omitted means all blocks.
propertyclipRect readonly clipRect?: PositionRect<templateLiteral>Optional world-coordinate clipping rectangle.
propertyfont readonly font?: stringBase font selected by the host for this document frame.
propertyorigin readonly origin: Pick<PositionRectProps, "x" | "y">Content origin in world coordinates.
propertysnapshot readonly snapshot: LayoutSnapshotLayout snapshot whose lines are relative to the content origin.
- interfaceDocInputDispatchResultsource ↗
-
interface DocInputDispatchResultResult of applying one domain input command to the active document input session.
propertycontentChanged readonly contentChanged: booleanWhether the command produced document OT operations.
propertyselection readonly selection: DocSelectionSelection after all command steps have been applied and mapped.
propertyselectionOnly readonly selectionOnly: booleanWhether the command only changed selection/caret state.
- interfaceDocInputStatesource ↗
-
interface DocInputStateState for an active rich-document input session.
propertydocSelection docSelection: DocSelectionCurrent rich-document selection.
propertypendingDoc pendingDoc: RichDocNode[]Pending document content owned by the current edit session.
propertypreferredX preferredX: number | nullPreferred x-position for repeated vertical cursor movement.
- interfaceDocPreparedEditorRenderLayoutsource ↗
-
interface DocPreparedEditorRenderLayoutDoc-owned layout result consumed by host render surfaces.
propertycomposingCaretPixelOffset readonly composingCaretPixelOffset: numberPixel offset from composing-text start to the IME caret.
propertycontentWidth readonly contentWidth: numberWidth available to document content after padding.
propertycursorRelative readonly cursorRelative: { height: number; x: number; y: number }Cursor point relative to the editor frame.
propertypositionRect readonly positionRect: PositionRectPropsFinal editor frame in world coordinates.
propertysnapshot readonly snapshot: LayoutSnapshotLayout snapshot owned by the Doc input/render session.
- interfaceDocRenderLayoutStatesource ↗
-
interface DocRenderLayoutStateLayout and viewport state exposed to document plugins during render().
propertyblockLayoutDiff readonly blockLayoutDiff: DocBlockLayoutDiffBlock-level diff between the previous and current layout caches.
propertyblockRender readonly blockRender?: DocBlockRenderDebugSnapshotDebug and performance stats for the most recent block-render frame.
propertycontentRect readonly contentRect: PositionRectPropsEditable content rectangle in viewport coordinates.
propertydocumentRect readonly documentRect: PositionRectPropsCurrent document layout rectangle in world coordinates.
propertyfont readonly font: stringFont selected by the host for this document render layout.
propertylayoutCache readonly layoutCache: DocLayoutCacheLatest full-document layout cache.
propertyscroll readonly scroll: { x: number; y: number }Current viewport scroll offset.
propertyviewport readonly viewport: { height: number; width: number }Visible viewport dimensions.
propertyvisibleBlocks readonly visibleBlocks: readonly DocBlockLayout[]Laid-out blocks selected for the current viewport.
- interfaceDocRenderOperationsource ↗
-
interface DocRenderOperationRender-facing operation derived from a RichDoc OT operation.
- interfaceDocRenderRequestsource ↗
-
interface DocRenderRequestOne queued render request targeting plugin-owned document render nodes.
propertyrenderOperations readonly renderOperations?: DocRenderOperationsRender-facing operations derived from committed RichDoc OT, or null when they cannot be converted safely.
propertyrenderPluginKey readonly renderPluginKey?: PluginKeyPlugin whose render nodes should be refreshed. Omitted means every document plugin may refresh.
- interfaceDocRenderViewportsource ↗
-
interface DocRenderViewportSnapshot of the current document viewport used by render strategies.
propertycontentRect readonly contentRect: PositionRectPropsEditable content rectangle inside the viewport.
propertyheight readonly height: numberVisible viewport height in host-view units.
propertywidth readonly width: numberVisible viewport width in host-view units.
- interfacePipelineLifecyclesource ↗
-
interface PipelineLifecycleObserver hooks emitted while a pipeline executes.
methodonComplete onComplete(pipeline: Pipeline, rendered: boolean): voidPipeline finished (all steps + render).
pipeline: Pipelinerendered: boolean
methodonStart onStart(pipeline: Pipeline): voidPipeline begins execution.
pipeline: Pipeline
methodonStepComplete onStepComplete(step: PipelineStep, pipeline: Pipeline): voidA single step has finished executing.
step: PipelineSteppipeline: Pipeline
methodonStepStart onStepStart(step: PipelineStep, pipeline: Pipeline, detail: string): voidA single step is about to execute. Receives auto-derived detail.
step: PipelineSteppipeline: Pipelinedetail: string
- interfacePipelineStepsource ↗
-
interface PipelineStepOne ordered unit of work inside a pipeline.
propertydata data?: unknownExtension-owned payload for a custom step executor.
propertyinteraction interaction?: SheetInteractionSignalLocal interaction transition for interaction steps.
propertykind kind: stringBuilt-in or extension-provided executor key.
propertylocalAction localAction?: (): voidCommand-owned action for local-action steps.
propertyname name: stringHuman-readable step name used by diagnostics.
propertypostCommit postCommit?: (): voidDeferred local state publication after document and interaction commits.
propertyprepare prepare?: (): (): voidLocal preparation that returns its rollback action.
propertyrenderPluginKey renderPluginKey?: PluginKeyPlugin key to re-render for render steps.
propertytransaction transaction?: Transaction<Operation>Transaction payload for transaction steps.
- interfacePipelineStepExecutionContextsource ↗
-
interface PipelineStepExecutionContextEffects an executor may request without taking ownership of frame flushing.
methodapplyInteraction applyInteraction(step: PipelineStep): voidstep: PipelineStep
methodexecuteTransaction executeTransaction(step: PipelineStep): voidstep: PipelineStep
methodmarkDirty markDirty(rect: PositionRect<templateLiteral>): voidrect: PositionRect<templateLiteral>
methodprepareLocalAction prepareLocalAction(step: PipelineStep): voidstep: PipelineStep
methodrenderPlugin renderPlugin(step: PipelineStep): voidstep: PipelineStep
methodrunLocalAction runLocalAction(step: PipelineStep): voidstep: PipelineStep
methodschedulePostCommit schedulePostCommit(step: PipelineStep): voidstep: PipelineStep
methodschedulePostRender schedulePostRender(step: PipelineStep): voidstep: PipelineStep
- interfacePipelineStepExecutorsource ↗
-
interface PipelineStepExecutorHandles one extensible Pipeline step kind.
- interfaceSearCoreDocRuntimeLayerssource ↗
-
interface SearCoreDocRuntimeLayersRuntime layers owned by one SearCoreDoc instance.
propertyconfigEngine readonly configEngine?: ConfigEngine<any> | nullConfiguration layer used by standalone document hosts.
propertyeventEngine readonly eventEngine?: EventEngine<NodeProperties> | nullEvent pipeline and hit-testing facade used by standalone document hosts.
propertyplatform readonly platform?: Platform | nullPlatform diagnostics adapter used by document core guard clauses.
propertyrenderEngine readonly renderEngine?: DocRenderEngine | nullRender engine used by standalone document hosts.
propertyrenderStage readonly renderStage?: SceneGraph<NodeProperties> | nullScene graph used by standalone document rendering.
- interfaceSelectionRectsource ↗
-
interface SelectionRectA single selection highlight rectangle in canvas coordinates.
- interfaceSheetEditSessionsource ↗
-
interface SheetEditSessionPublic contract for SheetEditSession.
- interfaceSheetInteractionReducersource ↗
-
interface SheetInteractionReducerReduces one local interaction signal into the per-sheet interaction state.
- interfaceSheetInteractionSignalsource ↗
-
interface SheetInteractionSignalA local interaction event. Event names and payloads are owned by the feature that publishes and reduces them; Core only routes the event.
propertytype type: string - interfaceSheetInteractionStatesource ↗
-
interface SheetInteractionStatePublic contract for SheetInteractionState.
propertyeditSession editSession: SheetEditSession | nullpropertyselection selection: { anchor: readonly [number, number]; focus: readonly [number, number]; source: string } | nullpropertyselectionRevision selectionRevision: numberIncrements for every explicit selection transition.
propertysuppressedSelectionRevision suppressedSelectionRevision: number | nullThe selection revision consumed when the current/last edit session began.
- interfaceSheetLifecycleContextsource ↗
-
interface SheetLifecycleContextShared context supplied to lifecycle controllers for one sheet instance.
propertycore readonly core: SearCoreSheetmethodrefreshSheetBoundaries refreshSheetBoundaries(): void - interfaceSheetLifecycleControllersource ↗
-
interface SheetLifecycleControllerA startable and disposable runtime concern owned by a sheet instance.
- typeDocRenderDirtyBlockIdssource ↗
-
type DocRenderDirtyBlockIds = ReadonlySet<DocNodeId> | nullDirty block ids extracted from document render operations, or null when reflow cannot be localized safely.
- typeDocRenderOperationssource ↗
-
type DocRenderOperations = readonly DocRenderOperation[] | nullRender operations derived from document transactions, or null when they cannot be converted safely.
- typeDocRenderRequestHandlersource ↗
-
type DocRenderRequestHandler = (requests: readonly DocRenderRequest[]): voidFunction that handles committed document render requests.
- variableDocInputTransactionMetasource ↗
-
DocInputTransactionMeta: { PreferredX: "docInput.preferredX"; RenderOperation: "docInput.renderOperation"; ReplaceSelection: "docInput.replaceSelection"; SelectionOnly: "docInput.selectionOnly"; Steps: "docInput.steps" }Transaction metadata key containing selection mapping for DocInputPlugin.
- variableSearAssemblyErrorCodesource ↗
-
SearAssemblyErrorCode: { contractViolation: "SEAR_CONTRACT_VIOLATION"; docParse: "SEAR_DOC_PARSE"; lifecycleInvalidState: "SEAR_LIFECYCLE_INVALID_STATE"; pipelineStepExecutorNotFound: "SEAR_PIPELINE_STEP_EXECUTOR_NOT_FOUND"; registryConflict: "SEAR_REGISTRY_CONFLICT"; registryEntryNotFound: "SEAR_REGISTRY_ENTRY_NOT_FOUND" }Stable machine-readable error codes owned by assembly packages.
- functioncollectDocReflowBlockIdssource ↗
-
collectDocReflowBlockIds(renderOperations: DocRenderOperations, document: readonly RichDocNode[]): DocRenderDirtyBlockIdsCollects blocks whose layout cache must be refreshed for reflow operations.
renderOperations: DocRenderOperationsdocument: readonly RichDocNode[]
- functioncollectDocRenderOperationssource ↗
-
collectDocRenderOperations(transactions: readonly Transaction<Operation>[]): DocRenderOperationsCollects render operations derived from committed RichDoc OT transactions.
transactions: readonly Transaction<Operation>[]
- functioncollectDocRepaintBlockIdssource ↗
-
collectDocRepaintBlockIds(renderOperations: DocRenderOperations, document: readonly RichDocNode[]): ReadonlySet<DocNodeId>Collects blocks whose render nodes must be repainted without invalidating layout cache.
renderOperations: DocRenderOperationsdocument: readonly RichDocNode[]
- functiongetActiveCommandIdsource ↗
-
getActiveCommandId(): string | null - functiongetCommandObserverEpochsource ↗
-
getCommandObserverEpoch(): numberIdentifies the active observer scope so an older command cannot lend it write authority.
- functionisInsideCommandExecutionsource ↗
-
isInsideCommandExecution(): boolean - functionlockCommittedSheetStatesource ↗
-
lockCommittedSheetState(state: unknown): voidLocks document-owned state after initialization or a successful transaction commit.
state: unknown
- functionrunInsideCommandExecutionsource ↗
-
runInsideCommandExecution<T>(commandId: string, callback: CommandExecutionCallback<T>): TcommandId: stringcallback: CommandExecutionCallback<T>
- functionrunOutsideCommandExecutionsource ↗
-
runOutsideCommandExecution<T>(callback: CommandExecutionCallback<T>): TRuns observers without inheriting the enclosing command's mutation authority.
callback: CommandExecutionCallback<T>
- functionwarnIfOutsideCommandExecutionsource ↗
-
warnIfOutsideCommandExecution(operationName: string, warn?: CommandExecutionWarningReporter): voidoperationName: stringwarn: CommandExecutionWarningReporter
- functionwarnIfSyntheticCommandDefinitionsource ↗
-
warnIfSyntheticCommandDefinition(busName: string, commandId: string, warn?: CommandExecutionWarningReporter): voidbusName: stringcommandId: stringwarn: CommandExecutionWarningReporter
No public exports match that search.