Extend atlas seam annotations across load/save and transport
This commit is contained in:
parent
97295d4060
commit
7b44279d7e
7 changed files with 1450 additions and 330 deletions
|
|
@ -32,6 +32,18 @@ The neighboring connection-state note pair now appears
|
|||
currently owns only the `Coming To`, `Going From`, `Current Supply`, `Current Demand`, `--None--`,
|
||||
and `All` legend lanes.
|
||||
|
||||
The shell-side preview arm or clear path above that overlay is explicit now too.
|
||||
`shell_station_detail_clear_active_candidate_service_preview` `0x00504a90` resets the shared
|
||||
`(station id, candidate id)` pair, drops the local preview latch at `[window+0x7c]`, decrements
|
||||
the sibling global refcount `0x0062be84`, and on matching live world-preview state tails into
|
||||
`world_clear_aux_preview_mode_0x2171_and_overlay_companion_live_flag` `0x00452d30`.
|
||||
`shell_station_detail_set_active_candidate_service_preview` `0x00504ae0` first clears any prior
|
||||
preview, then for a nonzero candidate id pushes the current station and candidate through the
|
||||
world-side setter strip `0x00452f60`, `0x00452d80`, `0x00452db0`, and `0x00452ca0` before
|
||||
latching `[window+0x7c]`, incrementing `0x0062be84`, and storing the active pair back into
|
||||
`0x005ee4fc/0x005ee500`. That closes the shell-to-world preview seam end-to-end: row callbacks
|
||||
arm or clear one explicit candidate pair, and the world-side overlay consumes exactly that pair.
|
||||
|
||||
That formatter boundary is tighter now too. `0x004207d0` returns `0` immediately when preview-global
|
||||
`0x0062be84` is armed, forwards directly into the shared fallback formatter `0x00455860` when
|
||||
subtype dword `[this+0x23e]` is nonzero, and only otherwise runs its own connection-status path. On
|
||||
|
|
@ -110,11 +122,15 @@ The reusable bridge between the status formatter and the
|
|||
filters and scores candidate city entries, re-enters the same shared heavy builder through
|
||||
`city_connection_try_build_route_between_region_entry_pair` `0x00404c60` for the dense pair
|
||||
sweep and the final retry, and then publishes `2889` `%1 has started a new company - the %2`
|
||||
or `2890` `%1 has connected %2 to %3.` through the shell news path. The remaining open edge on
|
||||
this branch is therefore narrower now: it is mostly whether `0x39` should be read as the
|
||||
narrower city-connection public-opinion lane or as part of a broader management-attitude family,
|
||||
not the ownership of the connection-bonus formatter, peer-route candidate path, or company news
|
||||
gate.
|
||||
or `2890` `%1 has connected %2 to %3.` through the shell news path. Wider governance and shell
|
||||
xrefs now close that last `0x39` ambiguity too: `company_compute_prime_rate_from_issue39_scenario_baseline`
|
||||
`0x00424580`, the `CompanyDetail` and bond-side notes, and the already-grounded
|
||||
`Prime Rate` label family all point at the same metric, so this city-connection branch is
|
||||
reusing the explicit issue-`0x39` prime-rate lane rather than a separate public-opinion or
|
||||
management-attitude family. The local static seam on this branch is therefore closed: `0x39`
|
||||
itself is no longer ambiguous here, and the remaining work is only how much of the wider
|
||||
company-start or city-connection ladder above that helper should be described as
|
||||
recent-profit/fuel-burden pressure versus the already-grounded prime-rate term.
|
||||
|
||||
The ordinary `StationDetail.win` caller strip is tighter now too. In the non-scenario, non-class
|
||||
`3/4` branch, `shell_station_detail_window_refresh_controls` `0x00506610` rebuilds the nearby-site
|
||||
|
|
@ -129,8 +145,67 @@ nearby-site helper has a similarly concrete split now: for each of the fixed fiv
|
|||
counts entries through `0x0047dc90`, emits the descriptive text block through `0x0051b700 ->
|
||||
0x0053f9c0`, and then builds the paired jump-control payload through `0x0053b070 -> 0x0055a040 ->
|
||||
0x0053f9c0`, with text rows under `0xb40a..0xb40e` and jump controls under `0xb410..0xb414`. So
|
||||
the remaining uncertainty in the ordinary branch is no longer the ownership of those lanes; it is
|
||||
the broader user-facing meaning of later callers above the row callbacks.
|
||||
the local static seam in the ordinary branch is closed: the ownership of those lanes now belongs
|
||||
to the concrete refresh helpers named here, and the remaining work is only the broader
|
||||
user-facing meaning of later callers above the row callbacks.
|
||||
The helper strip directly beneath that ordinary branch is explicit now too.
|
||||
`shell_station_detail_clear_dynamic_rows_and_haul_widgets_if_dirty` `0x005042c0` uses dirty latch
|
||||
`0x006d16f0` plus the live window singleton `0x006d16d8` to clear the candidate-service and
|
||||
nearby-site row bands `0xb414..0xb5a3`, `0xb40a..0xb413`, and `0xb400..0xb409`, then disables the
|
||||
paired haul controls `0xb3f6` and `0xb3f7` before resetting the latch. The current-subject gates
|
||||
above the lower action strip are tighter in the same way:
|
||||
`shell_station_detail_has_valid_selected_station` `0x00504370` is the narrow selected-station
|
||||
presence probe over detail-manager state `[0x006d0818+0x90]`, while
|
||||
`shell_station_detail_selected_station_belongs_to_selected_company` `0x00504390` resolves that same
|
||||
station and compares its linked company through `placed_structure_query_linked_company_id`
|
||||
`0x0047efe0` against the active selected company from `0x004337a0`. The ownership-blocked modal
|
||||
above that gate is explicit too:
|
||||
`shell_station_detail_present_selected_station_not_controlled_notice` `0x005043f0` formats
|
||||
localized id `3595` with the owning railroad name when that owner resolves and otherwise falls back
|
||||
to the empty-string root before opening the standard shell message-box path at `0x004c98a0`. One
|
||||
remaining local helper is no longer anonymous either:
|
||||
`shell_station_detail_refresh_class_partitioned_action_controls_0xb3bb_to_0xb3bf` `0x005044b0`
|
||||
restyles the lower action controls into affordance states `0x65` or `0x87` according to the linked
|
||||
candidate class byte `[candidate+0x8c]`, keeping `0xb3bb/0xb3bd/0xb3be` active only for class `0`
|
||||
and `0xb3bc/0xb3bf` active only for class `1`. That closes the helper seam beneath
|
||||
`shell_station_detail_window_handle_message` `0x00505e50` and
|
||||
`shell_station_detail_window_refresh_controls` `0x00506610`: the remaining work in this branch is
|
||||
above those message and refresh owners, not inside the lower helper strip itself. One layer higher,
|
||||
the lower action dispatch is no longer opaque either. In the message-`0xcb` path,
|
||||
`shell_station_detail_window_handle_message` first reduces the clicked control to one small family
|
||||
split: `0xb3bd` selects family `1`, while the sibling controls select family `2`. It then reduces
|
||||
linked-site flag bits `[entry+0xc3]` to one action index `0..5` and resolves the resulting
|
||||
`(action_index, family)` pair through
|
||||
`aux_candidate_collection_find_entry_id_by_station_detail_action_index_and_family` `0x00419590`,
|
||||
which formats one localized action stem from the fixed tables at `0x005f3c6c/0x005f3c80` and scans
|
||||
the auxiliary candidate pool `0x0062b2fc` for the first matching stem at `[entry+0x04]`. Only
|
||||
after that auxiliary id resolves does the branch enter the deeper world-side validation owner
|
||||
`placed_structure_validate_station_detail_aux_candidate_action_and_optionally_apply_linked_site_mutation`
|
||||
`0x0040dc40` plus the two confirmation-modal branches rooted at localized ids `0x0bfe` and
|
||||
`0x0bff`. The constructor-side special-action strip is explicit now too:
|
||||
`shell_station_detail_window_construct` `0x005068c0` wires action controls `0xb3b7/0xb3b8`,
|
||||
navigation controls `0xb3b3/0xb3b4`, and helper roots `0x006d16dc..0x006d16ec`; then it restyles
|
||||
special control `0xb3f8` with one exact three-way split. When editor-map latch `[0x006cec74+0x68]`
|
||||
is clear, `0xb3f8` is forced to style `0x87`. When that latch is set and scenario slot
|
||||
`[0x006cec78+0x4af7]` is nonzero, the same control takes style `0x74` if selected-station byte
|
||||
`[station+0x5c9]` is nonzero and style `0x65` otherwise. So that control is no longer just “some
|
||||
editor or scenario action”; the local branch now grounds it as one editor-gated, scenario-gated,
|
||||
selected-station-special-case affordance under the main StationDetail constructor. That deeper
|
||||
owner then continues into
|
||||
`0x0bff`. That deeper owner is no longer just a black box either: it first requires the linked peer
|
||||
at `[site+0x2a8]` to pass the station-or-transit class gate, resolves the auxiliary candidate,
|
||||
computes one projected scalar cost from candidate field `[candidate+0x22]`, owner company
|
||||
`[site+0x276]`, current world coords, and scenario-side scale owner `0x00436590(0x3b, ...)`, and
|
||||
returns that scalar through the optional out-float. When the caller supplies the optional notice
|
||||
sink and the current owner company exists, the helper compares that scalar against company metric
|
||||
`(0x0d, 0x2329)` and on failure formats localized notice `0x0b52` before returning. The success
|
||||
side is tighter too: it materializes one packed projected-cell list through `0x00417840`, runs the
|
||||
shared placement validator `0x004197e0`, restores the temporary compact-grid replay bits through
|
||||
`0x004142c0/0x004142d0`, and only then commits the linked-site mutation through
|
||||
`0x0040d1f0`, `0x00480710`, `0x0045b160`, `0x0045b9b0`, `0x00418be0`, and `0x0040cd70`, posting
|
||||
the signed scalar into the owner company through `0x0042a040` and accumulating the running total
|
||||
in `[site+0x27a]`. So the lower action band is now grounded as a real validate-or-apply linked-site
|
||||
mutation path with an explicit affordability notice branch, not just one anonymous modal gate.
|
||||
#### Route-list side
|
||||
|
||||
The neighboring helper
|
||||
|
|
@ -138,9 +213,10 @@ The neighboring helper
|
|||
append-if-missing builder for the six-byte route-entry list rooted at `[site+0x462]` and
|
||||
`[site+0x466]`. One tighter boundary closes the overlay-side uncertainty further: the directional
|
||||
overlay query at `0x0047e690` only consumes the leading `u16` peer-site key when it walks that
|
||||
list and does not currently read the trailing `u32` companion payload at all. So the remaining
|
||||
uncertainty is no longer route-list ownership or overlay dependence on that payload; it is only
|
||||
the broader meaning of the payload for other caller families.
|
||||
list and does not currently read the trailing `u32` companion payload at all. So the local
|
||||
overlay-side seam is closed: route-list ownership and overlay dependence on that payload are no
|
||||
longer open here, and the remaining work is only the broader meaning of the payload for other
|
||||
caller families.
|
||||
#### Route-entry and Cache Side
|
||||
|
||||
The adjacent helper strip is tighter now too.
|
||||
|
|
@ -179,6 +255,6 @@ The nearby linked-instance raster wrappers are no
|
|||
`0x0047f0e0` and
|
||||
`placed_structure_resolve_linked_instance_secondary_raster_class_record_via_world_query`
|
||||
`0x0047f1f0` now bound the two record-returning lanes used by the later world-side and
|
||||
linked-peer filters. That means the remaining uncertainty in this neighborhood is no longer the
|
||||
route-entry or terrain-class helper ownership; it is the broader user-facing meaning of the later
|
||||
callers that consume those gates.
|
||||
linked-peer filters. So the local static seam in this neighborhood is closed too: route-entry and
|
||||
terrain-class helper ownership are no longer open here, and the remaining work is only the
|
||||
broader user-facing meaning of the later callers that consume those gates.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue