7 KiB
Original Game Presentation Specification
Baselines: RTS d12d7c5c^; ARPG origin/master at ab2c2944.
Provider Documents Required
The original UI directly observes mutable entities and UniRx events. The target must replace that graph with provider-owned typed documents:
player_cockpit_state: systems, schematic cells, thermal state, durability, energy, visibility, movement, shutdown, and medical state.zone_contacts: identity, disposition, detection both ways, pose, selected and locked state, and health disclosure.action_slots: action identity, source equipment/cargo, icon, availability, active state, progress/cooldown, quantity, and operation binding.inventory_layout: shaped hull/cargo occupancy, cells, hardpoints, durability, armor, conductivity, and temperature.trade_session: station, stock, destinations, quotes, capacity, commands, receipts, and typed rejection reasons.navigation_surface: zone topology, contacts, fields, discovery, current location, and navigation commands.presentation_events: deduplicated hit, damage, lock, thermal, death, weapon, effect, and audio cues.
The target doctrine-combat direction adds shared state for active doctrine,
cognition allocation, fire-control assignments, subsystem intent, deployed
platform orders, commitment exceptions, and structured decision reasons. See
cockpit-doctrine-combat.md. These are gameplay state or named projections,
not renderer-local interpretations of action-bar activity.
Names are provisional; responsibilities are normative.
Cockpit Schematic
The schematic presents equipment topology and polls reactor draw, capacitor charge/capacity, temperatures, radiator stores, cargo temperature, override shutdown, shield active state, drive RPM, visibility, hull/item durability, weapon ammunition/range/cooldown, and heatstroke/hypothermia thresholds.
The target document must publish these source facts and cell topology. Eve may compose them as grids, metrics, progress, imagery, and overlays. EveUnity may animate transitions but may not derive state from materials or particles.
Target And Contact Feedback
The selected target panel includes identity, relation, target shield state, hull durability, gathered information in both directions, pose/range, and selection. Hostile/friendly indicators are created from contact add/remove facts. Detection fill, selected target, and lock indicators consume explicit observer-relative state.
Crosshairs and lock reticles need camera projection and attachment semantics. Barrel endpoints and articulation groups are presentation inputs, not combat authority.
Hit marker is triggered only by an incoming-hit event on the selected target
whose source is the controlled entity. It remains visible for authored
HitMarkerDuration. This requires event identity, source, target, and time.
Action Bar And Input
Slots derive from exposed action-bar inputs plus available equipment behaviors, weapon groups, and consumables. They display binding, active state, cooldown or duration, and cargo quantity. Activation submits semantic commands; it never calls behavior objects in the client.
Bindings are client-owned and portable across providers exposing the same semantic action. Dynamic action availability is daemon-owned.
Inventory And Trade
Inventory presents shaped hull and cargo grids, armor, hardpoints, occupancy, temperature, conductivity, item condition, comparison, selection, drag preview, and valid destination feedback. Drag state is local; mutations and rejection reasons are daemon receipts.
Trade presents station stock, player destinations, credits, valuation, item details, filters, ship purchase, and resulting inventory state. Quote and commit are separate when price can vary.
Map Products
Minimap zoom changes camera/projection scale and icon scale independently from pilot view distance. Zone map combines objects and field textures. Sector map builds discovered topology and faction/current/entrance/exit/boss states. These are explicit Eve projections, not hidden children of the pilot scene.
Distress, Damage, And Death
Incoming damage identifies affected schematic cells and damage category so the correct armor/item/hull feedback can pulse. Thermal distress publishes current heatstroke/hypothermia, thresholds, and cause-specific warning transitions. Screen post-processing intensity is a lowering of these facts plus authored timing, with accessibility fallback.
Death unbinds gameplay input, presents cause, and transitions to appropriate menu/restart flow. The client cannot clear or save authoritative world state as a side effect of playing the animation.
The fossil's live heatstroke presentation uses two volume weights. Base weight
is saturate(heatstroke / severeRiskThreshold). Severe weight is the normalized
amount above that threshold, with an authored sinusoidal pulse applied by the
lowerer. Heatstroke and hypothermia each have schematic exposure meters, while
cockpit temperature drives the shared thermal-limit meter. The scene contains
hypothermia volumes, but the inspected live update never drove them before
death; do not invent continuous hypothermia post processing as historical
parity. Cause-specific death fades cross the applicable thermal volumes into
the death volume over one authored second.
The current fossil settings still declare heatstroke and hypothermia control limits, but the implemented heatstroke cockpit lockout was deliberately removed and no hypothermia lockout was connected. Thermal exposure therefore does not silently attenuate or reject semantic controls. The daemon owns medical state and death; the runtime owns only meter, volume, and transition lowering.
The serialized fossil profiles target a retired post-processing schema and
contain missing script references in the current Unity body. They are evidence,
not deployable assets. EveThermalProfileMigrator deterministically generates
clean URP profiles with the supported authored values: vignette color/intensity/
smoothness, white balance, exposure, contrast, saturation, bloom, grain, and
depth of field. Legacy vignette roundness, screen-space reflections, and ambient
occlusion have no equivalent portable volume parameter; they remain explicit
renderer-feature parity gaps. The generated profiles, not the broken fossil
files, are the assets advertised through CultMesh CDN.
Effects And Audio
Weapon and impact effects consume semantic event facts and provider asset refs.
Original music selection attempted to use TargetedByCount, but playback was a
TODO in the inspected baseline. Audio parity therefore covers authored effect
cues that exist; a complete music system is future content, not a hidden
original requirement.
Presentation Timing Proof
For every element record source document/event, trigger, duration, interpolation owner, interruption rule, reconnect behavior, and accessibility fallback. Verify initial load, user command, daemon update, mid-transition, settled state, refresh/reconnect, and event deduplication.