Restore review-flagged comment content cut too aggressively in comment reduction

This commit is contained in:
2026-07-29 21:15:00 -04:00
parent 9d037fb233
commit 47ccadf726
10 changed files with 36 additions and 18 deletions
+5 -3
View File
@@ -128,9 +128,11 @@ RangeSource inferRangeSource(bool hasRazorArea);
// track's OWN FX, (b) every ancestor (parent/folder) track's FX, (c) the
// master FX. The caller (FxBypassGuard, shell) walks the ancestor chain via
// GetParentTrack, clears I_FXEN on each flagged track (RAII restore), and also
// neutralizes D_VOL/D_PAN/D_WIDTH/D_PANLAW to unity/center on the same set —
// I_FXEN alone doesn't touch a track's volume/pan. This plan selects the set;
// the guard applies both the FX bypass and the neutralize.
// neutralizes D_VOL/D_PAN/D_WIDTH/D_PANLAW/I_PANMODE to unity/center on the
// same set (I_PANMODE is load-bearing: in pan mode 6, D_PAN/D_WIDTH are
// ignored entirely, so forcing it is what makes the other neutralizations
// take effect) — I_FXEN alone doesn't touch a track's volume/pan. This plan
// selects the set; the guard applies both the FX bypass and the neutralize.
struct FxBypassPlan {
bool bypassSelfFx = false; // the captured track's own FX
bool bypassAncestorFx = false; // every ancestor (parent/folder) track's FX
+3
View File
@@ -283,6 +283,9 @@ std::set<std::string> ViewModeModel::visibleTracks(const FolderTree& tree,
std::map<std::string, std::string> parentOf;
for (const auto& node : tree.nodes) parentOf[node.guid] = node.parentGuid;
// Seed from the full pass-1 set (not just leaves) so a parent already visible by
// its own membership still propagates visibility up its remaining ancestors; a
// snapshot copy so mid-loop insertions into `visible` are never re-walked.
const std::vector<std::string> seeds(visible.begin(), visible.end());
for (const auto& node : seeds) {
auto it = parentOf.find(node);
+3
View File
@@ -65,6 +65,9 @@ UsagePublishPlan planUsagePublish(const std::optional<std::string>& existing,
plan.wire = encodeUsageRecord(cleanMine);
if (!existing || existing->empty()) {
// NOTE (>16 MB gap): readReasamplerExtState returning nullopt for a value
// larger than 16 MB is indistinguishable from "absent" here, so that narrow
// case also takes this fresh-write branch rather than remint.
return plan; // fresh key — write mine
}
+4
View File
@@ -28,6 +28,10 @@
// never degrade toward delete);
// * unreadable record -> ABORT the prune entirely (a record we cannot read
// may protect anything; halting deletes nothing).
// Residual: readReasamplerExtState returning nullopt
// for a >16 MB value is indistinguishable from
// "absent" at the publish site, so that narrow case
// takes the fresh-write branch, not remint.
//
// Liveness is decided extension-side at read time, not by teardown clearing
// (REAPER destroys the plugin instance when an FX goes offline, including