Expand description
This module contains constructs that used when rendering a sphere within a workspace on a file system.
Structs§
- Change
Buffer - A ChangeBuffer enables order-sensitive buffering of changes, and is meant to be used when traversing incremental revisions of a sphere. If changes are buffered in history order, they can be flushed and the flusher will be able to work with a flattened representation of all those changes.
- Sphere
Render Job - A SphereRenderJob encapsulates the state needed to perform some discrete JobKind, and implements the specified render path that corresponds to that JobKind. It is designed to be able to be run concurrently or in parallel with an arbitrary number of other SphereRenderJobs that are associated with the local sphere workspace.
- Sphere
Render Request - A request to render a sphere, originating from a given path through the graph.
- Sphere
Renderer - SphereRenderer embodies all of the work needed to render a sphere graph to a workspace file system location. Starting from the “root” sphere, the renderer will efficiently queue work to concurrently render the sphere graph up to a maximum depth.
- Sphere
Writer - A SphereWriter encapsulates most file system operations to a workspace. It enables batch operations to be performed via domain-specific verbs. Some of its implementation will vary based on JobKind due to the asymmetric structural representation of root and peer spheres when rendered to a filesystem.
Enums§
- JobKind
- The kind of render work to be performed by a SphereRenderJob. The effects of using each variant have a lot of overlap, but the specific results vary significantly
Type Aliases§
- Change
Buffer Flush Callback - The form a callback that can be passed when flushing a ChangeBuffer; note that it is generic for the argument that is passed to the callback.
- Sphere
Render JobId - A pairing of Did and Cid, suitable for uniquely identifying the work needed to render a specific sphere at a specific version, regardless of relative location in the graph