Sheety::Pipeline
Shared implementation of the "turn spreadsheet data into a compiled binary" flow. The CLI launch path and the TUI's in-process rebuilder previously carried near-identical copies of this (hash -> paths -> generator wiring -> generate -> write -> compile); both now go through here so they can't drift apart again.
Class methods
build(data : Spreadsheet::WorkbookData, spreadsheet_uuid : String, file_hash : String, source_file : String, tui_intermediate_file : String | Nil = nil, original_filename : String | Nil = nil) : String
Generate the Crystal source for data and compile it. Returns the
path of the fresh binary.
source_fileis the YAML the generated TUI restores UI state from (usually the intermediate file).tui_intermediate_fileis where the generated TUI auto-saves formula edits; nil means the generated program usessource_filefor that.original_filenameis the user-facing file saves go to.
The UUID-keyed intermediate YAML: the copy of the spreadsheet that formula-edit auto-saves go to, so state survives rebuilds.