12 Interactive Preview and Inspection
animate/preview provides the optional GUI and its headless controller API. Requiring it does not initialize a GUI; opening a window does. It uses the same scene sampling and rendering semantics as final output.
procedure
(preview-session? value) → boolean?
value : any/c
procedure
(inspector-subject? value) → boolean?
value : any/c
procedure
(inspector-document? value) → boolean?
value : any/c
procedure
(open-program-preview module-path binding [ #:auto-reload? auto-reload? #:fps fps #:start start #:start-block start-block #:section section #:pixel-scale pixel-scale #:repl? repl? #:title title]) → preview-session? module-path : path-string? binding : symbol? auto-reload? : boolean? = #t fps : exact-positive-integer? = 30 start : (or/c #f real?) = #f start-block : (or/c #f symbol?) = #f section : (or/c #f symbol?) = #f pixel-scale : positive? = 1 repl? : boolean? = #f title : string? = "Animate"
procedure
(open-project-preview project [ #:target target #:directory directory #:title title]) → preview-session? project : animate-project? target : project-target? = (project-target-all) directory : path-string? = (current-directory) title : (or/c #f string?) = #f
procedure
(preview-scrub! session time) → void?
session : preview-session? time : real?
procedure
(preview-play! session) → void?
session : preview-session?
procedure
(preview-set-loop-range! session start end) → void?
session : preview-session? start : real? end : real?
procedure
(preview-jump-to-section! session name) → void?
session : preview-session? name : symbol?
procedure
(preview-jump-to-cue! session name) → void?
session : preview-session? name : symbol?
procedure
(preview-session-diagnostics session) → immutable-hash?
session : preview-session?
procedure
(scene-inspector-subject-at-path state path) → inspector-subject? state : scene-state? path : visual-path?
procedure
(scene-inspector-document scene time [ #:subject subject]) → inspector-document? scene : scene? time : real? subject : (or/c #f inspector-subject?) = #f
Limitations: hard cancellation is available only for a module-backed project worker. An arbitrary direct Scene can contain an opaque Racket procedure, so it is cancelable only at cooperative rendering boundaries. Audio monitoring is optional and requires a usable ffplay installation.