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

extract ornate UI - #51

Open
magicalfeyfenny wants to merge 20 commits into
devfrom
codex/extract-ornate-ui
Open

extract ornate UI#51
magicalfeyfenny wants to merge 20 commits into
devfrom
codex/extract-ornate-ui

Conversation

@magicalfeyfenny

@magicalfeyfenny magicalfeyfenny commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Intent

Complete structural-decomposition milestone 2 by extracting the characterized shared ornate UI helpers from their previous story and title helper owners into a dedicated scr_ui_ornate module.

This change establishes a single owner for the shared ornate drawing primitives while preserving their existing names, defaults, callers, visual output, and caller-visible draw-state behavior.

Closes #50 .

Scope

This PR:

  • adds and registers the new scr_ui_ornate GameMaker script resource;
  • moves the 11 approved shared ornate UI helpers into that resource;
  • removes the moved implementations from scr_story_helpers and scr_title_helpers;
  • preserves all existing function names and call sites;
  • preserves existing argument defaults and return behavior;
  • preserves characterized alpha, color, alignment, font, and texture-filter postconditions;
  • preserves the existing filigree-divider color side effect rather than normalizing it;
  • updates the architecture, module ownership map, and structural-decomposition plan to identify scr_ui_ornate as the new owner;
  • records milestone 2 as complete and points subsequent work toward milestone 3 characterization.
  • updates the macOS project options required to launch and manually inspect the validation build;

Non-goals

This PR does not intentionally change UI appearance or behavior.

It does not rename the extracted functions, introduce a compatibility facade, alter callers, normalize draw state, or redesign any title, story, gameplay HUD, practice, pause, or boss interface.

It does not begin milestone 3 or authorize any later structural-decomposition milestone.

It does not change gameplay logic, story content, RNG behavior, persistence, input handling, audio, or release configuration.

This PR does not intentionally change shipping behavior or release policy. The macOS options change is limited to enabling manual validation of the existing output.

Risk

Risk is standard.

The primary risk is an ownership-only extraction accidentally changing rendering, argument behavior, resource registration, or caller-visible draw state.

The extraction is deliberately mechanical and relies on the characterization coverage established in the preceding milestone.

  • Target branch and authority are correct.
  • Git LFS changes are not applicable.
  • Generated/runtime ownership is not changed.
  • Architecture and ownership documentation are updated.
  • Rollback is concrete and limited to this extraction.

Validation

The completed extraction candidate is:

40c6ef01f81303ac8807f2dcea6354d56d33d6d9

Validation completed against that candidate:

  • Hosted GMTL run 29891263836 passed all 134 registered tests.
  • Visual validation run 29891263867 produced all eight approved captures.
  • Visual comparison reported a maximum pixel-channel difference of 1.
  • Alpha output was unchanged.
  • The GameMaker project successfully resolved the registered scr_ui_ornate resource.
  • Existing ornate UI characterization tests continued to pass.
  • Correctness review approved the extraction.
  • Validation review approved the available test and visual evidence.
  • Governance review approved the milestone boundary and documented scope.

The validation covers representative title, story, gameplay HUD, practice, pause, and boss presentation surfaces.

The macOS options update enabled the project to run for manual inspection of the approved title, story, gameplay HUD, practice, pause, and boss captures.

Rollback

Before merge, rollback consists of closing this PR and retaining the milestone-2 planning branch unchanged.

After merge, rollback can be performed through a new issue and PR that reverts this extraction, restores the helper implementations to scr_story_helpers and scr_title_helpers, removes the registered scr_ui_ornate resource, and restores the previous ownership documentation.

No branch history rewrite is required.

Independent agent review

Independent reviews should verify that:

  • only the approved ornate UI helpers moved;
  • function names, defaults, callers, and resource registration remain intact;
  • no compatibility facade or duplicate implementation was introduced;
  • characterized draw-state leakage remains unchanged;
  • documentation accurately reflects the new ownership boundary;
  • the PR does not begin milestone 3 or include unrelated production changes.

The machine-readable PR contract and attestations should be bound to the final PR number, base SHA, and head SHA after the preceding milestone branch has been merged.

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
On macOS the Mac display name apparently can't have the single-quote character. Replaced with an apostrophe
@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