docs: bring the rugnux and analysis pages up to the code (MR fallback, GPU decode, live runs)

- CPU_DATA_ANALYSIS_IMAGE §0: CBF byte-offset and marCCD widening are decoded on the card; the host
  decoders are the CPU build's path.
- CPU_DATA_ANALYSIS_DECISIONS §14: the null runs for every model the rigid body is tried on; the
  device choice is made once on the card's total (structure factors and rigid body a quarter, scale
  fits an eighth) and a CUDA failure ends the validation, deciding nothing; a subgroup the model fits
  is written as <prefix>_mr; new §14.10 on molecular replacement (model kind, rotation and
  translation functions, likelihood, Matthews, tNCS and P1 rules, null, what it may change).
- CPU_DATA_ANALYSIS: scope and references gain molecular replacement.
- CPU_DATA_ANALYSIS_INDEXING: the near tie decided early and re-checked once every frame is in.
- RUGNUX: merging is the default and _process.h5 optional; live following of a collection with a
  broker URL; --model's MR fallback.
- RUGNUX_INSTALL, RUGNUX_OVERVIEW, RUGNUX_TUTORIAL, RUGNUX_REPORT: GPU work list, <prefix>_mr outputs,
  MR in --mode mx for rotation and stills, rigid body only in --mode scale.
- RUGNUX_ADVANCED: -N default as the usage states it.
- battery README: the ci tier has 28 sets.
- ModelValidation.cpp: a comment still said a GPU failure reran the validation on the CPU (comment only).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
This commit is contained in:
2026-10-13 09:03:31 +02:00
co-authored by Claude Opus 5.5
parent cf082b2531
commit 30cf5856d4
12 changed files with 123 additions and 34 deletions
@@ -1381,7 +1381,7 @@ ModelValidationResult Validate(const std::vector<MergedReflection> &merged,
}
#ifdef JFJOCH_USE_CUDA
} catch (const RigidBodyGPUFailure &) {
throw; // not the null's failure but the device's: the whole validation runs again on the CPU
throw; // not the null's failure but the device's: it ends the whole validation (ValidateAgainstModel)
#endif
} catch (const std::exception &e) {
// The null could not be built, so no decision is licensed and none is taken - which is the