GeoLeaf Core API - v3.0.0
    Preparing search index...

    Enrichable schema for a module.

    Extends IModuleInfo with room for capability-specific metadata. Fields are deliberately absent in S1.5 — capability.contract.ts (S2.1) will add config, capabilities, and metadata once the Capability contract is stabilised.

    Consumers should guard against null (module not registered) and treat the returned object as extensible by future sprints.

    interface IModuleSchema {
        id: string;
        dependencies: readonly string[];
        hasUI: boolean;
        configSchema?: Record<string, ICapabilityFieldSchema>;
        capabilities?: readonly string[];
    }

    Hierarchy (View Summary)

    Index

    Properties

    id: string

    Unique module identifier within the GeoLeaf instance.

    dependencies: readonly string[]

    IDs of direct dependencies declared by the module.

    hasUI: boolean

    true when the module declares a UI slot (toolbar icon or filter tab).

    configSchema?: Record<string, ICapabilityFieldSchema>

    JSON Schema description of the config block consumed by this module. Keys match fields under the module's modules.<id> config path. Used by studio / form-builder to generate config forms (Phase 4).

    capabilities?: readonly string[]

    IDs of capabilities provided by this module (registered via CapabilityRegistry.register()). Allows studio to list all features a module exposes and their individual config schemas.

    `['labels', 'legend']`