ecspresso
    Preparing search index...

    Interface SpatialIndex3DPluginOptions<G>

    interface SpatialIndex3DPluginOptions<G extends string = "spatialIndex3D"> {
        cellSize?: number;
        phases?: readonly SpatialIndex3DPhase[];
        priority?: number;
        systemGroup?: G;
    }

    Type Parameters

    • G extends string = "spatialIndex3D"
    Index

    Properties

    cellSize?: number

    Cell size for the spatial hash grid (default: 64)

    phases?: readonly SpatialIndex3DPhase[]

    Phases to register rebuild systems in (default: ['fixedUpdate', 'postUpdate']).

    When both phases are registered, the postUpdate rebuild is automatically skipped on cycles where:

    1. The fixedUpdate rebuild already ran this cycle, AND
    2. No entity hierarchy exists.

    In flat-hierarchy scenes transform3d-propagation copies localTransform3D → worldTransform3D unchanged, so the postUpdate grid would duplicate the fixedUpdate one. The skip is automatic and re-engages once any parent relationship is set, or whenever fixedUpdate doesn't run that cycle (sub-fixed-DT frames).

    Edge case: if you write to worldTransform3D directly between phases without using transform3d-propagation or entity hierarchy, the auto-skip will leave your writes unindexed. Set phases: ['postUpdate'] explicitly to bypass the auto-skip.

    priority?: number

    Priority for rebuild systems (default: 2000, before collision)

    systemGroup?: G

    System group name (default: 'spatialIndex3D')