9.3
118 3D: Drawing and inspecting trajectories
procedure
(trajectory-samples3d trajectory [ #:count count]) → vector? trajectory : prepared-trajectory3d? count : exact-integer? = 64
Returns
an immutable uniform-time sequence of positions from retained dense trajectory
data. It never invokes the author ODE field.
procedure
(trajectory-tube3d trajectory [ #:id id #:radius radius #:sides sides #:samples samples #:caps? caps?]) → mesh3d? trajectory : prepared-trajectory3d? id : symbol? = 'trajectory-tube radius : positive? = 1/20 sides : exact-integer? = 12 samples : exact-integer? = 64 caps? : boolean? = #t
Lowers retained
trajectory samples into a deterministic finite tube mesh. It is a display
choice, not a re-integration, and its world radius and sample count are
explicit.
procedure
(trajectory-ribbon3d trajectory [ #:id id #:width width #:samples samples #:initial-normal initial-normal]) → mesh3d? trajectory : prepared-trajectory3d? id : symbol? = 'trajectory-ribbon width : positive? = 1/10 samples : exact-integer? = 64 initial-normal : (or/c false/c vec3?) = #f
Lowers
prepared samples to a two-sided ribbon mesh. Its normal frame uses discrete
parallel transport, projected at every retained tangent. A closed-loop twist
correction is intentionally not automatic: a finite display ribbon must not
silently choose a loop-closing convention for its author.
procedure
(trajectory-bundle3d map [ #:id id #:style style #:radius radius #:width width #:sides sides #:samples samples #:initial-normal initial-normal]) → group3d? map : prepared-flow-map3d? id : symbol? = 'trajectory-bundle style : (or/c 'tube 'ribbon) = 'tube radius : positive? = 1/20 width : positive? = 1/10 sides : exact-integer? = 12 samples : exact-integer? = 64 initial-normal : (or/c false/c vec3?) = #f
Lowers
every retained trajectory of a prepared flow map in stable seed order. The
selected tube or parallel-transport ribbon style is display-only: it never
calls the author field or reintegrates a seed. A trajectory that terminated
early remains a shorter retained bundle child.
procedure
(trajectory-inspection3d trajectory) → immutable-hash?
trajectory : prepared-trajectory3d?
Returns
a read-only report of retained solver diagnostics, termination, event hits, and
arc length.
procedure
(view3d-dynamical-inspections3d view) → list?
view : view3d?
Returns ordered
immutable report hashes for every flow-particle3d relation in
view. Each hash contains its rooted spatial 'path and a
trajectory-inspection3d 'report. The query walks retained
relation metadata only: it never evaluates an ODE field, resolves a relation,
or changes the authored view. The preview’s 3D dynamics inspector
section presents the same reports.
procedure
(trajectory-pick-inspection3d trajectory point [ #:samples samples #:near-event-time near-event-time]) → immutable-hash? trajectory : prepared-trajectory3d? point : vec3? samples : exact-integer? = 128 near-event-time : (or/c false/c nonnegative-real?) = #f
Returns a read-only nearest-trajectory report for a
world-space pick. It records the nearest declared uniform curve sample, its
nearest sampled-polyline interpolation time and position, retained arc-length
position and derivative, and a nearby retained event hit when one lies within
the declared or sample-interval time radius. It does not reintegrate or invoke
the author field.
procedure
(equilibrium-inspection3d search) → immutable-hash?
search : equilibrium-search3d?
Returns
the complete retained convergence report without hiding failed seed slots.
procedure
(linearization-inspection3d value) → immutable-hash?
value : linearization3d?
Returns
the local Jacobian, eigendata, classification, and tolerance diagnostics.
procedure
(flow-map-inspection3d map index) → immutable-hash?
map : prepared-flow-map3d? index : exact-nonnegative-integer?
Returns one flow-map source/endpoint trajectory slot,
including its absent-endpoint status when applicable. These inspection values
do not mutate a Scene, selection, camera, or preview overlay.