Stores and manages variables that will be used in constructing new [Blackboard] instances. Constructs a new instance of a [Blackboard] using this plan. If [NodePath] prefetching is enabled, [param prefetch_root] will be used to retrieve node instances for [NodePath] variables and substitute their values. Returns the base plan. See [method is_derived]. Returns the parent scope plan provider - a callable that returns a [BlackboardPlan]. Returns [code]true[/code] if this plan is derived from another, i.e., the base plan is not [code]null[/code]. A derived plan can only contain variables that are present in the base plan, and only variable values can be different. Populates [param blackboard] with the variables from this plan. If [param overwrite] is [code]true[/code], existing variables with the same names will be overwritten. If [NodePath] prefetching is enabled, [param prefetch_root] will be used to retrieve node instances for [NodePath] variables and substitute their values. Sets the base plan. If assigned, this plan will be derived from the base plan. Use with caution, as it will remove variables not present in the base plan. Only use this for custom tooling. Sets the parent scope plan provider - a callable that returns a [BlackboardPlan]. Used to provide hints in the inspector. When set, mapping feature becomes available. Synchronizes this plan with the base plan: removes variables not present in the base plan, and updates type information. Only use this for custom tooling. Enables or disables [NodePath] variable prefetching. If [code]true[/code], [NodePath] values will be replaced with node instances when the [Blackboard] is created.