OPENHOOPS / 2K14Final team archive · November 9, 2026Reference libraryChecksums

Dated source reference. Current release status: handoff state. Full original relative paths are in the developer archive.

Observed visual trace, draft 1

The adapter can publish what it drew for each registered graphic on each Present. This record is separate from the pixel producer and gives no game command or native sequence authority. A successful Present alone is not display acceptance.

Open Local\OpenHoops.Presentation.Trace.1.<token> with FILE_MAP_READ, using the same private random token as the pixel channel. Match the host PID and process creation time to the actual game process. Independent readers do not claim the pixel producer. framework/trace.py provides the checked reader.

The header is 64 bytes and identifies version 1, 1,520-byte frames and a ring of 64 frames (97,344 bytes total). native/presentation/trace.hpp defines the wire layout. Each frame has a 32-bit odd/even sequence guard. Read it before and after copying the frame, require the same even value, and check the expected Present number. The aligned published count uses an atomic 64-bit write. Readers must report overwritten or incoherent frames as gaps, rather than guessing their contents. The Python collector stops at its explicit output budget.

Every owner row reports primitive draw counts, replacement/fallback counts and one or more reasons: missing frame/plane, mutex contention/abandonment, invalid frame, changed sequence, upload failure, unavailable/changed/stale context, producer expiry, unavailable device, wrong target, failed draw, replacement or intentional hiding. Hundreds of primitives in one row still describe one frame. No primitive count may be presented as a count of failed frames.

observed_visible means the native owner reached its guarded draw boundary. It is true even when replacement pixels were unavailable. A contiguous series of such Presents receives an occurrence number, first/last observation tick and observed_started/observed_ended flags. One absent Present ends this observed window. A later draw or device generation change starts another window. These boundaries do not distinguish native completion, cancellation, pause or a brief gap, and do not identify a card's player, award or sequence stage.

Consumers may use the observations to diagnose rendering and measure entry or mid-window fallback. Semantic graphics still need separately verified content and lifecycle bindings. An unknown binding must retain native drawing. These records never allow a producer to omit a native draw; the host retains all identity, resource, context, freshness and successful-draw checks.

AS passes the Windows wire/collector tests. Exact GPU and game verification are tracked separately in analysis/presentation-framework74/.