@sharpee/world-model 3.1.0 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/annotations/index.d.ts +1 -1
- package/annotations/index.d.ts.map +1 -1
- package/annotations/index.js +1 -1
- package/annotations/index.js.map +1 -1
- package/behaviors/attack.d.ts +21 -4
- package/behaviors/attack.d.ts.map +1 -1
- package/behaviors/attack.js +37 -33
- package/behaviors/attack.js.map +1 -1
- package/behaviors/behavior.d.ts +3 -3
- package/behaviors/behavior.d.ts.map +1 -1
- package/behaviors/index.d.ts +21 -21
- package/behaviors/index.d.ts.map +1 -1
- package/behaviors/index.js +33 -33
- package/behaviors/index.js.map +1 -1
- package/capabilities/action-interceptor.d.ts +3 -3
- package/capabilities/action-interceptor.d.ts.map +1 -1
- package/capabilities/capability-behavior.d.ts +3 -3
- package/capabilities/capability-behavior.d.ts.map +1 -1
- package/capabilities/capability-binding.d.ts +3 -3
- package/capabilities/capability-binding.d.ts.map +1 -1
- package/capabilities/capability-helpers.d.ts +2 -2
- package/capabilities/capability-helpers.d.ts.map +1 -1
- package/capabilities/entity-builder.d.ts +2 -2
- package/capabilities/entity-builder.d.ts.map +1 -1
- package/capabilities/index.d.ts +9 -9
- package/capabilities/index.d.ts.map +1 -1
- package/capabilities/index.js +26 -26
- package/capabilities/index.js.map +1 -1
- package/capabilities/interceptor-binding.d.ts +2 -2
- package/capabilities/interceptor-binding.d.ts.map +1 -1
- package/capabilities/interceptor-helpers.d.ts +2 -2
- package/capabilities/interceptor-helpers.d.ts.map +1 -1
- package/commands/command-types.d.ts +2 -2
- package/commands/command-types.d.ts.map +1 -1
- package/commands/index.d.ts +3 -3
- package/commands/index.d.ts.map +1 -1
- package/commands/index.js +3 -3
- package/commands/index.js.map +1 -1
- package/commands/parsed-command.d.ts +13 -0
- package/commands/parsed-command.d.ts.map +1 -1
- package/commands/validated-command.d.ts +16 -2
- package/commands/validated-command.d.ts.map +1 -1
- package/constants/index.d.ts +3 -3
- package/constants/index.d.ts.map +1 -1
- package/constants/index.js +3 -3
- package/constants/index.js.map +1 -1
- package/entities/entity-store.d.ts +1 -1
- package/entities/entity-store.d.ts.map +1 -1
- package/entities/entity-store.js +2 -2
- package/entities/entity-store.js.map +1 -1
- package/entities/if-entity.d.ts +3 -3
- package/entities/if-entity.d.ts.map +1 -1
- package/entities/if-entity.js +38 -34
- package/entities/if-entity.js.map +1 -1
- package/entities/index.d.ts +6 -6
- package/entities/index.d.ts.map +1 -1
- package/entities/index.js +10 -10
- package/entities/index.js.map +1 -1
- package/entities/trait-rehydrator.d.ts +43 -0
- package/entities/trait-rehydrator.d.ts.map +1 -0
- package/entities/trait-rehydrator.js +45 -0
- package/entities/trait-rehydrator.js.map +1 -0
- package/entities/wall-entity.d.ts +2 -2
- package/entities/wall-entity.d.ts.map +1 -1
- package/entities/wall-entity.js +2 -2
- package/entities/wall-entity.js.map +1 -1
- package/examples/event-handler-registration.d.ts +1 -1
- package/examples/event-handler-registration.d.ts.map +1 -1
- package/examples/event-handler-registration.js +24 -24
- package/examples/event-handler-registration.js.map +1 -1
- package/extensions/base-extension.d.ts +3 -3
- package/extensions/base-extension.d.ts.map +1 -1
- package/extensions/index.d.ts +4 -4
- package/extensions/index.d.ts.map +1 -1
- package/extensions/index.js +11 -11
- package/extensions/index.js.map +1 -1
- package/extensions/loader.d.ts +1 -1
- package/extensions/loader.d.ts.map +1 -1
- package/extensions/loader.js +2 -2
- package/extensions/loader.js.map +1 -1
- package/extensions/manager.d.ts +1 -1
- package/extensions/manager.d.ts.map +1 -1
- package/extensions/manager.js +2 -2
- package/extensions/manager.js.map +1 -1
- package/extensions/registry.d.ts +2 -2
- package/extensions/registry.d.ts.map +1 -1
- package/extensions/registry.js +4 -4
- package/extensions/registry.js.map +1 -1
- package/extensions/types.d.ts +2 -2
- package/extensions/types.d.ts.map +1 -1
- package/index.d.ts +58 -59
- package/index.d.ts.map +1 -1
- package/index.js +62 -63
- package/index.js.map +1 -1
- package/interfaces/command-executor.d.ts +1 -1
- package/interfaces/command-executor.d.ts.map +1 -1
- package/interfaces/command-processor.d.ts +1 -1
- package/interfaces/command-processor.d.ts.map +1 -1
- package/interfaces/command-validator.d.ts +1 -1
- package/interfaces/command-validator.d.ts.map +1 -1
- package/interfaces/index.d.ts +4 -4
- package/interfaces/index.d.ts.map +1 -1
- package/interfaces/index.js +4 -4
- package/interfaces/index.js.map +1 -1
- package/interfaces/parser.d.ts +1 -1
- package/interfaces/parser.d.ts.map +1 -1
- package/package.json +3 -3
- package/scope/index.d.ts +3 -3
- package/scope/index.d.ts.map +1 -1
- package/scope/index.js +3 -3
- package/scope/index.js.map +1 -1
- package/scope/scope-evaluator.d.ts +2 -2
- package/scope/scope-evaluator.d.ts.map +1 -1
- package/scope/scope-registry.d.ts +1 -1
- package/scope/scope-registry.d.ts.map +1 -1
- package/state-adjectives.d.ts +1 -1
- package/state-adjectives.d.ts.map +1 -1
- package/state-adjectives.js +5 -5
- package/state-adjectives.js.map +1 -1
- package/state-clauses.d.ts +1 -1
- package/state-clauses.d.ts.map +1 -1
- package/state-clauses.js +5 -5
- package/state-clauses.js.map +1 -1
- package/test-structure.d.ts +1 -1
- package/test-structure.d.ts.map +1 -1
- package/test-structure.js +7 -7
- package/test-structure.js.map +1 -1
- package/traits/acoustic/acousticDampenerTrait.d.ts +1 -1
- package/traits/acoustic/acousticDampenerTrait.d.ts.map +1 -1
- package/traits/acoustic/acousticDampenerTrait.js +3 -3
- package/traits/acoustic/acousticDampenerTrait.js.map +1 -1
- package/traits/acoustic/acousticTrait.d.ts +1 -1
- package/traits/acoustic/acousticTrait.d.ts.map +1 -1
- package/traits/acoustic/acousticTrait.js +3 -3
- package/traits/acoustic/acousticTrait.js.map +1 -1
- package/traits/acoustic/index.d.ts +2 -2
- package/traits/acoustic/index.d.ts.map +1 -1
- package/traits/acoustic/index.js +5 -5
- package/traits/acoustic/index.js.map +1 -1
- package/traits/actor/actorBehavior.d.ts +4 -4
- package/traits/actor/actorBehavior.d.ts.map +1 -1
- package/traits/actor/actorBehavior.js +38 -34
- package/traits/actor/actorBehavior.js.map +1 -1
- package/traits/actor/actorTrait.d.ts +1 -1
- package/traits/actor/actorTrait.d.ts.map +1 -1
- package/traits/actor/actorTrait.js +3 -3
- package/traits/actor/actorTrait.js.map +1 -1
- package/traits/actor/index.d.ts +2 -2
- package/traits/actor/index.d.ts.map +1 -1
- package/traits/actor/index.js +6 -6
- package/traits/actor/index.js.map +1 -1
- package/traits/all-traits.d.ts +30 -33
- package/traits/all-traits.d.ts.map +1 -1
- package/traits/all-traits.js +56 -62
- package/traits/all-traits.js.map +1 -1
- package/traits/attached/attachedTrait.d.ts +1 -1
- package/traits/attached/attachedTrait.d.ts.map +1 -1
- package/traits/attached/attachedTrait.js +3 -3
- package/traits/attached/attachedTrait.js.map +1 -1
- package/traits/attached/index.d.ts +1 -1
- package/traits/attached/index.d.ts.map +1 -1
- package/traits/attached/index.js +1 -1
- package/traits/attached/index.js.map +1 -1
- package/traits/breakable/breakableBehavior.d.ts +3 -3
- package/traits/breakable/breakableBehavior.d.ts.map +1 -1
- package/traits/breakable/breakableBehavior.js +10 -10
- package/traits/breakable/breakableBehavior.js.map +1 -1
- package/traits/breakable/breakableTrait.d.ts +1 -1
- package/traits/breakable/breakableTrait.d.ts.map +1 -1
- package/traits/breakable/index.d.ts +2 -2
- package/traits/breakable/index.d.ts.map +1 -1
- package/traits/breakable/index.js +4 -4
- package/traits/breakable/index.js.map +1 -1
- package/traits/button/buttonTrait.d.ts +1 -1
- package/traits/button/buttonTrait.d.ts.map +1 -1
- package/traits/button/buttonTrait.js +3 -3
- package/traits/button/buttonTrait.js.map +1 -1
- package/traits/button/index.d.ts +1 -1
- package/traits/button/index.d.ts.map +1 -1
- package/traits/button/index.js +1 -1
- package/traits/button/index.js.map +1 -1
- package/traits/character-model/characterModelTrait.d.ts +2 -2
- package/traits/character-model/characterModelTrait.d.ts.map +1 -1
- package/traits/character-model/characterModelTrait.js +16 -16
- package/traits/character-model/characterModelTrait.js.map +1 -1
- package/traits/character-model/index.d.ts +2 -2
- package/traits/character-model/index.d.ts.map +1 -1
- package/traits/character-model/index.js +3 -3
- package/traits/character-model/index.js.map +1 -1
- package/traits/climbable/climbableBehavior.d.ts +1 -1
- package/traits/climbable/climbableBehavior.d.ts.map +1 -1
- package/traits/climbable/climbableBehavior.js +9 -9
- package/traits/climbable/climbableBehavior.js.map +1 -1
- package/traits/climbable/climbableTrait.d.ts +1 -1
- package/traits/climbable/climbableTrait.d.ts.map +1 -1
- package/traits/climbable/climbableTrait.js +4 -4
- package/traits/climbable/climbableTrait.js.map +1 -1
- package/traits/climbable/index.d.ts +2 -2
- package/traits/climbable/index.d.ts.map +1 -1
- package/traits/climbable/index.js +2 -2
- package/traits/climbable/index.js.map +1 -1
- package/traits/clothing/clothingTrait.d.ts +2 -2
- package/traits/clothing/clothingTrait.d.ts.map +1 -1
- package/traits/clothing/clothingTrait.js +3 -3
- package/traits/clothing/clothingTrait.js.map +1 -1
- package/traits/clothing/index.d.ts +1 -1
- package/traits/clothing/index.d.ts.map +1 -1
- package/traits/clothing/index.js +1 -1
- package/traits/clothing/index.js.map +1 -1
- package/traits/combatant/combatantBehavior.d.ts +3 -3
- package/traits/combatant/combatantBehavior.d.ts.map +1 -1
- package/traits/combatant/combatantBehavior.js +26 -26
- package/traits/combatant/combatantBehavior.js.map +1 -1
- package/traits/combatant/combatantTrait.d.ts +1 -1
- package/traits/combatant/combatantTrait.d.ts.map +1 -1
- package/traits/combatant/index.d.ts +2 -2
- package/traits/combatant/index.d.ts.map +1 -1
- package/traits/combatant/index.js +4 -4
- package/traits/combatant/index.js.map +1 -1
- package/traits/concealment/concealedStateTrait.d.ts +3 -3
- package/traits/concealment/concealedStateTrait.d.ts.map +1 -1
- package/traits/concealment/concealedStateTrait.js +2 -2
- package/traits/concealment/concealedStateTrait.js.map +1 -1
- package/traits/concealment/concealedVisibilityBehavior.d.ts +2 -2
- package/traits/concealment/concealedVisibilityBehavior.d.ts.map +1 -1
- package/traits/concealment/concealedVisibilityBehavior.js +3 -3
- package/traits/concealment/concealedVisibilityBehavior.js.map +1 -1
- package/traits/concealment/concealmentTrait.d.ts +1 -1
- package/traits/concealment/concealmentTrait.d.ts.map +1 -1
- package/traits/concealment/index.d.ts +3 -3
- package/traits/concealment/index.d.ts.map +1 -1
- package/traits/concealment/index.js +3 -3
- package/traits/concealment/index.js.map +1 -1
- package/traits/container/container-utils.d.ts +2 -2
- package/traits/container/container-utils.d.ts.map +1 -1
- package/traits/container/container-utils.js +14 -14
- package/traits/container/container-utils.js.map +1 -1
- package/traits/container/containerBehavior.d.ts +7 -2
- package/traits/container/containerBehavior.d.ts.map +1 -1
- package/traits/container/containerBehavior.js +26 -26
- package/traits/container/containerBehavior.js.map +1 -1
- package/traits/container/containerTrait.d.ts +1 -1
- package/traits/container/containerTrait.d.ts.map +1 -1
- package/traits/container/containerTrait.js +3 -3
- package/traits/container/containerTrait.js.map +1 -1
- package/traits/container/index.d.ts +3 -3
- package/traits/container/index.d.ts.map +1 -1
- package/traits/container/index.js +9 -9
- package/traits/container/index.js.map +1 -1
- package/traits/cuttable/cuttableBehavior.d.ts +2 -2
- package/traits/cuttable/cuttableBehavior.d.ts.map +1 -1
- package/traits/cuttable/cuttableBehavior.js +6 -6
- package/traits/cuttable/cuttableBehavior.js.map +1 -1
- package/traits/cuttable/cuttableTrait.d.ts +1 -1
- package/traits/cuttable/cuttableTrait.d.ts.map +1 -1
- package/traits/cuttable/cuttableTrait.js +3 -3
- package/traits/cuttable/cuttableTrait.js.map +1 -1
- package/traits/cuttable/index.d.ts +2 -2
- package/traits/cuttable/index.d.ts.map +1 -1
- package/traits/cuttable/index.js +2 -2
- package/traits/cuttable/index.js.map +1 -1
- package/traits/deadly-room/deadlyRoomBehavior.d.ts +2 -2
- package/traits/deadly-room/deadlyRoomBehavior.d.ts.map +1 -1
- package/traits/deadly-room/deadlyRoomBehavior.js +4 -4
- package/traits/deadly-room/deadlyRoomBehavior.js.map +1 -1
- package/traits/deadly-room/deadlyRoomTrait.d.ts +1 -1
- package/traits/deadly-room/deadlyRoomTrait.d.ts.map +1 -1
- package/traits/deadly-room/index.d.ts +2 -2
- package/traits/deadly-room/index.d.ts.map +1 -1
- package/traits/deadly-room/index.js +4 -4
- package/traits/deadly-room/index.js.map +1 -1
- package/traits/destructible/destructibleBehavior.d.ts +3 -3
- package/traits/destructible/destructibleBehavior.d.ts.map +1 -1
- package/traits/destructible/destructibleBehavior.js +12 -12
- package/traits/destructible/destructibleBehavior.js.map +1 -1
- package/traits/destructible/destructibleTrait.d.ts +1 -1
- package/traits/destructible/destructibleTrait.d.ts.map +1 -1
- package/traits/destructible/index.d.ts +2 -2
- package/traits/destructible/index.d.ts.map +1 -1
- package/traits/destructible/index.js +4 -4
- package/traits/destructible/index.js.map +1 -1
- package/traits/diggable/diggableBehavior.d.ts +2 -2
- package/traits/diggable/diggableBehavior.d.ts.map +1 -1
- package/traits/diggable/diggableBehavior.js +6 -6
- package/traits/diggable/diggableBehavior.js.map +1 -1
- package/traits/diggable/diggableTrait.d.ts +1 -1
- package/traits/diggable/diggableTrait.d.ts.map +1 -1
- package/traits/diggable/diggableTrait.js +3 -3
- package/traits/diggable/diggableTrait.js.map +1 -1
- package/traits/diggable/index.d.ts +2 -2
- package/traits/diggable/index.d.ts.map +1 -1
- package/traits/diggable/index.js +2 -2
- package/traits/diggable/index.js.map +1 -1
- package/traits/door/doorBehavior.d.ts +2 -2
- package/traits/door/doorBehavior.d.ts.map +1 -1
- package/traits/door/doorBehavior.js +11 -11
- package/traits/door/doorBehavior.js.map +1 -1
- package/traits/door/doorTrait.d.ts +1 -1
- package/traits/door/doorTrait.d.ts.map +1 -1
- package/traits/door/doorTrait.js +3 -3
- package/traits/door/doorTrait.js.map +1 -1
- package/traits/door/index.d.ts +2 -2
- package/traits/door/index.d.ts.map +1 -1
- package/traits/door/index.js +4 -4
- package/traits/door/index.js.map +1 -1
- package/traits/edible/edibleBehavior.d.ts +3 -3
- package/traits/edible/edibleBehavior.d.ts.map +1 -1
- package/traits/edible/edibleBehavior.js +20 -20
- package/traits/edible/edibleBehavior.js.map +1 -1
- package/traits/edible/edibleTrait.d.ts +1 -1
- package/traits/edible/edibleTrait.d.ts.map +1 -1
- package/traits/edible/edibleTrait.js +3 -3
- package/traits/edible/edibleTrait.js.map +1 -1
- package/traits/edible/index.d.ts +2 -2
- package/traits/edible/index.d.ts.map +1 -1
- package/traits/edible/index.js +2 -2
- package/traits/edible/index.js.map +1 -1
- package/traits/enterable/enterableTrait.d.ts +1 -1
- package/traits/enterable/enterableTrait.d.ts.map +1 -1
- package/traits/enterable/enterableTrait.js +4 -4
- package/traits/enterable/enterableTrait.js.map +1 -1
- package/traits/enterable/index.d.ts +1 -1
- package/traits/enterable/index.d.ts.map +1 -1
- package/traits/enterable/index.js +1 -1
- package/traits/enterable/index.js.map +1 -1
- package/traits/equipped/equippedTrait.d.ts +1 -1
- package/traits/equipped/equippedTrait.d.ts.map +1 -1
- package/traits/equipped/index.d.ts +1 -1
- package/traits/equipped/index.d.ts.map +1 -1
- package/traits/equipped/index.js +2 -2
- package/traits/equipped/index.js.map +1 -1
- package/traits/exit/exitBehavior.d.ts +2 -2
- package/traits/exit/exitBehavior.d.ts.map +1 -1
- package/traits/exit/exitBehavior.js +27 -27
- package/traits/exit/exitBehavior.js.map +1 -1
- package/traits/exit/exitTrait.d.ts +1 -1
- package/traits/exit/exitTrait.d.ts.map +1 -1
- package/traits/exit/exitTrait.js +3 -3
- package/traits/exit/exitTrait.js.map +1 -1
- package/traits/exit/index.d.ts +2 -2
- package/traits/exit/index.d.ts.map +1 -1
- package/traits/exit/index.js +4 -4
- package/traits/exit/index.js.map +1 -1
- package/traits/health/healthBehavior.d.ts +2 -2
- package/traits/health/healthBehavior.d.ts.map +1 -1
- package/traits/health/healthBehavior.js +4 -4
- package/traits/health/healthBehavior.js.map +1 -1
- package/traits/health/healthTrait.d.ts +1 -1
- package/traits/health/healthTrait.d.ts.map +1 -1
- package/traits/health/index.d.ts +2 -2
- package/traits/health/index.d.ts.map +1 -1
- package/traits/health/index.js +4 -4
- package/traits/health/index.js.map +1 -1
- package/traits/identity/identityBehavior.d.ts +2 -2
- package/traits/identity/identityBehavior.d.ts.map +1 -1
- package/traits/identity/identityBehavior.js +16 -16
- package/traits/identity/identityBehavior.js.map +1 -1
- package/traits/identity/identityTrait.d.ts +8 -1
- package/traits/identity/identityTrait.d.ts.map +1 -1
- package/traits/identity/identityTrait.js +10 -3
- package/traits/identity/identityTrait.js.map +1 -1
- package/traits/identity/index.d.ts +3 -2
- package/traits/identity/index.d.ts.map +1 -1
- package/traits/identity/index.js +3 -2
- package/traits/identity/index.js.map +1 -1
- package/traits/identity/name-vocabulary.d.ts +31 -0
- package/traits/identity/name-vocabulary.d.ts.map +1 -0
- package/traits/identity/name-vocabulary.js +57 -0
- package/traits/identity/name-vocabulary.js.map +1 -0
- package/traits/implementations.d.ts +65 -42
- package/traits/implementations.d.ts.map +1 -1
- package/traits/implementations.js +163 -129
- package/traits/implementations.js.map +1 -1
- package/traits/index.d.ts +47 -48
- package/traits/index.d.ts.map +1 -1
- package/traits/index.js +47 -48
- package/traits/index.js.map +1 -1
- package/traits/light-source/index.d.ts +2 -2
- package/traits/light-source/index.d.ts.map +1 -1
- package/traits/light-source/index.js +4 -4
- package/traits/light-source/index.js.map +1 -1
- package/traits/light-source/lightSourceBehavior.d.ts +2 -2
- package/traits/light-source/lightSourceBehavior.d.ts.map +1 -1
- package/traits/light-source/lightSourceBehavior.js +16 -16
- package/traits/light-source/lightSourceBehavior.js.map +1 -1
- package/traits/light-source/lightSourceTrait.d.ts +1 -1
- package/traits/light-source/lightSourceTrait.d.ts.map +1 -1
- package/traits/light-source/lightSourceTrait.js +3 -3
- package/traits/light-source/lightSourceTrait.js.map +1 -1
- package/traits/listener/index.d.ts +1 -1
- package/traits/listener/index.d.ts.map +1 -1
- package/traits/listener/index.js +2 -2
- package/traits/listener/index.js.map +1 -1
- package/traits/listener/listenerTrait.d.ts +1 -1
- package/traits/listener/listenerTrait.d.ts.map +1 -1
- package/traits/listener/listenerTrait.js +3 -3
- package/traits/listener/listenerTrait.js.map +1 -1
- package/traits/lockable/index.d.ts +2 -2
- package/traits/lockable/index.d.ts.map +1 -1
- package/traits/lockable/index.js +2 -2
- package/traits/lockable/index.js.map +1 -1
- package/traits/lockable/lockableBehavior.d.ts +2 -2
- package/traits/lockable/lockableBehavior.d.ts.map +1 -1
- package/traits/lockable/lockableBehavior.js +19 -19
- package/traits/lockable/lockableBehavior.js.map +1 -1
- package/traits/lockable/lockableTrait.d.ts +1 -1
- package/traits/lockable/lockableTrait.d.ts.map +1 -1
- package/traits/lockable/lockableTrait.js +3 -3
- package/traits/lockable/lockableTrait.js.map +1 -1
- package/traits/moveable-scenery/index.d.ts +1 -1
- package/traits/moveable-scenery/index.d.ts.map +1 -1
- package/traits/moveable-scenery/index.js +1 -1
- package/traits/moveable-scenery/index.js.map +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.js +3 -3
- package/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -1
- package/traits/npc/index.d.ts +1 -1
- package/traits/npc/index.d.ts.map +1 -1
- package/traits/npc/index.js +2 -2
- package/traits/npc/index.js.map +1 -1
- package/traits/npc/npcTrait.d.ts +1 -1
- package/traits/npc/npcTrait.d.ts.map +1 -1
- package/traits/obstructor-protocol.d.ts +3 -3
- package/traits/obstructor-protocol.d.ts.map +1 -1
- package/traits/open-inventory/index.d.ts +1 -1
- package/traits/open-inventory/index.d.ts.map +1 -1
- package/traits/open-inventory/index.js +2 -2
- package/traits/open-inventory/index.js.map +1 -1
- package/traits/open-inventory/openInventoryTrait.d.ts +1 -1
- package/traits/open-inventory/openInventoryTrait.d.ts.map +1 -1
- package/traits/open-inventory/openInventoryTrait.js +3 -3
- package/traits/open-inventory/openInventoryTrait.js.map +1 -1
- package/traits/openable/index.d.ts +2 -2
- package/traits/openable/index.d.ts.map +1 -1
- package/traits/openable/index.js +2 -2
- package/traits/openable/index.js.map +1 -1
- package/traits/openable/openableBehavior.d.ts +2 -2
- package/traits/openable/openableBehavior.d.ts.map +1 -1
- package/traits/openable/openableBehavior.js +13 -13
- package/traits/openable/openableBehavior.js.map +1 -1
- package/traits/openable/openableTrait.d.ts +1 -1
- package/traits/openable/openableTrait.d.ts.map +1 -1
- package/traits/openable/openableTrait.js +3 -3
- package/traits/openable/openableTrait.js.map +1 -1
- package/traits/pullable/index.d.ts +1 -1
- package/traits/pullable/index.d.ts.map +1 -1
- package/traits/pullable/index.js +1 -1
- package/traits/pullable/index.js.map +1 -1
- package/traits/pullable/pullableTrait.d.ts +1 -1
- package/traits/pullable/pullableTrait.d.ts.map +1 -1
- package/traits/pullable/pullableTrait.js +3 -3
- package/traits/pullable/pullableTrait.js.map +1 -1
- package/traits/pushable/index.d.ts +1 -1
- package/traits/pushable/index.d.ts.map +1 -1
- package/traits/pushable/index.js +1 -1
- package/traits/pushable/index.js.map +1 -1
- package/traits/pushable/pushableTrait.d.ts +1 -1
- package/traits/pushable/pushableTrait.d.ts.map +1 -1
- package/traits/pushable/pushableTrait.js +3 -3
- package/traits/pushable/pushableTrait.js.map +1 -1
- package/traits/readable/index.d.ts +2 -2
- package/traits/readable/index.d.ts.map +1 -1
- package/traits/readable/index.js +4 -4
- package/traits/readable/index.js.map +1 -1
- package/traits/readable/readableBehavior.d.ts +1 -1
- package/traits/readable/readableBehavior.d.ts.map +1 -1
- package/traits/readable/readableBehavior.js +10 -10
- package/traits/readable/readableBehavior.js.map +1 -1
- package/traits/readable/readableTrait.d.ts +1 -1
- package/traits/readable/readableTrait.d.ts.map +1 -1
- package/traits/readable/readableTrait.js +3 -3
- package/traits/readable/readableTrait.js.map +1 -1
- package/traits/region/index.d.ts +1 -1
- package/traits/region/index.d.ts.map +1 -1
- package/traits/region/index.js +2 -2
- package/traits/region/index.js.map +1 -1
- package/traits/region/regionTrait.d.ts +1 -1
- package/traits/region/regionTrait.d.ts.map +1 -1
- package/traits/region/regionTrait.js +3 -3
- package/traits/region/regionTrait.js.map +1 -1
- package/traits/room/index.d.ts +2 -2
- package/traits/room/index.d.ts.map +1 -1
- package/traits/room/index.js +4 -4
- package/traits/room/index.js.map +1 -1
- package/traits/room/roomBehavior.d.ts +4 -4
- package/traits/room/roomBehavior.d.ts.map +1 -1
- package/traits/room/roomBehavior.js +25 -25
- package/traits/room/roomBehavior.js.map +1 -1
- package/traits/room/roomTrait.d.ts +2 -2
- package/traits/room/roomTrait.d.ts.map +1 -1
- package/traits/room/roomTrait.js +3 -3
- package/traits/room/roomTrait.js.map +1 -1
- package/traits/scene/index.d.ts +1 -1
- package/traits/scene/index.d.ts.map +1 -1
- package/traits/scene/index.js +2 -2
- package/traits/scene/index.js.map +1 -1
- package/traits/scene/sceneTrait.d.ts +1 -1
- package/traits/scene/sceneTrait.d.ts.map +1 -1
- package/traits/scene/sceneTrait.js +3 -3
- package/traits/scene/sceneTrait.js.map +1 -1
- package/traits/scenery/index.d.ts +2 -2
- package/traits/scenery/index.d.ts.map +1 -1
- package/traits/scenery/index.js +4 -4
- package/traits/scenery/index.js.map +1 -1
- package/traits/scenery/sceneryBehavior.d.ts +1 -1
- package/traits/scenery/sceneryBehavior.d.ts.map +1 -1
- package/traits/scenery/sceneryBehavior.js +5 -5
- package/traits/scenery/sceneryBehavior.js.map +1 -1
- package/traits/scenery/sceneryTrait.d.ts +1 -1
- package/traits/scenery/sceneryTrait.d.ts.map +1 -1
- package/traits/scenery/sceneryTrait.js +3 -3
- package/traits/scenery/sceneryTrait.js.map +1 -1
- package/traits/story-info/index.d.ts +1 -1
- package/traits/story-info/index.d.ts.map +1 -1
- package/traits/story-info/index.js +2 -2
- package/traits/story-info/index.js.map +1 -1
- package/traits/story-info/storyInfoTrait.d.ts +1 -1
- package/traits/story-info/storyInfoTrait.d.ts.map +1 -1
- package/traits/supporter/index.d.ts +2 -2
- package/traits/supporter/index.d.ts.map +1 -1
- package/traits/supporter/index.js +4 -4
- package/traits/supporter/index.js.map +1 -1
- package/traits/supporter/supporterBehavior.d.ts +3 -3
- package/traits/supporter/supporterBehavior.d.ts.map +1 -1
- package/traits/supporter/supporterBehavior.js +15 -15
- package/traits/supporter/supporterBehavior.js.map +1 -1
- package/traits/supporter/supporterTrait.d.ts +1 -1
- package/traits/supporter/supporterTrait.d.ts.map +1 -1
- package/traits/supporter/supporterTrait.js +3 -3
- package/traits/supporter/supporterTrait.js.map +1 -1
- package/traits/switchable/index.d.ts +2 -2
- package/traits/switchable/index.d.ts.map +1 -1
- package/traits/switchable/index.js +2 -2
- package/traits/switchable/index.js.map +1 -1
- package/traits/switchable/switchableBehavior.d.ts +2 -2
- package/traits/switchable/switchableBehavior.d.ts.map +1 -1
- package/traits/switchable/switchableBehavior.js +18 -18
- package/traits/switchable/switchableBehavior.js.map +1 -1
- package/traits/switchable/switchableTrait.d.ts +1 -1
- package/traits/switchable/switchableTrait.d.ts.map +1 -1
- package/traits/switchable/switchableTrait.js +3 -3
- package/traits/switchable/switchableTrait.js.map +1 -1
- package/traits/trait-types.d.ts +0 -1
- package/traits/trait-types.d.ts.map +1 -1
- package/traits/trait-types.js +0 -2
- package/traits/trait-types.js.map +1 -1
- package/traits/trait.d.ts +1 -1
- package/traits/trait.d.ts.map +1 -1
- package/traits/vehicle/index.d.ts +2 -2
- package/traits/vehicle/index.d.ts.map +1 -1
- package/traits/vehicle/index.js +2 -2
- package/traits/vehicle/index.js.map +1 -1
- package/traits/vehicle/vehicleBehavior.d.ts +2 -2
- package/traits/vehicle/vehicleBehavior.d.ts.map +1 -1
- package/traits/vehicle/vehicleBehavior.js +7 -7
- package/traits/vehicle/vehicleBehavior.js.map +1 -1
- package/traits/vehicle/vehicleTrait.d.ts +1 -1
- package/traits/vehicle/vehicleTrait.d.ts.map +1 -1
- package/traits/vehicle/vehicleTrait.js +4 -4
- package/traits/vehicle/vehicleTrait.js.map +1 -1
- package/traits/weapon/index.d.ts +2 -2
- package/traits/weapon/index.d.ts.map +1 -1
- package/traits/weapon/index.js +4 -4
- package/traits/weapon/index.js.map +1 -1
- package/traits/weapon/weaponBehavior.d.ts +11 -4
- package/traits/weapon/weaponBehavior.d.ts.map +1 -1
- package/traits/weapon/weaponBehavior.js +24 -19
- package/traits/weapon/weaponBehavior.js.map +1 -1
- package/traits/weapon/weaponTrait.d.ts +1 -1
- package/traits/weapon/weaponTrait.d.ts.map +1 -1
- package/traits/wearable/index.d.ts +2 -2
- package/traits/wearable/index.d.ts.map +1 -1
- package/traits/wearable/index.js +2 -2
- package/traits/wearable/index.js.map +1 -1
- package/traits/wearable/wearableBehavior.d.ts +1 -1
- package/traits/wearable/wearableBehavior.d.ts.map +1 -1
- package/traits/wearable/wearableBehavior.js +11 -11
- package/traits/wearable/wearableBehavior.js.map +1 -1
- package/traits/wearable/wearableTrait.d.ts +1 -1
- package/traits/wearable/wearableTrait.d.ts.map +1 -1
- package/traits/wearable/wearableTrait.js +3 -3
- package/traits/wearable/wearableTrait.js.map +1 -1
- package/world/AuthorModel.d.ts +28 -17
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +31 -4
- package/world/AuthorModel.js.map +1 -1
- package/world/ScoreLedger.d.ts +75 -3
- package/world/ScoreLedger.d.ts.map +1 -1
- package/world/ScoreLedger.js +77 -3
- package/world/ScoreLedger.js.map +1 -1
- package/world/SharedDataStore.d.ts +2 -2
- package/world/SharedDataStore.d.ts.map +1 -1
- package/world/SharedDataStore.js +2 -2
- package/world/SharedDataStore.js.map +1 -1
- package/world/VisibilityBehavior.d.ts +59 -3
- package/world/VisibilityBehavior.d.ts.map +1 -1
- package/world/VisibilityBehavior.js +192 -100
- package/world/VisibilityBehavior.js.map +1 -1
- package/world/WorldEventSystem.d.ts +1 -1
- package/world/WorldEventSystem.d.ts.map +1 -1
- package/world/WorldModel.d.ts +75 -18
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +179 -113
- package/world/WorldModel.js.map +1 -1
- package/world/WorldSerializer.d.ts +4 -4
- package/world/WorldSerializer.d.ts.map +1 -1
- package/world/WorldSerializer.js +2 -2
- package/world/WorldSerializer.js.map +1 -1
- package/world/band.d.ts +22 -0
- package/world/band.d.ts.map +1 -0
- package/world/band.js +36 -0
- package/world/band.js.map +1 -0
- package/world/default-trait-registry.d.ts +1 -1
- package/world/default-trait-registry.d.ts.map +1 -1
- package/world/default-trait-registry.js +3 -3
- package/world/default-trait-registry.js.map +1 -1
- package/world/index.d.ts +10 -9
- package/world/index.d.ts.map +1 -1
- package/world/index.js +20 -16
- package/world/index.js.map +1 -1
- package/world/wall-creation.d.ts +2 -2
- package/world/wall-creation.d.ts.map +1 -1
- package/world/wall-creation.js +6 -6
- package/world/wall-creation.js.map +1 -1
- package/world/wall-validation.d.ts +2 -2
- package/world/wall-validation.d.ts.map +1 -1
- package/world/wall-validation.js +3 -3
- package/world/wall-validation.js.map +1 -1
|
@@ -2,24 +2,48 @@
|
|
|
2
2
|
// VisibilityBehavior.ts - Visibility system for IF
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.VisibilityBehavior = exports.VISIBILITY_CAPABILITY = void 0;
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
5
|
+
exports.darkKey = darkKey;
|
|
6
|
+
const behavior_js_1 = require("../behaviors/behavior.js");
|
|
7
|
+
const trait_types_js_1 = require("../traits/trait-types.js");
|
|
8
|
+
const switchableBehavior_js_1 = require("../traits/switchable/switchableBehavior.js");
|
|
9
|
+
const vehicleTrait_js_1 = require("../traits/vehicle/vehicleTrait.js");
|
|
10
|
+
const roomTrait_js_1 = require("../traits/room/roomTrait.js");
|
|
11
|
+
const containerTrait_js_1 = require("../traits/container/containerTrait.js");
|
|
12
|
+
const openableTrait_js_1 = require("../traits/openable/openableTrait.js");
|
|
13
|
+
const lightSourceTrait_js_1 = require("../traits/light-source/lightSourceTrait.js");
|
|
14
|
+
const sceneryTrait_js_1 = require("../traits/scenery/sceneryTrait.js");
|
|
15
|
+
const identityTrait_js_1 = require("../traits/identity/identityTrait.js");
|
|
16
|
+
const doorTrait_js_1 = require("../traits/door/doorTrait.js");
|
|
17
|
+
const index_js_1 = require("../capabilities/index.js");
|
|
16
18
|
/**
|
|
17
19
|
* Standard capability ID for visibility control.
|
|
18
20
|
* Entities can claim this capability to control their own visibility.
|
|
19
21
|
*/
|
|
20
22
|
exports.VISIBILITY_CAPABILITY = 'if.scope.visible';
|
|
21
|
-
|
|
23
|
+
/**
|
|
24
|
+
* ADR-240 evaluator key for a room's derived darkness (`dark.<roomId>`).
|
|
25
|
+
* Owned by this read point; registrars (e.g. the story-loader's
|
|
26
|
+
* `dark while` conditions) build the key with this function, never by
|
|
27
|
+
* hand — the string is constructed in exactly two places, both pinned.
|
|
28
|
+
*/
|
|
29
|
+
function darkKey(roomId) {
|
|
30
|
+
return `dark.${roomId}`;
|
|
31
|
+
}
|
|
32
|
+
class VisibilityBehavior extends behavior_js_1.Behavior {
|
|
22
33
|
static requiredTraits = [];
|
|
34
|
+
/**
|
|
35
|
+
* The live answer to "does this room require light?" (ADR-240): a
|
|
36
|
+
* registered `dark.<roomId>` evaluator is authoritative (point-of-use
|
|
37
|
+
* truth, never stale); with nothing registered, the stamped trait
|
|
38
|
+
* fact applies unchanged (static `dark`, hand-written TS stories).
|
|
39
|
+
*/
|
|
40
|
+
static roomRequiresLight(room, world) {
|
|
41
|
+
const derived = world.evaluate(darkKey(room.id));
|
|
42
|
+
if (typeof derived === 'boolean')
|
|
43
|
+
return derived;
|
|
44
|
+
const roomTrait = room.getTrait(roomTrait_js_1.RoomTrait);
|
|
45
|
+
return Boolean(roomTrait && roomTrait.requiresLight);
|
|
46
|
+
}
|
|
23
47
|
/**
|
|
24
48
|
* Determines if a room is effectively dark (no usable light sources).
|
|
25
49
|
* This is the single source of truth for darkness checking.
|
|
@@ -33,9 +57,8 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
33
57
|
* @returns true if the room is dark and has no accessible light sources
|
|
34
58
|
*/
|
|
35
59
|
static isDark(room, world) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return false; // Room isn't marked as dark
|
|
60
|
+
if (!this.roomRequiresLight(room, world)) {
|
|
61
|
+
return false; // Room isn't dark (live evaluator or static trait fact)
|
|
39
62
|
}
|
|
40
63
|
return !this.hasLightSource(room, world);
|
|
41
64
|
}
|
|
@@ -49,18 +72,65 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
49
72
|
* 3. Default to lit (e.g., glowing gems, phosphorescent moss)
|
|
50
73
|
*/
|
|
51
74
|
static isLightActive(entity) {
|
|
52
|
-
const lightTrait = entity.getTrait(
|
|
75
|
+
const lightTrait = entity.getTrait(lightSourceTrait_js_1.LightSourceTrait);
|
|
53
76
|
// Explicit isLit property takes precedence
|
|
54
77
|
if (lightTrait?.isLit !== undefined) {
|
|
55
78
|
return lightTrait.isLit === true;
|
|
56
79
|
}
|
|
57
80
|
// Fall back to switchable state
|
|
58
|
-
if (entity.hasTrait(
|
|
59
|
-
return
|
|
81
|
+
if (entity.hasTrait(trait_types_js_1.TraitType.SWITCHABLE)) {
|
|
82
|
+
return switchableBehavior_js_1.SwitchableBehavior.isOn(entity);
|
|
60
83
|
}
|
|
61
84
|
// Default: light sources without explicit state are lit
|
|
62
85
|
return true;
|
|
63
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Whether an entity is still concealed (hidden until SEARCH or a game event
|
|
89
|
+
* reveals it). This is the SINGLE shared definition of item concealment for
|
|
90
|
+
* visibility: scope resolution, LOOK, and EXAMINE must all consult it (here
|
|
91
|
+
* or via canSee/getVisible/getVisibleContents), never re-derive it.
|
|
92
|
+
*
|
|
93
|
+
* @param entity - The entity to check (safe on entities without IdentityTrait)
|
|
94
|
+
* @returns true if the entity carries IdentityTrait with concealed === true
|
|
95
|
+
*/
|
|
96
|
+
static isConcealed(entity) {
|
|
97
|
+
return entity.getTrait(identityTrait_js_1.IdentityTrait)?.concealed === true;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The single per-entity listing filter shared by every visibility path
|
|
101
|
+
* (room contents, container/supporter contents): excludes still-concealed
|
|
102
|
+
* entities, scenery marked invisible, and entities whose visibility
|
|
103
|
+
* capability vetoes being seen.
|
|
104
|
+
*
|
|
105
|
+
* @param entity - The candidate entity
|
|
106
|
+
* @param world - The world model
|
|
107
|
+
* @param observerId - The observer (or container proxy) id passed to a
|
|
108
|
+
* visibility-capability behavior's validate
|
|
109
|
+
* @returns true if the entity may appear in a visible-entity listing
|
|
110
|
+
*/
|
|
111
|
+
static isListable(entity, world, observerId) {
|
|
112
|
+
// Concealed entities are hidden everywhere until revealed
|
|
113
|
+
if (this.isConcealed(entity)) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
// Check if entity is invisible via SceneryTrait
|
|
117
|
+
const scenery = entity.getTrait(sceneryTrait_js_1.SceneryTrait);
|
|
118
|
+
if (scenery && scenery.visible === false) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
// Check if entity has visibility capability that blocks being seen
|
|
122
|
+
const visibilityTrait = (0, index_js_1.findTraitWithCapability)(entity, exports.VISIBILITY_CAPABILITY);
|
|
123
|
+
if (visibilityTrait) {
|
|
124
|
+
const behavior = world.getBehaviorForCapability(visibilityTrait, exports.VISIBILITY_CAPABILITY);
|
|
125
|
+
if (behavior) {
|
|
126
|
+
const result = behavior.validate(entity, world, observerId, {});
|
|
127
|
+
if (!result.valid) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
64
134
|
/**
|
|
65
135
|
* Determines if an observer can see a target entity
|
|
66
136
|
*/
|
|
@@ -68,13 +138,18 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
68
138
|
// Can always see self
|
|
69
139
|
if (observer.id === target.id)
|
|
70
140
|
return true;
|
|
141
|
+
// Concealed entities are hidden from sight until revealed (same rule as
|
|
142
|
+
// getVisible/getVisibleContents — one definition of "visible")
|
|
143
|
+
if (this.isConcealed(target)) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
71
146
|
// Check if target is invisible via SceneryTrait
|
|
72
|
-
const targetScenery = target.getTrait(
|
|
147
|
+
const targetScenery = target.getTrait(sceneryTrait_js_1.SceneryTrait);
|
|
73
148
|
if (targetScenery && targetScenery.visible === false) {
|
|
74
149
|
return false;
|
|
75
150
|
}
|
|
76
151
|
// Check if target has visibility capability that blocks being seen
|
|
77
|
-
const visibilityTrait = (0,
|
|
152
|
+
const visibilityTrait = (0, index_js_1.findTraitWithCapability)(target, exports.VISIBILITY_CAPABILITY);
|
|
78
153
|
if (visibilityTrait) {
|
|
79
154
|
const behavior = world.getBehaviorForCapability(visibilityTrait, exports.VISIBILITY_CAPABILITY);
|
|
80
155
|
if (behavior) {
|
|
@@ -88,7 +163,7 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
88
163
|
const observerRoom = world.getContainingRoom(observer.id);
|
|
89
164
|
const targetRoom = world.getContainingRoom(target.id);
|
|
90
165
|
// Must be in same room (or target is the room)
|
|
91
|
-
if (target.hasTrait(
|
|
166
|
+
if (target.hasTrait(trait_types_js_1.TraitType.ROOM)) {
|
|
92
167
|
// Check if we're in the target room
|
|
93
168
|
if (observerRoom?.id === target.id) {
|
|
94
169
|
// Always know what room you're in, even in darkness
|
|
@@ -96,18 +171,23 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
96
171
|
}
|
|
97
172
|
return false;
|
|
98
173
|
}
|
|
99
|
-
|
|
174
|
+
// A door is present at BOTH of its rooms (ADR-234 AC-3; David's ruling
|
|
175
|
+
// 2026-07-18): visible from either side. Only the door itself is
|
|
176
|
+
// two-sided — the far room and its contents stay unseen.
|
|
177
|
+
const targetDoor = target.getTrait(doorTrait_js_1.DoorTrait);
|
|
178
|
+
const doorPresent = !!targetDoor && !!observerRoom &&
|
|
179
|
+
(targetDoor.room1 === observerRoom.id || targetDoor.room2 === observerRoom.id);
|
|
180
|
+
if (!observerRoom || (!doorPresent && observerRoom.id !== targetRoom?.id)) {
|
|
100
181
|
return false;
|
|
101
182
|
}
|
|
102
|
-
// Check if room is dark
|
|
103
|
-
|
|
104
|
-
if (roomTrait && roomTrait.requiresLight) {
|
|
183
|
+
// Check if room is dark (live evaluator first — ADR-240)
|
|
184
|
+
if (this.roomRequiresLight(observerRoom, world)) {
|
|
105
185
|
// In a dark room, need light to see
|
|
106
186
|
if (!this.hasLightSource(observerRoom, world)) {
|
|
107
187
|
// Special cases in darkness:
|
|
108
188
|
// 1. Can see lit light sources
|
|
109
|
-
if (target.hasTrait(
|
|
110
|
-
target.getTrait(
|
|
189
|
+
if (target.hasTrait(trait_types_js_1.TraitType.LIGHT_SOURCE) &&
|
|
190
|
+
target.getTrait(lightSourceTrait_js_1.LightSourceTrait)?.isLit === true) {
|
|
111
191
|
return true;
|
|
112
192
|
}
|
|
113
193
|
// 2. Can see items you're carrying (by feel)
|
|
@@ -119,6 +199,11 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
119
199
|
return false;
|
|
120
200
|
}
|
|
121
201
|
}
|
|
202
|
+
// A far-side door sits at the room boundary — container occlusion
|
|
203
|
+
// cannot apply across it.
|
|
204
|
+
if (doorPresent && observerRoom.id !== targetRoom?.id) {
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
122
207
|
// Check line of sight through containers
|
|
123
208
|
const hasLineOfSight = this.hasLineOfSight(observer.id, target.id, world);
|
|
124
209
|
return hasLineOfSight;
|
|
@@ -137,9 +222,8 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
137
222
|
visible.push(observerRoom);
|
|
138
223
|
seen.add(observerRoom.id);
|
|
139
224
|
}
|
|
140
|
-
// Check if room is dark
|
|
141
|
-
const
|
|
142
|
-
const isDark = roomTrait && roomTrait.requiresLight;
|
|
225
|
+
// Check if room is dark (live evaluator first — ADR-240)
|
|
226
|
+
const isDark = this.roomRequiresLight(observerRoom, world);
|
|
143
227
|
const hasLight = this.hasLightSource(observerRoom, world);
|
|
144
228
|
// If it's dark and no light, only see specific things
|
|
145
229
|
if (isDark && !hasLight) {
|
|
@@ -154,8 +238,8 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
154
238
|
// Add any lit light sources in the room
|
|
155
239
|
const roomContents = world.getAllContents(observerRoom.id, { recursive: true });
|
|
156
240
|
for (const entity of roomContents) {
|
|
157
|
-
if (entity.hasTrait(
|
|
158
|
-
const light = entity.getTrait(
|
|
241
|
+
if (entity.hasTrait(trait_types_js_1.TraitType.LIGHT_SOURCE)) {
|
|
242
|
+
const light = entity.getTrait(lightSourceTrait_js_1.LightSourceTrait);
|
|
159
243
|
if (light && light.isLit === true && !seen.has(entity.id)) {
|
|
160
244
|
visible.push(entity);
|
|
161
245
|
seen.add(entity.id);
|
|
@@ -166,40 +250,36 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
166
250
|
}
|
|
167
251
|
// Get contents of the room
|
|
168
252
|
const roomContents = world.getContents(observerRoom.id);
|
|
169
|
-
// Add visible entities in the room
|
|
253
|
+
// Add visible entities in the room (shared per-entity filter: concealed,
|
|
254
|
+
// invisible scenery, capability veto)
|
|
170
255
|
for (const entity of roomContents) {
|
|
171
256
|
if (entity.id !== observer.id && !seen.has(entity.id)) {
|
|
172
|
-
|
|
173
|
-
const identity = entity.getTrait(identityTrait_1.IdentityTrait);
|
|
174
|
-
if (identity && identity.concealed === true) {
|
|
175
|
-
continue;
|
|
176
|
-
}
|
|
177
|
-
// Check if entity is visible via SceneryTrait
|
|
178
|
-
const scenery = entity.getTrait(sceneryTrait_1.SceneryTrait);
|
|
179
|
-
if (scenery && scenery.visible === false) {
|
|
257
|
+
if (!this.isListable(entity, world, observer.id)) {
|
|
180
258
|
continue;
|
|
181
259
|
}
|
|
182
|
-
// Check if entity has visibility capability that blocks being seen
|
|
183
|
-
const visibilityTrait = (0, capabilities_1.findTraitWithCapability)(entity, exports.VISIBILITY_CAPABILITY);
|
|
184
|
-
if (visibilityTrait) {
|
|
185
|
-
const behavior = world.getBehaviorForCapability(visibilityTrait, exports.VISIBILITY_CAPABILITY);
|
|
186
|
-
if (behavior) {
|
|
187
|
-
const result = behavior.validate(entity, world, observer.id, {});
|
|
188
|
-
if (!result.valid) {
|
|
189
|
-
continue; // Entity blocks visibility via capability
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
260
|
visible.push(entity);
|
|
194
261
|
seen.add(entity.id);
|
|
195
262
|
// Check contents of this entity if it's a container/supporter/actor
|
|
196
|
-
if (entity.hasTrait(
|
|
197
|
-
entity.hasTrait(
|
|
198
|
-
entity.hasTrait(
|
|
263
|
+
if (entity.hasTrait(trait_types_js_1.TraitType.CONTAINER) ||
|
|
264
|
+
entity.hasTrait(trait_types_js_1.TraitType.SUPPORTER) ||
|
|
265
|
+
entity.hasTrait(trait_types_js_1.TraitType.ACTOR)) {
|
|
199
266
|
this.addVisibleContents(entity, visible, seen, world);
|
|
200
267
|
}
|
|
201
268
|
}
|
|
202
269
|
}
|
|
270
|
+
// Doors of this room whose spatial home is the far side (ADR-234 AC-3;
|
|
271
|
+
// David's ruling 2026-07-18): a door is present at both of its rooms.
|
|
272
|
+
for (const door of world.findByTrait(trait_types_js_1.TraitType.DOOR)) {
|
|
273
|
+
if (seen.has(door.id))
|
|
274
|
+
continue;
|
|
275
|
+
const doorTrait = door.getTrait(doorTrait_js_1.DoorTrait);
|
|
276
|
+
if (!doorTrait || (doorTrait.room1 !== observerRoom.id && doorTrait.room2 !== observerRoom.id))
|
|
277
|
+
continue;
|
|
278
|
+
if (this.canSee(observer, door, world)) {
|
|
279
|
+
visible.push(door);
|
|
280
|
+
seen.add(door.id);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
203
283
|
// Add carried items
|
|
204
284
|
const carried = world.getContents(observer.id);
|
|
205
285
|
for (const entity of carried) {
|
|
@@ -207,56 +287,64 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
207
287
|
visible.push(entity);
|
|
208
288
|
seen.add(entity.id);
|
|
209
289
|
// Check contents of carried containers
|
|
210
|
-
if (entity.hasTrait(
|
|
290
|
+
if (entity.hasTrait(trait_types_js_1.TraitType.CONTAINER) || entity.hasTrait(trait_types_js_1.TraitType.SUPPORTER)) {
|
|
211
291
|
this.addVisibleContents(entity, visible, seen, world);
|
|
212
292
|
}
|
|
213
293
|
}
|
|
214
294
|
}
|
|
215
295
|
return visible;
|
|
216
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* The direct contents of a container/supporter/actor that could appear in a
|
|
299
|
+
* visible listing: applies the same per-entity filter as getVisible
|
|
300
|
+
* (concealed, invisible scenery, visibility-capability veto) to
|
|
301
|
+
* `getContents(id)` (worn items included by default, ADR-247).
|
|
302
|
+
*
|
|
303
|
+
* Does NOT check whether the container's inside is exposed (closed opaque
|
|
304
|
+
* container) — callers listing contents have already established that, and
|
|
305
|
+
* addVisibleContents keeps that gate itself.
|
|
306
|
+
*
|
|
307
|
+
* This is the shared read for LOOK's and EXAMINE's contents listings — a
|
|
308
|
+
* still-concealed item stays out of both until SEARCH reveals it, by the
|
|
309
|
+
* same definition scope resolution uses.
|
|
310
|
+
*
|
|
311
|
+
* @param container - The container/supporter/actor whose contents to list
|
|
312
|
+
* @param world - The world model
|
|
313
|
+
* @returns the listable direct contents
|
|
314
|
+
*/
|
|
315
|
+
static getVisibleContents(container, world) {
|
|
316
|
+
// Note: no direct observer here — the container's id is the proxy passed
|
|
317
|
+
// to visibility-capability behaviors, matching addVisibleContents.
|
|
318
|
+
return world
|
|
319
|
+
.getContents(container.id) // ADR-247: worn items included by default
|
|
320
|
+
.filter(entity => this.isListable(entity, world, container.id));
|
|
321
|
+
}
|
|
217
322
|
/**
|
|
218
323
|
* Recursively adds visible contents of a container/supporter/actor
|
|
219
324
|
*/
|
|
220
325
|
static addVisibleContents(container, visible, seen, world) {
|
|
221
326
|
// Check if we can see inside this container
|
|
222
|
-
if (container.hasTrait(
|
|
223
|
-
const containerTrait = container.getTrait(
|
|
327
|
+
if (container.hasTrait(trait_types_js_1.TraitType.CONTAINER)) {
|
|
328
|
+
const containerTrait = container.getTrait(containerTrait_js_1.ContainerTrait);
|
|
224
329
|
const isTransparent = containerTrait?.isTransparent ?? false;
|
|
225
|
-
if (!isTransparent && container.hasTrait(
|
|
226
|
-
const openable = container.getTrait(
|
|
330
|
+
if (!isTransparent && container.hasTrait(trait_types_js_1.TraitType.OPENABLE)) {
|
|
331
|
+
const openable = container.getTrait(openableTrait_js_1.OpenableTrait);
|
|
227
332
|
const isOpen = openable?.isOpen ?? false;
|
|
228
333
|
if (!isOpen) {
|
|
229
334
|
return; // Can't see inside closed opaque container
|
|
230
335
|
}
|
|
231
336
|
}
|
|
232
337
|
}
|
|
233
|
-
//
|
|
234
|
-
|
|
235
|
-
for (const entity of
|
|
338
|
+
// Contents that pass the shared per-entity filter (concealed, invisible
|
|
339
|
+
// scenery, capability veto — one definition with getVisible)
|
|
340
|
+
for (const entity of this.getVisibleContents(container, world)) {
|
|
236
341
|
if (!seen.has(entity.id)) {
|
|
237
|
-
// Check if entity is visible via SceneryTrait
|
|
238
|
-
const scenery = entity.getTrait(sceneryTrait_1.SceneryTrait);
|
|
239
|
-
if (scenery && scenery.visible === false) {
|
|
240
|
-
continue;
|
|
241
|
-
}
|
|
242
|
-
// Check if entity has visibility capability that blocks being seen
|
|
243
|
-
const visibilityTrait = (0, capabilities_1.findTraitWithCapability)(entity, exports.VISIBILITY_CAPABILITY);
|
|
244
|
-
if (visibilityTrait) {
|
|
245
|
-
const behavior = world.getBehaviorForCapability(visibilityTrait, exports.VISIBILITY_CAPABILITY);
|
|
246
|
-
if (behavior) {
|
|
247
|
-
// Note: We don't have a direct observer here, use container's id as proxy
|
|
248
|
-
const result = behavior.validate(entity, world, container.id, {});
|
|
249
|
-
if (!result.valid) {
|
|
250
|
-
continue; // Entity blocks visibility via capability
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
342
|
visible.push(entity);
|
|
255
343
|
seen.add(entity.id);
|
|
256
344
|
// Recurse into nested containers
|
|
257
|
-
if (entity.hasTrait(
|
|
258
|
-
entity.hasTrait(
|
|
259
|
-
entity.hasTrait(
|
|
345
|
+
if (entity.hasTrait(trait_types_js_1.TraitType.CONTAINER) ||
|
|
346
|
+
entity.hasTrait(trait_types_js_1.TraitType.SUPPORTER) ||
|
|
347
|
+
entity.hasTrait(trait_types_js_1.TraitType.ACTOR)) {
|
|
260
348
|
this.addVisibleContents(entity, visible, seen, world);
|
|
261
349
|
}
|
|
262
350
|
}
|
|
@@ -267,10 +355,10 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
267
355
|
* Handles nested containers, worn items, and various light source types.
|
|
268
356
|
*/
|
|
269
357
|
static hasLightSource(room, world) {
|
|
270
|
-
// Check all entities in the room, including worn items
|
|
271
|
-
const contents = world.getAllContents(room.id, { recursive: true
|
|
358
|
+
// Check all entities in the room, including worn items (ADR-247: default)
|
|
359
|
+
const contents = world.getAllContents(room.id, { recursive: true });
|
|
272
360
|
for (const entity of contents) {
|
|
273
|
-
if (!entity.hasTrait(
|
|
361
|
+
if (!entity.hasTrait(trait_types_js_1.TraitType.LIGHT_SOURCE))
|
|
274
362
|
continue;
|
|
275
363
|
// Check if light is active (isLit, switchable, or default)
|
|
276
364
|
if (!this.isLightActive(entity))
|
|
@@ -312,16 +400,16 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
312
400
|
if (!container)
|
|
313
401
|
return true;
|
|
314
402
|
// Actors don't block access/visibility of their contents
|
|
315
|
-
if (container.hasTrait(
|
|
403
|
+
if (container.hasTrait(trait_types_js_1.TraitType.ACTOR)) {
|
|
316
404
|
current = parentId;
|
|
317
405
|
continue;
|
|
318
406
|
}
|
|
319
407
|
// Opaque + closed containers block the path
|
|
320
|
-
if (container.hasTrait(
|
|
321
|
-
const containerTrait = container.getTrait(
|
|
408
|
+
if (container.hasTrait(trait_types_js_1.TraitType.CONTAINER)) {
|
|
409
|
+
const containerTrait = container.getTrait(containerTrait_js_1.ContainerTrait);
|
|
322
410
|
const isTransparent = containerTrait?.isTransparent ?? false;
|
|
323
|
-
if (!isTransparent && container.hasTrait(
|
|
324
|
-
const openable = container.getTrait(
|
|
411
|
+
if (!isTransparent && container.hasTrait(trait_types_js_1.TraitType.OPENABLE)) {
|
|
412
|
+
const openable = container.getTrait(openableTrait_js_1.OpenableTrait);
|
|
325
413
|
const isOpen = openable?.isOpen ?? false;
|
|
326
414
|
if (!isOpen) {
|
|
327
415
|
return false;
|
|
@@ -329,7 +417,7 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
329
417
|
}
|
|
330
418
|
}
|
|
331
419
|
// Stop at rooms (natural top of containment)
|
|
332
|
-
if (container.hasTrait(
|
|
420
|
+
if (container.hasTrait(trait_types_js_1.TraitType.ROOM))
|
|
333
421
|
return true;
|
|
334
422
|
current = parentId;
|
|
335
423
|
}
|
|
@@ -353,14 +441,18 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
353
441
|
* (used for filtering queries)
|
|
354
442
|
*/
|
|
355
443
|
static isVisible(entity, world) {
|
|
444
|
+
// Concealed entities are hidden until revealed (shared definition)
|
|
445
|
+
if (this.isConcealed(entity)) {
|
|
446
|
+
return false;
|
|
447
|
+
}
|
|
356
448
|
// Check if explicitly invisible via SceneryTrait
|
|
357
|
-
const scenery = entity.getTrait(
|
|
449
|
+
const scenery = entity.getTrait(sceneryTrait_js_1.SceneryTrait);
|
|
358
450
|
if (scenery && scenery.visible === false) {
|
|
359
451
|
return false;
|
|
360
452
|
}
|
|
361
453
|
// Check if entity has visibility capability that blocks being seen
|
|
362
454
|
// Note: For isVisible we don't have an observer, so we pass empty string
|
|
363
|
-
const visibilityTrait = (0,
|
|
455
|
+
const visibilityTrait = (0, index_js_1.findTraitWithCapability)(entity, exports.VISIBILITY_CAPABILITY);
|
|
364
456
|
if (visibilityTrait) {
|
|
365
457
|
const behavior = world.getBehaviorForCapability(visibilityTrait, exports.VISIBILITY_CAPABILITY);
|
|
366
458
|
if (behavior) {
|
|
@@ -394,12 +486,12 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
394
486
|
return { location: observer, immediateContainer: null };
|
|
395
487
|
}
|
|
396
488
|
// If immediate location is a room, we're done
|
|
397
|
-
if (immediateLocation.hasTrait(
|
|
489
|
+
if (immediateLocation.hasTrait(trait_types_js_1.TraitType.ROOM)) {
|
|
398
490
|
return { location: immediateLocation, immediateContainer: null };
|
|
399
491
|
}
|
|
400
492
|
// Check if we're in a vehicle
|
|
401
|
-
if (immediateLocation.hasTrait(
|
|
402
|
-
const vehicleTrait = immediateLocation.getTrait(
|
|
493
|
+
if (immediateLocation.hasTrait(trait_types_js_1.TraitType.VEHICLE)) {
|
|
494
|
+
const vehicleTrait = immediateLocation.getTrait(vehicleTrait_js_1.VehicleTrait);
|
|
403
495
|
if (vehicleTrait?.transparent) {
|
|
404
496
|
// Transparent vehicle - describe the room
|
|
405
497
|
const room = world.getContainingRoom(observer.id);
|
|
@@ -411,10 +503,10 @@ class VisibilityBehavior extends behavior_1.Behavior {
|
|
|
411
503
|
return { location: immediateLocation, immediateContainer: null };
|
|
412
504
|
}
|
|
413
505
|
// Check if we're in a container
|
|
414
|
-
if (immediateLocation.hasTrait(
|
|
506
|
+
if (immediateLocation.hasTrait(trait_types_js_1.TraitType.CONTAINER)) {
|
|
415
507
|
// Check if container is open (visibility passes through)
|
|
416
|
-
if (immediateLocation.hasTrait(
|
|
417
|
-
const openable = immediateLocation.getTrait(
|
|
508
|
+
if (immediateLocation.hasTrait(trait_types_js_1.TraitType.OPENABLE)) {
|
|
509
|
+
const openable = immediateLocation.getTrait(openableTrait_js_1.OpenableTrait);
|
|
418
510
|
if (openable?.isOpen) {
|
|
419
511
|
// Open container - describe the room
|
|
420
512
|
const room = world.getContainingRoom(observer.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityBehavior.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/world/VisibilityBehavior.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VisibilityBehavior.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/world/VisibilityBehavior.ts"],"names":[],"mappings":";AAAA,mDAAmD;;;AA6BnD,0BAEC;AA7BD,0DAAoD;AAGpD,6DAAqD;AACrD,sFAAgF;AAChF,uEAAiE;AACjE,8DAAwD;AACxD,6EAAuE;AACvE,0EAAoE;AACpE,oFAA8E;AAC9E,uEAAiE;AACjE,0EAAoE;AACpE,8DAAwD;AACxD,uDAAmE;AAEnE;;;GAGG;AACU,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAExD;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,MAAc;IACpC,OAAO,QAAQ,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,MAAa,kBAAmB,SAAQ,sBAAQ;IAC9C,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;IAE3B;;;;;OAKG;IACK,MAAM,CAAC,iBAAiB,CAAC,IAAc,EAAE,KAAiB;QAChE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,OAAO,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAS,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,CAAC,IAAc,EAAE,KAAiB;QAC7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,wDAAwD;QACxE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,aAAa,CAAC,MAAgB;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,sCAAgB,CAAC,CAAC;QAErD,2CAA2C;QAC3C,IAAI,UAAU,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC;QACnC,CAAC;QAED,gCAAgC;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO,0CAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,wDAAwD;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CAAC,MAAgB;QACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,gCAAa,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,UAAU,CAAC,MAAgB,EAAE,KAAiB,EAAE,UAAkB;QAC/E,0DAA0D;QAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,8BAAY,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,MAAM,eAAe,GAAG,IAAA,kCAAuB,EAAC,MAAM,EAAE,6BAAqB,CAAC,CAAC;QAC/E,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,eAAe,EAAE,6BAAqB,CAAC,CAAC;YACxF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAkB,EAAE,MAAgB,EAAE,KAAiB;QACnE,sBAAsB;QACtB,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE3C,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,8BAAY,CAAC,CAAC;QACpD,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,MAAM,eAAe,GAAG,IAAA,kCAAuB,EAAC,MAAM,EAAE,6BAAqB,CAAC,CAAC;QAC/E,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,eAAe,EAAE,6BAAqB,CAAC,CAAC;YACxF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC,CAAC,0CAA0C;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,YAAY;QACZ,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtD,+CAA+C;QAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,oCAAoC;YACpC,IAAI,YAAY,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;gBACnC,oDAAoD;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uEAAuE;QACvE,iEAAiE;QACjE,yDAAyD;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,wBAAS,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY;YAChD,CAAC,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,IAAI,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,YAAY,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;YAChD,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9C,6BAA6B;gBAC7B,+BAA+B;gBAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,YAAY,CAAC;oBACvC,MAAM,CAAC,QAAQ,CAAC,sCAAgB,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;oBACtD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,6CAA6C;gBAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,cAAc,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,kCAAkC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,0BAA0B;QAC1B,IAAI,WAAW,IAAI,YAAY,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAkB,EAAE,KAAiB;QACrD,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,iCAAiC;QACjE,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,YAAY;YAAE,OAAO,OAAO,CAAC;QAElC,iCAAiC;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE1D,sDAAsD;QACtD,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,gDAAgD;YAChD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,sCAAgB,CAAC,CAAC;oBAChD,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,2BAA2B;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAExD,yEAAyE;QACzE,sCAAsC;QACtC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjD,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEpB,oEAAoE;gBACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,0BAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;gBAAE,SAAS;YACzG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEpB,uCAAuC;gBACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAmB,EAAE,KAAiB;QAC9D,yEAAyE;QACzE,mEAAmE;QACnE,OAAO,KAAK;aACT,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAE,0CAA0C;aACrE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,kBAAkB,CAC/B,SAAmB,EACnB,OAAmB,EACnB,IAAiB,EACjB,KAAiB;QAEjB,4CAA4C;QAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,kCAAc,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,KAAK,CAAC;YAE7D,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC,0BAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,gCAAa,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,2CAA2C;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,6DAA6D;QAC7D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEpB,iCAAiC;gBACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC;oBACpC,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAID;;;OAGG;IACK,MAAM,CAAC,cAAc,CAAC,IAAc,EAAE,KAAiB;QAC7D,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAAS,CAAC,YAAY,CAAC;gBAAE,SAAS;YAEvD,2DAA2D;YAC3D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE1C,+DAA+D;YAC/D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;gBAAE,SAAS;YAE5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACK,MAAM,CAAC,sBAAsB,CACnC,QAAgB,EAChB,KAAiB,EACjB,QAAiB;QAEjB,IAAI,OAAO,GAAG,QAAQ,CAAC;QAEvB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAEhE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE5B,yDAAyD;YACzD,IAAI,SAAS,CAAC,QAAQ,CAAC,0BAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO,GAAG,QAAQ,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,4CAA4C;YAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,kCAAc,CAAC,CAAC;gBAC1D,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,KAAK,CAAC;gBAC7D,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC,0BAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,gCAAa,CAAC,CAAC;oBACnD,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC;oBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,0BAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEpD,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAiB;QAC7E,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,cAAc,CAAC,UAAkB,EAAE,QAAgB,EAAE,KAAiB;QACnF,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAgB,EAAE,KAAiB;QAClD,mEAAmE;QACnE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iDAAiD;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,8BAAY,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,yEAAyE;QACzE,MAAM,eAAe,GAAG,IAAA,kCAAuB,EAAC,MAAM,EAAE,6BAAqB,CAAC,CAAC;QAC/E,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,eAAe,EAAE,6BAAqB,CAAC,CAAC;YACxF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC,CAAC,0CAA0C;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,sBAAsB,CAC3B,QAAkB,EAClB,KAAiB;QAEjB,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,sDAAsD;YACtD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC1D,CAAC;QAED,8CAA8C;QAC9C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,0BAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QAED,8BAA8B;QAC9B,IAAI,iBAAiB,CAAC,QAAQ,CAAC,0BAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,8BAAY,CAAC,CAAC;YAC9D,IAAI,YAAY,EAAE,WAAW,EAAE,CAAC;gBAC9B,0CAA0C;gBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,iDAAiD;YACjD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QAED,gCAAgC;QAChC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,yDAAyD;YACzD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,0BAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,gCAAa,CAAC,CAAC;gBAC3D,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;oBACrB,qCAAqC;oBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAClD,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,4CAA4C;YAC5C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QAED,kCAAkC;QAClC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;;AAhjBH,gDAijBC"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { ISemanticEvent } from '@sharpee/core';
|
|
14
14
|
import { WorldChange, IEventProcessorWiring } from '@sharpee/if-domain';
|
|
15
|
-
import type { IWorldModel } from './WorldModel';
|
|
15
|
+
import type { IWorldModel } from './WorldModel.js';
|
|
16
16
|
/** Handler invoked when an event is applied to the world */
|
|
17
17
|
export type EventHandler = (event: ISemanticEvent, world: IWorldModel) => void;
|
|
18
18
|
/** Validator that determines whether an event can be applied */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorldEventSystem.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/world/WorldEventSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WorldEventSystem.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/world/WorldEventSystem.ts"],"names":[],"mappings":"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"}
|