import type { ComponentId } from '@ecsia/schema'; /** One archetype's identity census — INCLUDING cold + empty archetypes (the `__serialize` gap). */ export interface InspectArchetype { readonly id: number; /** The sorted canonical signature (ComponentIds, including tag/pair/presence ids). */ readonly signature: readonly ComponentId[]; readonly count: number; /** false = hot (column-backed tables); true = cold (lazily-materialized, archetype-storage ). */ readonly cold: boolean; } /** One live (compiled, cached) query's introspectable shape — the QueryEngine enumeration gap. */ export interface InspectQuery { /** The raw QueryTerm[] the query was compiled from (read/write/has/without/optional terms). */ readonly terms: readonly unknown[]; /** Number of archetypes the query currently matches. */ readonly matchedArchetypes: number; /** Current live match count (entities satisfying the query). */ readonly size: number; } /** The read-only datum surface @ecsia/devtools drives. All members are serial / main-thread, pure reads. */ export interface InspectSurface { /** Every archetype (hot AND cold, including empty), in id-ascending order. */ archetypes(): readonly InspectArchetype[]; /** Every live (cached) query, in creation order. Empty before the first `world.query(...)`. */ queries(): readonly InspectQuery[]; } //# sourceMappingURL=inspect-surface.d.ts.map