Dustin Carlino
e5704f4a6d
Prevent many cases of blocks with overlapping geometry or that extend
...
too far, by not trying to trace near railways or cycle-only
bridges/tunnels. This is an imperfect heuristic, but it makes
significant progress in most maps.
2022-01-31 16:03:21 +00:00
Dustin Carlino
0058f99da2
Mechanical rename of TripEndpoint::Bldg to ::Building, mostly to kick off a [rebuild] [release]
2022-01-30 18:27:36 +00:00
Dustin Carlino
638e93c36a
Stop re-exporting stuff from synthpop in sim
2022-01-28 13:13:43 +00:00
Dustin Carlino
f171ddcb73
Get everything to build again...
2022-01-28 13:13:43 +00:00
Dustin Carlino
fefe8f5be2
Swap the traffic counts in the UI
2022-01-27 15:21:21 +00:00
Dustin Carlino
e542011614
More fluid UI for comparing traffic counts -- hotkeys
...
Had to change the API of on_click...
2022-01-27 15:13:24 +00:00
Dustin Carlino
edfd320908
A new generic UI to compare counts from two files.
...
Also moving some of the counts stuff to map_gui, accordingly
2022-01-27 14:26:36 +00:00
Dustin Carlino
be57975a91
Start to shape the LTN impact tool into something more general to plug a
...
demand model into routing and compare throughput before/after some
change.
Add in a bunch of filters for trips. (Most even work!)
2022-01-26 14:17:24 +00:00
Dustin Carlino
cabffc7f47
Similar refactor for ColorDiscrete. Anywhere separately managed a zoomed
...
and unzoomed batch should just migrate to this.
2022-01-26 11:35:40 +00:00
Dustin Carlino
5dfb8f26f0
Refactor ColorNetwork to use ToggleZoomed
2022-01-26 11:31:33 +00:00
Dustin Carlino
dfbd9785f3
While merging adjacent perimeters for the LTN tool, don't proceed if
...
intermediate results can't be turned into a polygon. It'll break
something later. #841
There's a particular bug where a perimeter can be turned into a polygon,
but after collapsing internal dead-ends, it can't.
If we don't do this, the LTN select boundary UI crashes, and reasoning
about block -> neighborhood mappings gets very hairy. I'd like to
address all the root causes of failing to make a polygon, but until
then...
TRADE-OFF: it _really_ slows down the select boundary UI.
2022-01-25 18:12:15 +00:00
Dustin Carlino
9192c6364b
Avoid crash in the blockfinder when merging partitions manually
2022-01-25 14:01:24 +00:00
Dustin Carlino
847ca07bc6
Add the quick-select feature to the blockfinder debugging too
2022-01-25 13:54:30 +00:00
Dustin Carlino
deb775b409
Debug block partitioning by color, to sanity check why some blocks are vanishing when merged
2022-01-25 13:39:40 +00:00
Dustin Carlino
e36337a91f
Use an enum for a more clear API to handle caching temporary
...
pathfinders. Should be no behavior changes yet
2022-01-23 09:37:45 +00:00
Dustin Carlino
e0965db22b
Switch LTN impact to World
2022-01-23 09:37:45 +00:00
Dustin Carlino
c6e26e5e20
Flesh out the LTN impact tool -- calculate impact after, add tooltips
2022-01-23 09:37:45 +00:00
Dustin Carlino
fc705318a9
Start a simple prediction of how vehicle traffic will be affected by an LTN scheme, based on a travel demand model. Super similar to Ungap's equivalent.
2022-01-23 09:37:45 +00:00
Dustin Carlino
2271924d2d
Fix build break from the refactor a moment ago
2022-01-21 14:19:53 +00:00
Dustin Carlino
9c1e04de0c
Refactor Ungap's trip file management, use it in the LTN tool. Now you
...
don't constantly lose the example routes you're trying out
2022-01-21 14:05:48 +00:00
Dustin Carlino
913c4874fe
Fix Ungap's label for unprotected turns -- depends on the driving side
2022-01-21 09:41:36 +00:00
Dustin Carlino
a6cd58346f
Move some misc stuff from game/common to map_gui, so LTN can use it
...
LTN crate builds, and appears to work!
2022-01-18 17:33:04 +00:00
Dustin Carlino
8dc2c68760
Move LTN code from game to its own crate. game crate builds, ltn doesn't
...
quite...
Changes along the way:
- take away the convenient jump to debug mode
2022-01-18 17:33:04 +00:00
Dustin Carlino
a22a38051f
Set up the boilerplate for splitting the LTN tool into its crate
2022-01-18 17:33:04 +00:00
Dustin Carlino
a14d6b3810
Better errors when core Line stuff breaks.
...
... and plumbing it everywhere
2022-01-18 10:26:33 +00:00
Dustin Carlino
bd340a1970
Switch from std::fs to fs_err. When files aren't found, the error message actually includes the path!
2022-01-17 17:30:51 +00:00
Dustin Carlino
cfddc5be1b
Properly clear LTN state when switching maps, even from different apps. [rebuild] [release]
2022-01-16 09:41:50 +00:00
Dustin Carlino
215ca3438d
Color neighborhoods based on quietness (same metric shown in the rat run tab)
2022-01-15 19:04:20 +00:00
Dustin Carlino
973f733d36
Preview cell connectivity from the browse neighborhoods screen
2022-01-15 18:23:13 +00:00
Dustin Carlino
6b79201d21
Fix an edge case for cell connectivity
2022-01-15 18:00:11 +00:00
Dustin Carlino
3a60a465e0
Remove blocks from the current neighborhood, possibly creating a new one
...
The code is quite a mess, but it works...
2022-01-15 17:52:38 +00:00
Dustin Carlino
78a32f28f7
Fix neighborhood colors after adjusting boundaries
2022-01-15 17:15:34 +00:00
Dustin Carlino
e2621c40f4
Speed up the select boundary UI by caching single blocks
2022-01-15 17:04:31 +00:00
Dustin Carlino
c18cc762bb
Finally make the select boundary UI properly update the partitioning as
...
we make changes! So far, just handling "stealing" a block from another
neighborhood. The other neighborhood can wind up being totally deleted.
2022-01-15 16:57:59 +00:00
Dustin Carlino
6376a74c7a
Initially draw the red outline in the LTN select boundary mode
2022-01-15 15:58:45 +00:00
Dustin Carlino
b5e540d588
Fix state management in the LTN tool. Previously, changing maps, then going back to home screen from browse was broken
2022-01-15 15:42:01 +00:00
Dustin Carlino
f82ee8e1fa
Show how many streets in a neighborhood allow through-traffic
2022-01-15 15:32:17 +00:00
Dustin Carlino
2a154bd679
Avoid crashign when drawing cells. Bridges and tunnels can leak out of
...
boundary polygons.
2022-01-14 17:03:19 +00:00
Dustin Carlino
3cf846f870
Include LTN cells in the geojson export. Very slow, but working,
...
implementation
2022-01-13 17:52:56 +00:00
Dustin Carlino
509217b024
Start a simple GeoJSON export for LTNs. Cells are missing.
2022-01-13 15:37:47 +00:00
Dustin Carlino
412e0d585d
Refactor cells -> grid, in preparation to generate cell outlines
2022-01-13 12:56:51 +00:00
Dustin Carlino
c6ec390d0e
Pass around NeighborhoodID when switching between states. This
...
1) will support modifying boundaries and not getting state out-of-sync
2) vastly simplifies switching tabs
2022-01-12 14:55:56 +00:00
Dustin Carlino
cb501933fd
Implement LTN undo/redo... and actually just handle undo, for
...
simplicity, and because repeating an undid (??) action is easy
2022-01-12 14:34:10 +00:00
Dustin Carlino
e0b18d6d07
Organize modal filter code before big changes
2022-01-12 13:55:50 +00:00
Dustin Carlino
6826145de2
Stub out a UI for undo/redo in LTN
...
(Rebuilding panels at the right time is the bulk of the change here)
2022-01-12 13:47:49 +00:00
Dustin Carlino
7d4a377173
Draw cell borders in different styles -- kind of necessary with the only-one-border schemes.
2022-01-12 13:07:35 +00:00
Dustin Carlino
c6787f0a80
Fix an edge case in the only-one-border LTN heuristic
2022-01-12 12:33:55 +00:00
Dustin Carlino
c024a484e3
Fix too-quick push on last commit, and restore the draw streets toggle broken a few commits ago
2022-01-12 12:25:36 +00:00
Dustin Carlino
30fc96bdd0
An automatic LTN heuristic that closes all but one border
2022-01-12 12:23:20 +00:00
Dustin Carlino
47930e714f
Emphasize boundary roads in the browse neighborhood view
2022-01-11 10:35:59 +00:00