API Map
The full Rust API is generated by rustdoc:
bash scripts/build_docs_site.shThen open target/docs-site/api/index.html.
The public surface groups into transforms, the rule contract, and eager integration.
Transforms
tidu::linearize/tidu::try_linearize— build a JVP graph for selected outputs with respect to selected inputs.tidu::linear_transpose/tidu::try_linear_transpose— transpose a linearized graph so cotangents flow backward.tidu::try_linear_transpose_with_builder— transpose directly through a downstream builder for eager execution.tidu::LinearizedGraph— result of linearization/transposition; exposestangent_inputs,tangent_outputs,as_graph,into_graph.tidu::PrimitiveGraph— borrowed primitive-graph view passed to executors.
Rule Contract (tidu::rules)
tidu::Primitive— trait downstream operations implement (add,jvp_rule,transpose_rule, and theirtry_variants).tidu::PrimitiveBuilder— emits new operations from a rule (add_primitive).tidu::PrimitiveValue— a rule operand:Local(LocalValueId)orExternal(ValueKey).tidu::ADKey— input-key contract (tangent_of) for deriving tangent keys.tidu::ADRuleError— error for a missing AD rule.tidu::ADRuleKind— which rule is missing (JvporTranspose).tidu::ADRuleResult—Result<T, ADRuleError>returned by thetry_APIs.tidu::DiffPassId— identifies onelinearizepass for tangent-key derivation.
Eager Integration (tidu::eager)
tidu::eager::try_backward— reverse-modebackward()over a recorded trace.tidu::eager::BackwardExecutor— downstream hook for concrete forward replay, transposed execution, and cotangent accumulation.tidu::eager::Recorder— records eager graph invocations.tidu::eager::RecordedGraph— one recorded invocation (one or many operations).tidu::eager::EagerInput/tidu::eager::EagerOutput— per-value input/output records.tidu::eager::KeySource— supplies fresh input keys for recorded graphs.tidu::eager::Trace— handle linking an eager value to the invocation that produced it.