• OctoMY API
  • OctoMY API Reference
  • C++ Classes
  • OctoMY
  • SpreadsheetEngine
  • face::SpreadsheetEngine Class

    The evaluation engine behind a sheet of cells. More...

    Header: #include <SpreadsheetEngine>
    Since: 2.0

    Detailed Description

    One cell is either a v2 input holding a literal, or a v2 output holding a formula. A formula edit rebuilds the program; a numeric edit on a referenced literal goes through Program::setFloat and re-evaluates, and one on an unreferenced literal touches nothing but the value table. Cross-cell references resolve through the eval::Graph topology rather than through anything this class parses.

    The engine owns two answers a caller should not conflate. \ref backend is the lane that was asked for; \ref lowering is the one that ran. They came apart when Backend::Interpreted started meaning the SPIR-V interpreter for any program with a GLSL form.

    Diagnostics are attributed rather than pooled: a compile or evaluation error names the cell that caused it and is read back through \ref cellError, and one that cannot be attributed to a cell — a cycle, most often — is read through \ref sheetError instead.

    Spec: content/doc/internal/specs/expression-system-consolidation/ api.md §EX-API-7 (spreadsheet wrapper), migration.md §EX-MI-1.1 (libface CellData migration)

    See also face::SpreadSheetModel, face::SpreadSheet, eval::Graph, and eval::Program.