Summary
Trim dead platform code and split non networking utilities out of the core library surface.
Motivation
The public include directory still carries headers for platforms that can no longer be targeted (XBox360Includes.h, VitaIncludes.h) and utilities unrelated to game networking (EmailSender.h, TelnetTransport.h, several exotic DS_* containers). Every header in the core is part of the audit surface, the build time, and the perceived weight of the library.
Proposal
Staged, no big bang:
- Delete dead platform headers and their
#ifdef islands (Xbox 360, Vita, other unbuildable targets)
- Move clearly non core utilities (EmailSender, TelnetTransport, ConsoleServer/LogCommandParser transports, HTTPConnection) into an
extras target that is off by default, keeping include paths stable for one deprecation cycle
- Audit
DS_* containers for ones with zero in tree consumers and deprecate those
- Make the
NativeFeatureIncludes.h feature flags the documented way to compile out unused plugins, and verify each flag still compiles cleanly in CI (a matrix job that builds a minimal configuration)
Acceptance criteria
- Core library builds with no reference to removed platforms
- A documented minimal build configuration, exercised in CI
- Measured reduction in compile time and binary size recorded in the PR
- Existing test suites pass unchanged
Summary
Trim dead platform code and split non networking utilities out of the core library surface.
Motivation
The public include directory still carries headers for platforms that can no longer be targeted (
XBox360Includes.h,VitaIncludes.h) and utilities unrelated to game networking (EmailSender.h,TelnetTransport.h, several exoticDS_*containers). Every header in the core is part of the audit surface, the build time, and the perceived weight of the library.Proposal
Staged, no big bang:
#ifdefislands (Xbox 360, Vita, other unbuildable targets)extrastarget that is off by default, keeping include paths stable for one deprecation cycleDS_*containers for ones with zero in tree consumers and deprecate thoseNativeFeatureIncludes.hfeature flags the documented way to compile out unused plugins, and verify each flag still compiles cleanly in CI (a matrix job that builds a minimal configuration)Acceptance criteria