Skip to content

Mythic Masters: phones start on the low tier and step down when frames drop; the phone row in the budget walk #3683

Closed

Description

@QuinnsCode

Follow-up to #3682 (part of #3664, point 4: phones on the low tier).

#3682 makes Mythic Masters read the quality tier (@rustybuns/util/quality) for its renderer and its plant budget. But a phone rarely lands on low today:

  1. Phones are guessed as high. guessQuality sees an iPhone as "Apple GPU" (the STRONG pattern), and Safari gives no navigator.deviceMemory, so 8 GB is assumed and the tier is high: pixel ratio 2, antialias, shadows, every plant. Only ?quality=low (remembered after) puts a phone on low. Give a touch device with a small screen mid at most. Better, start it on low and let it step up, or let the game's own frame watch decide.
  2. No step-down. Mythic Masters doesn't run autoQuality / FrameWatch, so a phone that drops frames stays where it started. Run it in the frame loop. A step-down that changes antialias needs a reload; the pixel ratio, shadows and the plant budget (setPlantBudget) can change live. The plants would need a re-plant on change; flora's scatterFlora reads the budget each time it plants.
  3. The phone row in the shared walk. Once Cosmo's walkBudget (scripts/walk-budget.ts) is on main, give it a quality option (the page URL's ?quality=, or rustybuns.quality in localStorage) with a column for it, and a party option for the party-of-six row. Then put the phone row's limits in test/budget.test.ts.

Done when a phone viewport walk with no ?quality= lands on low (or steps down to it), and the budget test holds the phone row.

Activity

  1. QuinnsCode commented on Nov 5, 2026

    @QuinnsCode
    OwnerAuthor

    Points 1 and 2 are in #3689: a phone is guessed as mid at most, and FrameBudget / budgetQuality step the tier down when frames miss the beat and back up when calm. Mythic Masters ticks it.

    Still open here, for after #3682 and #3689 both merge:

  2. QuinnsCode commented on Nov 6, 2026

    @QuinnsCode
    OwnerAuthor

    Issue-runner check (2026-11-06): points 1 and 2 are in #3689 (merged). The two items left from the last comment are in PR #3852 (green): a tier step now calls setPlantBudget, and main.ts reads the tier once. Checked on a phone viewport with no ?quality=: it starts on mid, and with jammed frames it steps to low while the plant reach drops from 1,000,000 to 110 m.

    Point 3: scripts/walk-budget.ts already has the phone row (--only phone) and the party of six (--party 1,6), and test/budget.test.ts holds the phone limits. The one piece missing is a quality column (?quality= on the walk's page). It belongs with the frame-budget climb, so phase done here and moved up to #3796.

  3. QuinnsCode commented on Nov 9, 2026

    @QuinnsCode
    OwnerAuthor

    Done, from the 2026-11-09 board scan (notes/audit/2026-11-09-*.json): Points 1-2 in #3689, plant ring on tier step in #3852 (both merged); the quality column moved up to climb #3796

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions