Documentation
    Preparing search index...

    Type Alias FiberResponseKind

    FiberResponseKind: "strain" | "stress"

    One recorder: a single scalar channel's history against its stage's load factor. NodeDisp was the first variant (node displacement/load-factor history for a static pushover); ElementForce (results-storage-indexeddb.md's "several more types of recorders" plan) is the second, sharing the exact same batching/storage machinery — see session::ResolvedRecorder and StepOutcome::recorder_batches, neither of which needed to change shape to add it. ElementForce's element_kind/element_index pair mirrors ElementLoadTable's existing disambiguation between per-kind element tables (ElasticBeamColumn2dTable, FiberBeamColumn3dTable, ...) — there is no single flat element table to index into directly, unlike NodeTable. Adding a future response kind (velocity, acceleration, ...) is one more variant here plus one more match arm in ModelSession::record_sample, not a new parallel type or a new Session/StepOutcome field. Which half of a fiber's (strain, stress) pair (core::FiberSection:: fiber_responses's doc comment) a RecorderSpec::Fiber reads — one scalar channel per recorder, same as every other kind here.