capability_example/
grower_flow_strategy.rs1crate::ix!();
3
4#[async_trait]
9pub trait GrowerFlowStrategy: Send + Sync {
10 async fn fill_justified_tree_configuration(
14 &self,
15 partial: &PartiallyGrownModel,
16 grower_inputs: &GrowerInputs,
17 ) -> Result<Option<JustifiedGrowerTreeConfiguration>, ManualGrowerFlowError>;
18
19 async fn fill_justified_string_skeleton(
21 &self,
22 partial: &PartiallyGrownModel,
23 grower_inputs: &GrowerInputs,
24 tree_conf: &JustifiedGrowerTreeConfiguration,
25 ) -> Result<Option<JustifiedStringSkeleton>, ManualGrowerFlowError>;
26
27 async fn fill_core_string_skeleton(
29 &self,
30 partial: &PartiallyGrownModel,
31 grower_inputs: &GrowerInputs,
32 tree_conf: &JustifiedGrowerTreeConfiguration,
33 stripped_skel: &StrippedStringSkeleton,
34 ) -> Result<Option<CoreStringSkeleton>, ManualGrowerFlowError>;
35
36 async fn fill_annotated_leaf_holder_expansions(
38 &self,
39 partial: &PartiallyGrownModel,
40 grower_inputs: &GrowerInputs,
41 tree_conf: &JustifiedGrowerTreeConfiguration,
42 core_skel: &CoreStringSkeleton,
43 ) -> Result<Option<AnnotatedLeafHolderExpansions>, ManualGrowerFlowError>;
44}