pub struct Perspective {
pub id: String,
pub dimension: AnalysisDimension,
pub title: String,
pub content: String,
pub key_insight: String,
pub supporting_evidence: Vec<String>,
pub implications: Vec<String>,
pub confidence: f64,
pub novelty_score: f64,
pub depth_score: f64,
}Expand description
A single perspective generated by GigaThink
Fields§
§id: StringUnique identifier for this perspective
dimension: AnalysisDimensionThe analytical dimension this perspective explores
title: StringTitle or summary of the perspective
content: StringDetailed content of the perspective
key_insight: StringKey insight derived from this perspective
supporting_evidence: Vec<String>Supporting evidence or examples
implications: Vec<String>Implications or consequences identified
confidence: f64Confidence score for this perspective (0.0 - 1.0)
novelty_score: f64Novelty score - how unique is this perspective
depth_score: f64Depth score - how thoroughly is this explored
Implementations§
Source§impl Perspective
impl Perspective
Sourcepub fn new(
id: impl Into<String>,
dimension: AnalysisDimension,
title: impl Into<String>,
content: impl Into<String>,
) -> Self
pub fn new( id: impl Into<String>, dimension: AnalysisDimension, title: impl Into<String>, content: impl Into<String>, ) -> Self
Create a new perspective
Sourcepub fn with_key_insight(self, insight: impl Into<String>) -> Self
pub fn with_key_insight(self, insight: impl Into<String>) -> Self
Builder: set key insight
Sourcepub fn with_evidence(self, evidence: impl Into<String>) -> Self
pub fn with_evidence(self, evidence: impl Into<String>) -> Self
Builder: add supporting evidence
Sourcepub fn with_implication(self, implication: impl Into<String>) -> Self
pub fn with_implication(self, implication: impl Into<String>) -> Self
Builder: add implication
Sourcepub fn with_confidence(self, confidence: f64) -> Self
pub fn with_confidence(self, confidence: f64) -> Self
Builder: set confidence
Sourcepub fn with_novelty(self, novelty: f64) -> Self
pub fn with_novelty(self, novelty: f64) -> Self
Builder: set novelty score
Sourcepub fn with_depth(self, depth: f64) -> Self
pub fn with_depth(self, depth: f64) -> Self
Builder: set depth score
Sourcepub fn quality_score(&self) -> f64
pub fn quality_score(&self) -> f64
Calculate overall quality score
Trait Implementations§
Source§impl Clone for Perspective
impl Clone for Perspective
Source§fn clone(&self) -> Perspective
fn clone(&self) -> Perspective
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Perspective
impl Debug for Perspective
Source§impl<'de> Deserialize<'de> for Perspective
impl<'de> Deserialize<'de> for Perspective
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Perspective
impl RefUnwindSafe for Perspective
impl Send for Perspective
impl Sync for Perspective
impl Unpin for Perspective
impl UnwindSafe for Perspective
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 more