Skip to main content

Module json

Module json 

Source
Expand description

Typed models for the JSON chunks: META (with its sectors entries), PROF and LROV.

META, a META.sectors entry, a PROF profile’s settings block and an LROV payload all draw on the same field namespace, so they share Timing. Unknown JSON keys are preserved in Timing::extra rather than dropped, which is what lets this crate re-emit a chunk it did not fully understand ([spec/16-versioning.md] section 10.2).

Durations are whole milliseconds, lengths are integer micrometers and speeds are integer micrometers per minute, so all three are modelled as integers and nothing below one millisecond is expressible. Floating-point JSON syntax is accepted for every field the specification calls an ordinary number, which is what a temperature, an energy, a percentage or a density is.

Structs§

AntiAliasing
Anti-aliasing settings, informational to a printer.
CompatiblePrinter
A printer a profile is known to fit, as a model pattern plus display hints.
CureCurve
The experimental resin working curve: Beer-Lambert parameters.
Material
One entry of the material library.
Meta
The META chunk: the resolved parameters for this print job.
Printer
Printer identity, as carried by META and PROF.compatible_printers.
Profile
The PROF chunk: a named, versioned, reusable print profile.
ScaleCompensation
Per-axis scale compensation in percent.
Sector
A META.sectors entry: one non-zero sector’s identity and base timing.
Slicer
Slicer attribution.
Timing
The timing, motion, PWM and temperature namespace shared by META, a META.sectors entry, PROF.settings and an LROV payload.

Constants§

REQUIRED_META_FIELDS
The ten fields META must carry ([spec/17-validation.md] section 11.2).