@@ -85,12 +85,12 @@ export type RedrawReason =
8585 * - `immediate`: composite synchronously (low-latency path for direct drawing)
8686 * - `raf`: schedule via requestAnimationFrame (batched, coalesced)
8787 */
88- export type RedrawUrgency = "immediate" | "raf" ;
88+ type RedrawUrgency = "immediate" | "raf" ;
8989
9090/**
9191 * A typed redraw request that records why and how urgently a frame is needed.
9292 */
93- export interface RedrawRequest {
93+ interface RedrawRequest {
9494 reason : RedrawReason ;
9595 urgency : RedrawUrgency ;
9696 /** Optional dirty rect for partial compositing. */
@@ -106,12 +106,12 @@ export interface RedrawRequest {
106106 * - `bootstrap`: Canvas2D temp surface while WebGPU initializes
107107 * - `display`: real display canvas (WebGPU or Canvas2D final)
108108 */
109- export type DisplayTarget = "bootstrap" | "display" ;
109+ type DisplayTarget = "bootstrap" | "display" ;
110110
111111/**
112112 * Which rendering backend is active.
113113 */
114- export type DisplayBackend = "webgpu" | "canvas2d" ;
114+ type DisplayBackend = "webgpu" | "canvas2d" ;
115115
116116// ─── Interaction readiness ───────────────────────────────────────────────────
117117
@@ -121,7 +121,7 @@ export type DisplayBackend = "webgpu" | "canvas2d";
121121 * When all flags are true, the display pipeline is ready for preview-only
122122 * and click-only interactions without requiring a prior stroke.
123123 */
124- export interface InteractionReadiness {
124+ interface InteractionReadiness {
125125 /** The runtime (Canvas2D or WebGPU) has been initialized. */
126126 runtimeReady : boolean ;
127127 /** A hydration cycle has been scheduled and is still pending decode/upload. */
@@ -135,7 +135,7 @@ export interface InteractionReadiness {
135135/**
136136 * Returns true when all readiness conditions are met.
137137 */
138- export function isInteractionReady ( state : InteractionReadiness ) : boolean {
138+ function isInteractionReady ( state : InteractionReadiness ) : boolean {
139139 return (
140140 state . runtimeReady &&
141141 ! state . hydrationPending &&
@@ -147,7 +147,7 @@ export function isInteractionReady(state: InteractionReadiness): boolean {
147147/**
148148 * Create a fresh readiness state (nothing ready yet).
149149 */
150- export function createInitialReadiness ( ) : InteractionReadiness {
150+ function createInitialReadiness ( ) : InteractionReadiness {
151151 return {
152152 runtimeReady : false ,
153153 hydrationPending : false ,
@@ -189,7 +189,7 @@ const MAX_TRACE_EVENTS = 200;
189189 * Stores the last N events so temporal startup bugs can be debugged
190190 * without scattering temporary logs across tools and runtimes.
191191 */
192- export class DisplayTracer {
192+ class DisplayTracer {
193193 private events : TraceEvent [ ] = [ ] ;
194194 private enabled : boolean ;
195195
@@ -234,7 +234,7 @@ export class DisplayTracer {
234234
235235// ─── Frame coordinator ───────────────────────────────────────────────────────
236236
237- export interface FrameCoordinatorCallbacks {
237+ interface FrameCoordinatorCallbacks {
238238 /** Execute pending stroke buffer merge. */
239239 drainPendingStroke : ( ) => void ;
240240 /** Run the composite pipeline immediately. */
0 commit comments