package: one bank leaves the project as one .rsbank, or the export refuses and says why

Pure planner classifies missing/unreadable/unrepresentable and repairs transport
names; the verb digests, streams and commits atomically over a const session.
This commit is contained in:
2026-08-02 13:21:43 -04:00
parent 33ea95078d
commit 081b6f1028
16 changed files with 1426 additions and 2 deletions
+18
View File
@@ -0,0 +1,18 @@
#pragma once
// package_export_action — the "export bank as package" action body: survey and
// report first, confirm what is absent, pick a destination, write. Every prompt in
// the flow lives here; shell/package/export_bank stays promptless. Registration and
// dispatch for its FOREVER-STABLE id ride main.cpp's action table.
#include <string>
namespace reasampler {
class ReaSamplerSession;
// Exports one bank (the pool included — it is structurally a bank) to a .rsbank the
// user picks. Read-only against the project: the session is const, so no ext-state
// write, generation bump or undo point is reachable from here.
void doBankPackageExport(const ReaSamplerSession& session, const std::string& bankId);
} // namespace reasampler