Problem
native/src/core/MediaCore.cpp is ~437 KB. Protocol, tick, mix, record, senders, and snapshot live in one translation unit. That is how a fifth private ingest pipe keeps appearing.
Rule
Do not start this refactor until the F1 source-bus issue has a real consumer (one non-Zoom adapter publishing pixels through the shared contract). Foundations do not land as unwired islands (#419 rule).
Done when
Ingest merge + source health live in a focused unit; MediaCore orchestrates. Stub tests still green.
Problem
native/src/core/MediaCore.cppis ~437 KB. Protocol, tick, mix, record, senders, and snapshot live in one translation unit. That is how a fifth private ingest pipe keeps appearing.Rule
Do not start this refactor until the F1 source-bus issue has a real consumer (one non-Zoom adapter publishing pixels through the shared contract). Foundations do not land as unwired islands (#419 rule).
Done when
Ingest merge + source health live in a focused unit; MediaCore orchestrates. Stub tests still green.