pub struct ExecOutcome {
pub variables: IndexMap<String, KclValue>,
pub operations: Vec<Operation>,
pub artifact_graph: ArtifactGraph,
pub scene_objects: Vec<Object>,
pub source_range_to_object: BTreeMap<SourceRange, ObjectId>,
pub var_solutions: Vec<(SourceRange, Number)>,
pub issues: Vec<CompilationIssue>,
pub filenames: IndexMap<ModuleId, ModulePath>,
pub default_planes: Option<DefaultPlanes>,
}Expand description
Outcome of executing a program. This is used in TS.
Fields§
§variables: IndexMap<String, KclValue>Variables in the top-level of the root module. Note that functions will have an invalid env ref.
operations: Vec<Operation>Operations that have been performed in execution order, for display in the Feature Tree.
artifact_graph: ArtifactGraphOutput artifact graph.
scene_objects: Vec<Object>Objects in the scene, created from execution.
source_range_to_object: BTreeMap<SourceRange, ObjectId>Map from source range to object ID for lookup of objects by their source range.
var_solutions: Vec<(SourceRange, Number)>§issues: Vec<CompilationIssue>Non-fatal errors and warnings.
filenames: IndexMap<ModuleId, ModulePath>File Names in module Id array index order
default_planes: Option<DefaultPlanes>The default planes.
Implementations§
Source§impl ExecOutcome
impl ExecOutcome
pub fn scene_object_by_id(&self, id: ObjectId) -> Option<&Object>
Sourcepub fn errors(&self) -> impl Iterator<Item = &CompilationIssue>
pub fn errors(&self) -> impl Iterator<Item = &CompilationIssue>
Returns non-fatal errors. Warnings are not included.
Sourcepub fn sketch_constraint_report(&self) -> SketchConstraintReport
pub fn sketch_constraint_report(&self) -> SketchConstraintReport
Analyze all sketches in the execution result and group them by constraint status (fully, under, or over constrained).
Each segment in a sketch computes its own freedom by looking up the freedom of its constituent points. Owned points (belonging to a Line/Arc/Circle) are skipped to avoid double-counting.
Trait Implementations§
Source§impl Clone for ExecOutcome
impl Clone for ExecOutcome
Source§fn clone(&self) -> ExecOutcome
fn clone(&self) -> ExecOutcome
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExecOutcome
impl Debug for ExecOutcome
Source§impl PartialEq for ExecOutcome
impl PartialEq for ExecOutcome
Source§impl Serialize for ExecOutcome
impl Serialize for ExecOutcome
Source§impl TS for ExecOutcome
impl TS for ExecOutcome
Source§type WithoutGenerics = ExecOutcome
type WithoutGenerics = ExecOutcome
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or (). The only requirement for these dummy types is that
EXPORT_TO must be None. Read moreSource§type OptionInnerType = ExecOutcome
type OptionInnerType = ExecOutcome
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete(cfg: &Config) -> String
fn decl_concrete(cfg: &Config) -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl(cfg: &Config) -> String
fn decl(cfg: &Config) -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline(cfg: &Config) -> String
fn inline(cfg: &Config) -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened(cfg: &Config) -> String
fn inline_flattened(cfg: &Config) -> String
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported, relative to the output directory.
The returned path does not include any base directory. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
Source§fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export. Read moreSource§fn export_to_string(cfg: &Config) -> Result<String, ExportError>where
Self: 'static,
fn export_to_string(cfg: &Config) -> Result<String, ExportError>where
Self: 'static,
impl StructuralPartialEq for ExecOutcome
Auto Trait Implementations§
impl Freeze for ExecOutcome
impl RefUnwindSafe for ExecOutcome
impl Send for ExecOutcome
impl Sync for ExecOutcome
impl Unpin for ExecOutcome
impl UnsafeUnpin for ExecOutcome
impl UnwindSafe for ExecOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.