OverApplyState: {
    deactivatedRoots: Map<string | undefined, Object3D[]>;
    entities: Map<string, Promise<object | null>>;
    chainOnEntity(refId: string, work: (entity: null | object) => void): void;
    settled(): Promise<void>;
}

The shared state a sequence of over applications rides — constructed once per document evaluation AND once per op-bridge apply session (the applicator, plans/operation-bridge.md fixture 2):

  • async entity chaining: entity-targeted overs and entity-ref values await the entity's instantiation; overs touching the same entity keep their order among themselves by chaining on the entity's tail promise. Non-async overs apply synchronously (pre-awake); settled() awaits the async remainder.
  • deactivated subtrees ("active": false → removeFromParent), per scope ref: materials are RESOURCES, not graph nodes — a material used only by a deactivated mesh must stay addressable (doc order legally deactivates first and patches after), so material resolution searches these detached roots too.

Type declaration

  • ReadonlydeactivatedRoots: Map<string | undefined, Object3D[]>
  • Readonlyentities: Map<string, Promise<object | null>>
  • chainOnEntity:function
    • Parameters

      • refId: string
      • work: (entity: null | object) => void

      Returns void

  • settled:function