You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Implement deterministic scene contexts and headless rendering #12
This preserved product issue is now part of the fresh MIT replacement program. Final implementation owner: atrinik/renderer. Legacy C/SDL2, packet, global-state, and file-path details below are historical evidence only.
Replacement implementation contract
Create source-neutral complete scene contexts and offscreen output directly in the shared Rust renderer. The Go server exports bounded authorized full scene bundles separately from connection deltas; do not replay classic MAP packets as a durable format.
New implementation and tests are independent MIT work unless an exact contribution by an approved MIT provenance grantor is admitted through the recorded file-level MIT grant. Do not copy or mechanically translate other GPL source/tests. Preserve every player-facing, accessibility, disclosure, and performance design decision below.
Required verification
Add deterministic Rust and/or Go tests at the owning boundary plus cross-language protocol fixtures for new fields.
Exercise malformed/stale/reordered inputs and lifecycle failure without partial state.
Use the shared renderer rather than a client/editor fork.
Validate through a wrapper-managed replacement scenario where the feature is interactive.
Preserved product/design specification and historical implementation notes
Important
This preserved product issue is now part of the fresh MIT replacement program. Final implementation owner:
atrinik/renderer. Legacy C/SDL2, packet, global-state, and file-path details below are historical evidence only.Replacement implementation contract
Create source-neutral complete scene contexts and offscreen output directly in the shared Rust renderer. The Go server exports bounded authorized full scene bundles separately from connection deltas; do not replay classic MAP packets as a durable format.
New implementation and tests are independent MIT work unless an exact contribution by an approved MIT provenance grantor is admitted through the recorded file-level MIT grant. Do not copy or mechanically translate other GPL source/tests. Preserve every player-facing, accessibility, disclosure, and performance design decision below.
Required verification
Preserved product/design specification and historical implementation notes
Parent and roadmap
Outcome
Create reusable server scene-capture and client renderer/resource contexts shared by the live client, offline renderer, and later editor preview.
Scope
worldandplayer-viewpolicies and clean repeated context lifecycle.Superseded path / cleanup target
Delete proof-only adapters that duplicate the durable context. Do not copy
map.cor create separate interactive/headless render implementations.Acceptance criteria
atrinik-map-rendercall the same scene/render/resource modules.Validation baseline
Before: scene generation is coupled to socket deltas and rendering is coupled to client widgets/process globals.
After: transport-independent scene capture and reusable renderer contexts support deterministic offline consumers.
Run scene round trips, lifecycle/leak tests, equivalence fixtures, isolated-asset failures, and Linux/MinGW client/server builds.
This issue is a bounded child of #13. The parent remains open until every sibling child is complete.