feat(build): Translate shows its progress as each of the lift's steps ends #359
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!359
Loading…
Reference in a new issue
No description provided.
Delete branch "madebyjordan/Longshot:feat/lift-progress"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
During a first build the progress bar sat at the start of Translate for its whole 3-4 minutes and then jumped to the end, so the build looked stuck. Now it moves as each of the lift's steps ends.
What changed
lift_progress()innx2/make_game.pyis the lift'son_line. It says@@progressas each lift step ends, from the linesPhaseClockalready reads: a step'slift: <step> in <s>sline, or the discovery's.lift_weights()weights each step by what it took in this PC's last whole lift (thephasesinbuild_times.json). Without a record, or one missing a step, it usesLIFT_STEPS: the seven steps' seconds on a Ryzen 5 5600 under Windows (discovery 47, coverage 25, emit and write 100, big chunks split 18, patches 10, output size 38, runtime tables 12).main()passeslift_progress(work)to the lift'srun().tests/test_build_times.pychecks that each step moves the bar to its end, that other lines and repeats say nothing, and both weightings: the last lift's, and a record missing a step.tests/test_lift_cleanup_error.py's stand-ins forrun()take theon_line.Flags and settings
None.
Measurements
A change to what the build prints; the game doesn't run it. So it's measured by its game-free checks, and by the progress it gives for a real lift.
main:
cf605c85(2026-11-14)this PR: feat/lift-progress @
6b2c63aaHardware: Ryzen 5 5600, 16 GB, Windows 11
Method:
make_game.pyruns it) was fed throughlift_progresswithLIFT_STEPS's weights. The table gives the fraction it reports at each step's end, and when that step ended.python -I -B tests/run_all.py --jobs 4on main and on this PR merged with the other four build PRs of this batch.cf605c856b2c63aacf605c856b2c63aatests/run_all.py --jobs 4Testing
Tested:
tests/test_build_times.pyandtests/test_lift_cleanup_error.py.LIFT_STEPSmatches against the ones the lift prints on current main:coverageand the runtime tables innx2/lift.py;emit and write,big chunks split,patchesandoutput size and page-mark groupsinnx2/chunks.py; and the discovery line.Not tested:
@@progresslines it already shows for other steps.Needs other testers: None.
Screenshots
No screenshot: the bar is the launchers' existing one, which already shows
@@progressfor the other steps. What changes is the values it gets during Translate, in the table under Measurements, from a real lift.Risk and rollback
If the lift's step names change, the bar falls back to holding still during Translate, as on main; nothing fails. Reverting the commit removes the progress.
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above).third_party/untouched (a new folder with aPROVENANCE.mdinstead).If applicable
Assisted-by:/Co-Authored-By:trailers.tests/that reads changed source updated in this PR, not weakened.WIP: feat(build): Translate shows its progress as each of the lift's steps endsto feat(build): Translate shows its progress as each of the lift's steps endsView command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.