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
41 lines
1.7 KiB
C
41 lines
1.7 KiB
C
#ifndef LARDON3D_CANDIDATE_PAIR_GEN_H
|
|
#define LARDON3D_CANDIDATE_PAIR_GEN_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#include <lardon3d/project_db.h>
|
|
#include <lardon3d/visual_index.h>
|
|
|
|
typedef struct {
|
|
uint32_t generated_count; // paires nouvellement créées
|
|
uint32_t skipped_count; // paires déjà existantes (idempotence)
|
|
uint32_t queried_count; // candidats retournés par le Visual Index
|
|
} Lardon3DCandidatePairGenStats;
|
|
|
|
Lardon3DVisualIndexResult lardon3d_candidate_pair_generate(
|
|
const char *project_path, Lardon3DProjectDb *database,
|
|
uint64_t visual_index_id, uint64_t source_feature_set_id,
|
|
const Lardon3DVisualIndexQueryOptions *query_options,
|
|
Lardon3DCandidatePairGenStats *stats);
|
|
|
|
Lardon3DVisualIndexResult lardon3d_candidate_pair_generate_batch(
|
|
const char *project_path, Lardon3DProjectDb *database,
|
|
uint64_t visual_index_id, uint64_t after_feature_set_id,
|
|
const Lardon3DVisualIndexQueryOptions *query_options,
|
|
Lardon3DCandidatePairGenStats *total_stats,
|
|
uint64_t *last_feature_set_id);
|
|
|
|
/* Produce the frozen Candidate-generation v1 SHA-256 fingerprint in caller-owned
|
|
* 32-byte storage. Integer inputs are encoded at fixed width, little-endian;
|
|
* the filter is one u32 and exclude_same_asset is exactly one 0/1 byte. This
|
|
* preserves acquired little-endian fingerprints while making identity portable.
|
|
* query_options may be NULL for the historical ID-only form; fingerprint must
|
|
* be non-NULL. */
|
|
void lardon3d_candidate_pair_generation_fingerprint(
|
|
uint64_t visual_index_id, uint64_t source_feature_set_id,
|
|
const Lardon3DVisualIndexQueryOptions *query_options,
|
|
unsigned char fingerprint[32]);
|
|
|
|
#endif
|