face

The face editor: a graph of nodes, connections and triangles, a spreadsheet of formulas, and their OPAL tasks.

Group face

Detailed description

A face::Project holds a face::Graph, its face::Style, a face::Player and a face::ExpressionsRegistry, and reads and writes the project file. The graph holds face::Node, face::Connection and face::Tri items and runs a spring simulation on them. face::GeometryEngine triangulates the nodes, and face::NodeView edits the graph.

face::SpreadSheet edits a sheet of cells. face::SpreadsheetEngine compiles the formulas of the cells with libeval and evaluates them.

The OPAL tasks in this namespace let an LLM evaluate and validate an expression, and examine how libeval lowers it.

Classes

Class What it is
CellData Data structure for spreadsheet cell content
CellDelegate Item delegate for spreadsheet cell editing
Connection Edge connecting two nodes in a graph
ConnectionParameterWidget Property editor for Connection parameters
EditMultipleCommand Undo command for editing multiple spreadsheet cells
ExpressionsRegistry Registry for compiled face expressions, evaluated each step
GeometryEngine Delaunay triangulation and connection algorithms
Graph Container for nodes, connections, and triangles
Node Vertex in a face node graph
NodeParameterWidget Property editor for Node parameters
NodeRenameDialog Modal dialog for renaming nodes
NodeView Interactive visual editor for face node graphs
OpalEvaluateExpressionTask OPAL task wrapping eval::evaluate() for LLM-driven expression evaluation
OpalLoweringCompareTask One expression, two lanes, and whether they agree
OpalLoweringExplainTask Which lane would run this expression, and why
OpalSheetCompileStatusTask What the session sheet compiles to, and what stops it going wider
OpalSpirvDumpTask SPIR-V the front end emitted, disassembled
OpalValidateExpressionTask OPAL task that parses + type-checks a candidate expression
Player Animation timer for face project playback
Project Top-level container for face graph editor
SpreadSheet Spreadsheet widget with formula support
SpreadSheetModel Data model for spreadsheet cells
SpreadsheetEngine Evaluation engine behind a sheet of cells
Style Descriptor (colours, line widths, fills) for the face renderer
Tri Triangle element in node graph mesh
TriParameterWidget Property editor for Tri parameters
In this section