feat: add v2 multi-plane field ingress

This commit is contained in:
OpenAI Codex
2026-09-11 09:00:29 +08:00
parent 9e9ea07bc7
commit 148bf80fe4
17 changed files with 368 additions and 20 deletions

View File

@@ -175,6 +175,9 @@ public:
// update API. This must return Noop without changing the Source window.
RasterArrayRuntimeFieldUpdateResult repeatRuntimeFieldWindow();
RasterArrayHostFieldSubmitResult submitHostField(const std::string& metadataText, const std::vector<char>& payload);
// v2 ingress preserves explicit scalar/vector/validity plane presence.
RasterArrayHostFieldSubmitResult submitHostField(const std::string& metadataText,
const particle::ParticleFieldPayloadBundle& payloads);
// Clears producer-owned Host ingress state while retaining the Source and
// its Style layers for a subsequent T0/T1 submission.
bool clearHostFields();
@@ -191,6 +194,7 @@ protected:
Mutable<Source::Impl> createMutable() const noexcept override;
private:
RasterArrayHostFieldSubmitResult submitDecodedHostField(particle::ParticleFieldSnapshot snapshot);
struct RuntimeFieldCandidate {
RasterArrayRuntimeFieldDescriptor descriptor;
std::unique_ptr<AsyncRequest> metadataRequest;