feat(version): V4 beta-in-isolation channel via -DREASAMPLER_CHANNEL

Compile-time channel flag forks a fully isolated reaper_reasampler_beta
(namespace, command-id prefix, action names, dock ident, -beta render) from
one auditable app_version definition. Stable identity byte-unchanged.
This commit is contained in:
2026-07-26 16:06:24 -04:00
parent 0a9d8200c7
commit 5c0e3a8ccf
13 changed files with 648 additions and 224 deletions
+19 -5
View File
@@ -1,9 +1,23 @@
#pragma once
// version_generated.h.in — configure_file TEMPLATE. CMake substitutes @REASAMPLER_VERSION@
// (the ONE source-of-truth variable in CMakeLists.txt) and writes the result to the build
// tree as version_generated.h. DO NOT edit the generated header — edit REASAMPLER_VERSION
// in CMakeLists.txt; that single edit re-generates this and re-threads the exact string
// (leading zero preserved verbatim) into the binary constant, the ext-state stamp, and the
// show-version action. See app_version.h / .cpp.
// (the ONE version source-of-truth variable in CMakeLists.txt) and @REASAMPLER_CHANNEL_IS_BETA@
// (0 for the stable/default build, 1 for -DREASAMPLER_CHANNEL=beta) and writes the result to
// the build tree as version_generated.h. DO NOT edit the generated header — edit
// REASAMPLER_VERSION / the channel flag in CMakeLists.txt; that single edit re-generates this
// and re-threads the exact string (leading zero preserved verbatim) plus the channel bit into
// the binary constants, the ext-state namespace/stamp, the command-id prefix, and the panel
// readout. See app_version.h / .cpp.
//
// Two channel-derived facts flow from here and NOWHERE ELSE, so "what makes a beta a beta" is
// one auditable definition (Phase V, V4 — beta-in-isolation):
// * REASAMPLER_VERSION_STRING — the numeric semver triple, IDENTICAL on both channels
// (leading zero preserved). This is the ext-state STAMP value: it stays the numeric triple
// so parseVersion classifies it as Stamped when its own channel reads it back, and it is
// byte-identical to stable's stamp regardless of channel (the channel is carried by the
// ISOLATED namespace, not baked into the stamp — see app_version.h).
// * REASAMPLER_CHANNEL_IS_BETA — 0 (stable, the default absent-flag build) or 1 (beta). The
// one bit app_version fans out into every channel-qualified identity (display suffix,
// namespace, command-id prefix, action-name prefix, binary/dock idents).
#define REASAMPLER_VERSION_STRING "@REASAMPLER_VERSION@"
#define REASAMPLER_CHANNEL_IS_BETA @REASAMPLER_CHANNEL_IS_BETA@