Figler.Scene.Graph.Oracle (figler v0.1.0-beta.1)

Copy Markdown View Source

Compares resolved scene graph output against checked-in oracle fixtures.

Oracle comparisons serialize selected graph subtrees into a stable JSON shape and report field-level differences for resolver validation.

Summary

Functions

Compares expected and actual oracle nodes and returns field-level diffs.

Reads an oracle manifest file and returns its comparison entries.

Runs one oracle comparison against either a fixture binary or an already-built graph.

Serializes a scene node and its descendants into the stable oracle JSON shape.

Functions

compare(expected_node, actual_node, path, epsilon \\ 0.0001, ignore_null_size? \\ true)

Compares expected and actual oracle nodes and returns field-level diffs.

entries!(manifest_path)

@spec entries!(Path.t()) :: [Figler.Scene.Graph.Oracle.Entry.t()]

Reads an oracle manifest file and returns its comparison entries.

run(fixture_binary, base_dir, entry)

Runs one oracle comparison against either a fixture binary or an already-built graph.

Binary input is decoded into a focused graph rooted at the oracle entry node. Graph input is used as-is, which lets batch runners build the graph once and compare multiple oracle entries against it.

serialize(node, graph, remaining_depth)

Serializes a scene node and its descendants into the stable oracle JSON shape.