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
30 lines
865 B
C
30 lines
865 B
C
#ifndef LARDON3D_RUNTIME_SESSION_H
|
|
#define LARDON3D_RUNTIME_SESSION_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
|
|
#include <lardon3d/app_state.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Establishes the interactive Project/Queue lifetime boundary. The existing
|
|
* sole Queue is cancelled, joined, and destroyed (including finished
|
|
* callbacks and retained history) before the Project DB is closed; only then
|
|
* is one empty Queue created with a fresh ID namespace. `state`, its Governor,
|
|
* and a positive capacity are required. On allocation failure the Project is
|
|
* still safely closed and state->task_queue is NULL. Main-thread owner only;
|
|
* callers must release Queue/DB observers before entry and rebind them after.
|
|
*/
|
|
bool lardon3d_runtime_project_boundary(
|
|
Lardon3DAppState *state,
|
|
size_t queue_capacity
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|