Skip to content
This repository was archived by the owner on Aug 7, 2026. It is now read-only.

Characterize shared ornate UI behavior before extraction - #52

Open
magicalfeyfenny wants to merge 17 commits into
devfrom
validation/ornate-ui-characterization-acdf8e5
Open

Characterize shared ornate UI behavior before extraction#52
magicalfeyfenny wants to merge 17 commits into
devfrom
validation/ornate-ui-characterization-acdf8e5

Conversation

@magicalfeyfenny

Copy link
Copy Markdown
Owner

Intent

Characterize the existing behavior of the shared ornate UI helpers before changing their production ownership.

This milestone records the visual constants, layout rules, argument behavior, and caller-visible draw-state postconditions relied upon by the title, story, gameplay HUD, practice, pause, and boss presentation systems.

The resulting coverage establishes a behavior-preservation boundary for the dedicated ornate UI extraction.

Part of #28.
Enables #50.

Scope

This PR:

  • adds six focused characterization tests for the shared ornate UI behavior;
  • records normal and selected palette values;
  • records title-panel and configuration-entry layout behavior;
  • records story portrait and empty-text layout behavior;
  • records gameplay HUD anchors and boss-heart boundary behavior;
  • records pause-page ordering and selection boundaries;
  • records relevant alpha, color, alignment, font, and texture-filter postconditions;
  • preserves and explicitly characterizes the existing filigree-divider color side effect;
  • updates the structural-decomposition plan and module-ownership documentation;
  • identifies the ornate UI helpers as ready for a bounded extraction milestone;
  • adds no new production owner and moves no production implementation.

The frozen characterization candidate is:

acdf8e529ffe68e38fb87580c73ca5cee2286f6d

Non-goals

This PR does not move the ornate UI helpers or add scr_ui_ornate.

It does not rename functions, alter callers, change argument defaults, introduce compatibility facades, normalize draw state, redesign the UI, or intentionally change rendering behavior.

It does not modify gameplay logic, story content, persistence, input handling, audio behavior, RNG behavior, balance, save data, or release configuration.

It does not begin the extraction tracked by #50 or authorize any later structural-decomposition milestone.

Risk

Risk is standard.

The principal risk is incorrectly encoding incidental or misunderstood behavior as a required compatibility contract. The characterization tests therefore document observable production behavior without claiming that every existing side effect is desirable permanently.

  • The target branch and milestone boundary are correct.
  • Git LFS payload verification is not applicable.
  • Generated and runtime asset ownership is not changed.
  • Architecture and decomposition documentation are updated.
  • Rollback is limited to tests and documentation.

Validation

Validation was completed against candidate:

acdf8e529ffe68e38fb87580c73ca5cee2286f6d

Evidence:

  • Hosted GMTL run 29889767822 passed all 134 registered tests.
  • The registered test count increased from 128 to 134.
  • Visual-tour run 29889883786 completed all eight selected captures.
  • Representative title, story, gameplay HUD, practice, pause, and boss presentation surfaces were inspected.
  • The characterization coverage records the draw-state behavior relied upon by the subsequent extraction.
  • No production helper was moved or renamed.
  • No intentional visual or gameplay behavior change was introduced.

Any conflict resolution, rebase, merge, or additional commit that changes the frozen candidate requires fresh focused validation against the final PR head.

Rollback

Before merge, rollback consists of closing this PR and preserving the frozen characterization branch and candidate SHA for reference.

After merge, rollback can be performed through an ordinary revert pull request removing the six characterization tests and restoring the previous planning and ownership documentation.

Rollback does not require rewriting branch history or modifying production GameMaker resources.

Independent agent review

Independent review should verify that:

  • the tests characterize existing production behavior rather than introduce new behavior;
  • the asserted constants, layouts, boundaries, and postconditions match the current helpers;
  • no production helper moved or changed ownership;
  • no compatibility facade, redesign, or normalization was introduced;
  • the characterized filigree-divider color side effect remains documented accurately;
  • the documentation authorizes only the bounded extraction tracked by Ornate UI extraction #50;
  • validation evidence is bound to the exact final head and base SHAs.

The final machine-readable pull-request contract and reviewer attestations must be populated after the pull-request number and exact base and head SHAs are known.

lol lmao my usage credits are dying
commit f034094
Author: magicalfeyfenny <magicalfeyfenny@fenny.moe>
Date:   Sun Jul 12 10:18:31 2026 -0700

    i had codex do a bunch of random shit lol

    lol lmao my usage credits are dying

commit ae3507b
Author: magicalfeyfenny <magicalfeyfenny@fenny.moe>
Date:   Sat Jul 11 07:49:11 2026 -0700

    Polish player movement and firing feel
Overhaul boss variety and character encounters
…overhaul

Rebuild lush 3D stages and add the sisters' grand finale
* Add refractive crystal UI panels

* Darken crystal UI for readability

* Tint crystal UI with a midnight gradient

* Run GameMaker unit tests in GitHub Actions

* Use current GitHub Actions runtimes

* Use feed-available GameMaker runtime in CI

* Avoid spaces in GameMaker CI user path

* Use GameMaker LTS 2026 tooling in CI

* Use absolute GameMaker project path in CI

* Fix LTS PS4 option schema
@magicalfeyfenny magicalfeyfenny added the legacy-branch-name Predates issue-numbered branch governance and is retained under issue #47. label Jul 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

legacy-branch-name Predates issue-numbered branch governance and is retained under issue #47.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant