App Workflow Overview

Buffalo Panel currently organizes its user-facing tools around one shared structured case schema. That schema is used for authoring, solving, persistence, and post-processing.

Main Pieces

  • buffalo_panel.config defines the case dataclasses, schema metadata helpers, loaders, and solving entry points.

  • panel2d_cli runs one case file or inspects one solved artifact.

  • panel2d_tui exposes the schema as a terminal-based editor and browser.

  • panel2d_gui exposes the same workflow through a desktop editor and plotting interface.

  • buffalo_panel.post rebuilds runtime results from saved artifacts and supports derived exports such as surface CSV files.

Current Workflow

The current intended workflow is:

  1. Start from a structured YAML or JSON case file.

  2. Edit or validate that case through Python, the TUI, or the GUI.

  3. Solve the case with panel2d_cli run or the equivalent Python API.

  4. Save the solved artifact as the durable handoff between simulation and post-processing.

  5. Inspect the artifact in the CLI, reopen it in the GUI, or export selected surface data for downstream analysis.

Shared Source Of Truth

The structured case file is the source of truth before a run. The solved artifact is the source of truth after a run. This keeps the apps aligned even though they are all still at an early stage of development.

The GUI and TUI are not separate simulation engines. They are editors and viewers layered on top of the same schema, loaders, and solver path used by the Python and CLI workflows.

Current Scope

The public presentation of the project should stay modest for now. The most mature paths today are the structured 2D workflows built around embedded Buffalo Wings airfoil definitions with either the Hess-Smith thick-body formulation or the lumped-vortex thin-body formulation.

The apps are already useful for experimenting with the workflow and the schema, but they should still be viewed as early research tools rather than polished end-user products. For the current public support boundary, see the project status page.