path_settings

Where Algan reads assets from and writes output to.

Output resolves as output_root / output_directory / name. A bare filename lands in the output directory; anything containing a directory separator is used as given.

The defaults are chosen so that a script just works from wherever you launch it: output_root is the directory holding the main script (the working directory when there is no script, as in a REPL or notebook), and output_filename is that script’s stem – so Scene.save_video() with no arguments writes <script>.mp4 beside it.

cache_directory is where content-addressed caches live: Tex and SVG geometry, triangulated outlines, Taichi’s offline kernel cache.

Classes

PathSettings

Runtime-adjustable content-cache and output paths.

Functions

output_filename_for(script)[source]

Name renders get when no path is passed: the script’s own name.

output_root_for(script)[source]

Directory the script lives in, falling back to the working directory.

sys.path[0] used to fill this role, but it is the script’s directory only under python script.py; under -m or -c it is the working directory or empty, which silently moved everyone’s output.

Takes the script explicitly so that the render daemon can compute what a fresh process running that script would have used: the daemon resolves these defaults once at its own startup, where there is no user script at all, and would otherwise write every client’s video into its own directory.