- Underbarrel attachments work across IW4, IW5, T5 and T6, including per-family impact FX, T5 flamethrower streams and T6 launcher fuses. - Viewmodel notetrack sounds play in third person. - Transport operations and queues are bounded; Quinn congestion control returns to its default. - Match publication, presentation context and prepared content semantics are qualified and validated; cosmetic and entity occurrence lifecycles are preserved. - GPU skinning batches within supported device budgets. - Immutable UI projections and correlated class replies are reconciled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.5 KiB
Presentation publications
render_fx::PresentedFireFx owns receipts for one world and replay timeline.
A receipt identifies a fire cause and product, with pellet/segment identity for
tracer, impact, glass and marks. Positions, normals, surface and target are
result data. Authority replaces that data; conflicting authority is refused.
| product | prediction | authority |
|---|---|---|
| muzzle/brass | create when available | retain success or retry refusal |
| tracer/transient impact | create when available | retain success or retry using authoritative result |
| marks | defer | schedule mark emission once |
| glass | defer | evaluate authoritative segment once, including zero hits |
execute admits scope/verdict/budget before invoking creation. It records |
||
| success after creation returns. Dependency and allocation refusals remain | ||
| retryable; intentional tracer interval skips are terminal. Marks report | ||
| Scheduled, separately from Created: a scheduled effect can later encounter a | ||
| receiver/material refusal in the mark subsystem. | ||
| Impact effects carry Transient or Marks emission policy through runners, | ||
| emitted children, impacts, deaths and trails. Transient effects cannot emit | ||
| decals; Marks effects simulate child motion without drawing particles, | ||
| models/lights/trails or playing sounds. | ||
| Expiration runs once per presentation frame, including idle frames. Receipts and | ||
| tracer shot decisions retain a 5000 ms horizon; the receipt bound is 8192 | ||
| products. Saturation refuses admission rather than evicting recent successes. | ||
| World/timeline replacement or clock rewind resets the scope; i32 wrap remains | ||
legal. Late delivery after expiry may create a fresh product. fx_dump reports |
||
| scope/time, product budget refusals, receipt size/capacity and sweep costs. | ||
asset_material::UiImagePublication owns material mappings, preview policy, |
||
| zone payloads and archive indices. Shell/match installation selects privately | ||
| prepared products. A late shell completion cannot replace an installed match. | ||
| HUD caches and class/loading previews adopt publication identity. Shell previews | ||
| use this publication; gameplay archive image plans begin with the first match | ||
| and remain shared. Menu overlays replace maps and caches when menus change. | ||
| Installation revisions cover relevant file metadata, following game symlinks. | ||
| Unix revisions also include inode/change time. A new load checks the revision; | ||
| there is no automatic file watcher. Archive indices retain opened readers, so | ||
| atomic file replacement preserves old readers for referenced publications. | ||
| In-place corruption is refused through archive length/CRC validation. |
EditorWeaponCatalog exposes map-independent selection and class admission;
it cannot be installed as PreparedWeapons. Match admission additionally
checks prepared FPV assemblies and map-selected hands. Appearance selection
keeps NativeReady, BaseByPolicy and DeclaredUnavailable separately for view and
world models. Render consumers retain refusal reasons and do not replace a
declared unavailable model with the base weapon.
Accepted pellet impacts publish independently of FX, keyed by installation, timeline and shot/pellet/segment. Replay reuses retained snapshot metadata; a retention gap restores the cosmetic checkpoint before applying retained occurrences. Corpse identity includes an authority spawn sequence, and corpse equipment/team appearance is captured at death. Cosmetic physics keeps its canonical hull and mask during recovery; incomplete collision refuses activation. FX pieces freeze analytic spin only after supported low motion; angular torque is not simulated.