DMA census: classify seven layout and animation refresh callers

Open
#602 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
15/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
godot, rust

Research direction

Start from the dma_census tests for the US image and the seven named Event_ scenes (Event_RuneFlaeli, Event_MachineCenterAppearing, Event_MeetingLeRoof, Event_EclipseTorchUsed, Event_TylerGraveOpening, Event_JuzaDefeated, Event_WreckageEngine), reading the census published in #595 before classifying. Record each uncovered DMA/VInt call's offset and repetitions, and check that existing waits are not charged another frame. Done means every assigned #599 row is classified, repaired, or marked as a #546-owned refresh gap, with the documentation checks passing.

Written by the indexing model from the issue text.

Description

later

Child of https://github.com/TusanHomichi/PSIV/issues/599. Finish only this task in one fresh session and one PR. The parent's original authorization boundaries still apply; this child grants no additional authority. Do not read earlier sessions' transcripts.

Child of TusanHomichi/PSIV#599; one PR after #595's census publication. Own Event_RuneFlaeli, Event_MachineCenterAppearing, Event_MeetingLeRoof, Event_EclipseTorchUsed, Event_TylerGraveOpening, Event_JuzaDefeated and Event_WreckageEngine. Classify each uncovered DMA/VInt call using verified US instructions and the existing animation, wait and layout APIs. Record its offset, repetitions, and named native frame consumer when one exists. For missing frames belonging to layout-refresh CPU/DMA boundaries, replace the generic #599 attribution with an explicit #546 attribution and supporting offsets; do not implement that boundary here. Add missing non-refresh DMA frames only where the evidence establishes them. Respect #595's Le Roof repairs, #593's Eclipse Torch work and PRs #590/#597/#598; await relevant changes instead of duplicating them. Preserve original #599 authority, protected inputs and unrelated rows. No earlier transcripts, broad timing rewrite, release, deployment or asset distribution.

Verification: Run US-image dma_census tests and focused tests for any changed scene; include Wreckage's repeated four-frame phases and the grave refresh boundary in the classification evidence. Verify existing waits are not charged another frame. Run documentation checks. Every assigned #599 row becomes a supported named-consumer classification, a verified repair, or an explicit #546-owned refresh gap.

If this is too big, publish any progress, split it with proj split FILE (a JSON array of title/body/check tasks), then end the session. Wait for the PR to land before declaring this task done.

Dominant language
Rust
Stars
1
Forks
0
Avg merge
8h 43m
Merged PRs (30d)
288

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TusanHomichi/PSIV

All issues in TusanHomichi/PSIV

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.