9.3
Racket
Visual Animation — SCENE-3D-P — version 1.22.0🔗ℹ
Visual Animation is a small, immutable animation library for Racket. It is an early step toward a Manim-like system. The library keeps
semantic scene data separate from Pict rendering and file output.
The public API in this manual is version 1.22.0. This is a
prototype, so the repository improves names and behavior directly: internal
callers, examples, tests, and documentation are updated together, and obsolete
spellings are removed rather than retained as compatibility aliases.
1 Getting Started |
|
2 Source Programs |
|
3 Interactive Preview |
|
4 Rendering a Video |
|
5 Project Planning |
|
6 Immutable Scenes and Arbitrary-Time Sampling |
|
7 Formula Source Maps |
|
8 Relation Phases |
|
9 Spatial Coordinates |
|
10 Public Module Boundaries |
|
11 Source Programs and Authored Timelines |
11.1 Named source blocks |
|
12 Interactive Preview and Inspection |
|
13 Projects and Final Rendering |
|
14 Canonical Examples |
|
15 Source Package Hygiene |
|
16 Quick Start |
16.1 The Model |
16.1.1 World Coordinates |
16.1.2 Visuals and Identity |
16.1.3 Text and Formulas |
16.1.4 Paths |
16.1.5 Arrows and Cartesian Axes |
16.1.6 Sampled Function Graphs |
16.1.7 Parametric Curves and Data Plots |
16.1.8 Point Markers, Scatter Plots, and Filled Areas |
16.1.9 Scene States and Scenes |
16.1.10 Transforms |
16.1.11 Groups |
16.1.12 Relative Layout |
16.1.13 Opacity |
16.1.14 Time and Frames |
16.2 Scene States |
16.3 Animation Requests |
16.3.1 Robust Pointwise Maps |
16.3.2 Serializable Rate Functions |
16.4 Scene Timelines |
|
17 Geometry |
17.1 Scene Parameters |
17.2 Path Geometry |
17.2.1 General Boolean Path Geometry and Clipping |
17.3 Affine Transforms |
17.3.1 General Affine Maps |
17.4 Cameras |
17.5 Frame-Space Overlays and Callouts |
17.6 Semantic Colors and Paints |
17.6.1 Semantic fill paints |
|
18 3D Algebra and Opaque Rendering |
18.1 Vectors |
18.2 Linear maps and rotations |
18.3 Affine and decomposed transforms |
18.4 Bounds, rays, and planes |
18.5 Spatial Visuals and paths |
18.6 Meshes |
18.6.1 Topology diagnostics and explicit orientation repair |
18.7 Materials and lights |
18.8 Cameras and projection |
18.9 Spatial viewports |
18.10 Spatial animation and camera authoring |
18.11 Semantic spatial relations and projected labels |
18.12 Spatial curves and vector diagrams |
18.13 Parametric surfaces and calculus |
18.14 Adaptive, trimmed, and implicit surfaces |
18.15 Constructive solids |
18.16 Clipping, sections, and transparency |
18.17 Cuts, caps, and section measurements |
18.18 Spatial anchors and label layout |
18.19 Spatial maps and homotopies |
18.20 Prepared spatial ODE trajectories and vector fields |
18.21 Spatial inspection and exact picking |
18.22 Retained renderer backends |
18.23 Optional Racket/OpenGL backend |
|
19 Visuals |
19.1 The Basic Visual Protocol |
19.2 Whole-Visual Affine Maps |
19.3 The Affine-Visual Protocol |
19.4 The Opacity-Visual Protocol |
19.5 The Stroke-Width-Visual Protocol |
19.6 Fill-Color and Stroke-Color Visual Protocols |
19.7 Circle Visuals |
19.8 Rectangle Visuals |
19.9 Plain, Multiline, and Rich Text Visuals |
19.10 Numeric Displays |
19.11 Matrices and Tables |
19.12 Deterministic Traced Paths |
19.13 LaTeX Formula Visuals |
19.13.1 Making latex-pict Available |
19.14 Tagged Formula Layouts |
19.15 Source-Addressable Formulas |
19.16 Named Formula Parts and Correspondence |
19.17 Path Visuals |
19.18 Bitmap Images |
19.19 Full-Fidelity SVG Images |
19.20 Semantic SVG Import |
19.21 Arrow and Cartesian Axes Visuals |
19.21.1 Arrows |
19.21.2 Dynamic Endpoint Geometry |
19.21.3 Mathematical Annotations |
19.21.4 Mathematical Shape Catalogue |
19.21.5 Axis Ranges |
19.21.6 Cartesian Axes |
19.22 Linear-Algebra Diagrams |
19.23 Complex and Polar Coordinates |
19.24 Coordinate and Calculus Helpers |
19.25 Coordinate Curves and Plots |
19.25.1 Interpolation Modes |
19.25.2 Sampled Curves and Fields |
19.26 Deterministic ODE Flow and Streamlines |
19.26.1 Parametric Curves |
19.26.2 Ordered Data Plots |
19.27 Group Visuals |
19.28 First-Class Relation Visuals |
19.28.1 Acyclic Live Layout |
|
20 Experimental Derived Visuals |
|
21 Pict Renderer Protocol |
21.1 Built-in Rendering |
21.2 Defining a Custom Renderer |
21.3 Relative Layout |
21.3.1 Fitting a Background |
21.4 Temporary Attention Effects |
21.5 Pict, Bitmap, and Frame Conversion |
21.6 PNG and MP4 Output |
21.6.1 Authored timelines and selected sections |
21.6.1.1 Rendering selected frames and authored sections |
21.6.2 Mathematical graphs and networks |
21.6.3 MP4 encoding and media assembly |
21.6.4 Project execution |
21.7 Errors and Validation |
21.8 Determinism and Immutability |
|
22 Number Lines and Coordinate Decorations |
22.1 Animated Camera Views |
22.2 Automatic Camera Framing and Following |
22.2.1 Fitting a Rendered Box |
22.2.2 Fitting Visuals and Scene Targets |
22.2.3 Following a Moving Visual |
22.3 Unified Style Transitions |
22.4 Fill and Stroke Color Animation |
22.5 Stroke-Width Animation |
22.6 Duration-Scaled Visual Animation Composition |
22.7 Lagged Visual Animation Composition |
22.8 Parallel Visual Animation Composition |
22.9 Successive Visual Animation Composition |
22.10 Local Visual Animation Timing |
22.11 Per-Pair Real-Match Penalties |
22.12 Per-Subpath Birth/Death Penalties |
22.13 Per-Subpath Birth/Death Anchors |
22.14 Penalized Topology-Changing Correspondence |
22.15 Explicit Birth/Death Anchors |
22.16 Topology-Changing Morphs and Subpath Birth/Death |
22.17 Automatic Mixed-Topology Compound Morph Correspondence |
22.18 Automatic Open-Compound Morph Correspondence |
22.19 Automatic Open-Path Morph Correspondence |
22.20 Automatic Compound-Path Morph Correspondence |
22.21 Automatic Closed-Loop Morph Correspondence |
22.22 Path Reversal and Cyclic Starts |
22.23 Continuous Joined Offset Paths |
22.24 Path Tangents, Orientation, and Normal Offsets |
22.25 Arc-Length Path Following |
22.26 Fixed-in-Frame Overlays and Callouts |
22.27 Point Markers, Scatter Plots, and Filled Areas |
22.28 Probability and Statistical Diagrams |