The sim's length, speed, and time constants are absolute, so a galaxy is a different object at every domain size #71
Labels
No labels
burndown-2026-06
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/galaxy-gen#71
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Split out of #70, which chose to raise the scenario test size rather than fix this. That was the right call for landing the stellar-orbit work. This remains worth doing on its own merits.
The problem
disk_rscales with the domain. Most of the constants that interact with it do not. A galaxy at size 50 is not a small picture of a galaxy at size 500 - it is a different physical setup with different ratios everywhere.disk_rat size 50FIELD_SOFTENING_SQASSOCIATION_TIDAL_RADIUS_MAXASSOCIATION_JOIN_RADIUSSN_RADIUSASSOCIATION_BIRTH_RADIUSAt size 50 a stellar association spans a quarter of the disk. At 500 it spans a fortieth. Same constant, entirely different object.
Speeds and times have the same problem:
BIRTH_VCIRC_CAP,ASSOCIATION_ORBIT_SPEED_CAP,ASSOCIATION_BINDING_LIFETIME,ASSOCIATION_TIDAL_GRACE, and the stellar lifetimes are all absolute.Why it matters
The site serves 500 and offers the size as a user control, so people run whatever they like. Any behaviour tuned at one size is a guess at another. #70 hit this directly: a configuration that produced a clean rotating disk at 500 over-concentrated by 7-19x at 150, with the same seeds and the same scenario.
What is already measured
GALAXY_ABL_LENGTH_REFERENCE_SIZEonmainscales the five length constants bysize / reference. Running size 150 scaled to 500, irregular=>spiral, t=3000 (full numbers on #70):vsigconverges toward the reference rather than overshooting it.So scaling lengths alone is directionally right and roughly a third of the answer.
Why only a third
Because lengths are one dimension of three. Under a self-similar scaling, if lengths go as
L, speeds go assqrt(GM/L)and times asL/v. Scaling lengths while leaving the speed caps and the association and stellar lifetimes fixed produces a setup that is self-consistent in neither the old units nor the new ones.What the work is
disk_rwith speeds and times derived from it, so one reference calibration defines every size.v_rot / sigma- within tolerance. That is the property this issue is really about, and nothing currently asserts it.Step 5 is the valuable part. Without it this regresses silently the next time a constant is added.
Sequencing
Not urgent, and deliberately not coupled to #70 - that change already rolls the public site and the two should be reviewable apart. Best done after #70 lands, so the scenario retune happens once against final physics rather than twice.