The renderer should receive primitive draw data, not gameplay meaning.

Good viewport vocabulary:

  • mask sprite
  • text
  • line
  • arc
  • reticle
  • trail
  • particle burst
  • pick id
  • layer

Bad renderer vocabulary:

  • asteroid mining logic
  • faction war rules
  • NPC behavior
  • mission beacon semantics
  • station ownership decisions

Gameplay meaning lives in the server projection and world repository. The viewport turns already-authorized projection data into pixels and local input.