Complete the A-to-Z Lardon3D maintenance and coherence pass. Generalize host resource policy, remove the global CPU12 ceiling, preserve host CPU/RAM reserves, scale Task capabilities through the Resource Governor, and validate deterministic parallel GV execution. Migrate Project DB to v23 with data-driven camera, lens, optical configuration and calibration profiles, including manual lenses without EXIF. Integrate safe optional LARDON SSD swap/scratch control with Governor and F10 drain/safe-to-unplug semantics. Refactor the ncurses TUI into a runtime observatory with durable progress, elapsed time, smoothed ETA, throughput, resource telemetry, Governor state, optics workflow, colors and compact/no-color fallbacks. Reconcile Queue lifetime, persistence, concurrency, comments, tests, README, AGENTS and canonical documentation. GLOBAL_MAINTENANCE_AUDIT=PASS/FROZEN
44 lines
1.6 KiB
C
44 lines
1.6 KiB
C
#ifndef LARDON3D_TUI_H
|
|
#define LARDON3D_TUI_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <lardon3d/app_state.h>
|
|
|
|
typedef struct Lardon3DSsdController Lardon3DSsdController;
|
|
typedef struct Lardon3DTuiSsdAsync Lardon3DTuiSsdAsync;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
bool lardon3d_tui_init(void);
|
|
bool lardon3d_tui_run(Lardon3DAppState *state);
|
|
/* Additive compatibility entry point. The controller is borrowed for the call
|
|
* and remains outside the frozen AppState ABI; NULL preserves the legacy run.
|
|
* It creates an unbound physical observer, so production code that needs
|
|
* Governor scratch orchestration uses run_with_ssd_operation() instead. The
|
|
* App owner must keep the controller alive until this function returns. */
|
|
bool lardon3d_tui_run_with_ssd(
|
|
Lardon3DAppState *state,
|
|
Lardon3DSsdController *ssd_controller
|
|
);
|
|
/* Production borrowed-operation entry point. The application owns `operation`
|
|
* across this call and the TUI never destroys it. After the UI returns, the
|
|
* owner must first destroy/join the sole Task Queue (so every Task-owned
|
|
* scratch lease is released), then destroy the operation with
|
|
* lardon3d_tui_ssd_async_destroy_checked(), then its controller and Governor.
|
|
* `state` must be non-NULL; a bound operation must use that state's Governor.
|
|
* NULL preserves a TUI without external-storage observation/control. Returns
|
|
* false for invalid input or a runtime/observation/control-owner failure. */
|
|
bool lardon3d_tui_run_with_ssd_operation(
|
|
Lardon3DAppState *state,
|
|
Lardon3DTuiSsdAsync *operation
|
|
);
|
|
void lardon3d_tui_shutdown(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|