class ControlBehaviorMixin(name: str, similar_entities: list[str], **kwargs: dict)

Enables the entity to specify control behavior.

Control behavior is somewhat abstractly defined, but in general it stores metadata about how an entity should behave under certain circumstances. It’s structure is fluid, and contains different valid formats for many different Entities. See draftsman.signatures.CONTROL_BEHAVIOR for a general picture of what you might expect inside.

Because the control_behavior attribute is used so broadly and in many different configurations, individual mixins were designed just to implement portions of control_behavior. The following mixins are designed to implicitly require this mixin as thier parent:

abstract property control_behavior: dict

The control_behavior of the Entity.


Gets the control_behavior.


Sets the control_behavior. Gets set to an empty dict if set to None.


See draftsman.signatures.CONTROL_BEHAVIOR


DataFormatError – If set to anything that does not match the CONTROL_BEHAVIOR signature.