Ending: render credits stage one with retail commands, fades and plane scrolling

Open
#641 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
8/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
godot, rust

Research direction

Start from the parent issue #635 and the existing CRAM and credits-pack work, then read docs/scenes/89_Ending.md and the ending code path around $079D0C through the stage-one transition at $079F26. The payload names no test file, so locate the existing runtime tests for the ending scene first. Done means stage one renders with counters, command execution, fades and plane scrolling matching the oracle captures, with stages two and three marked missing in the docs.

Written by the indexing model from the issue text.

Description

later

Child of https://github.com/TusanHomichi/PSIV/issues/635. 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 #635; one PR after the CRAM and credits-pack children. Implement EndingCreditsAssets initialization and EndingCreditsStage(1), from $079D0C through the transition at $079F26. Runtime owns counters, command execution, palette writes and timing; Godot draws indexed planes from that state and live CRAM. Reproduce initial plane construction, BG camera start $FF20, $2000 camera increments, TextCounter terminal $380, row replacement and DMA visibility. Implement the CreditCommands1 text/header actions and CreditsFadeInOut behavior stage one uses, through reusable owners for subsequent stages. Do not substitute a bitmap or generic text scroller. Coordinate frame ownership with existing #608 and preserve the documented entry-shortcut boundary. Keep docs/scenes/89_Ending.md explicit about stages two and three still missing. Original #635 authority and protected-input rules apply; no earlier transcripts, unrelated repairs, release, deployment or asset distribution.

Verification: Add deterministic tests for initialization, counter/row boundaries, command order, text placement, palette fades and the stage-one exit. A skipped row transfer or command must fail a negative control. Add regenerable oracle/native captures covering planet/star planes, a header/name block and a fade at named frames; inspect them at the recorded viewport and regions. Run focused runtime/pack tests, extension build, affected certification pairs and documentation checks through documented locks.

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.