Current system goes something like this: Render out the text with gaps along the entire way, then remove any that clash afterwords
This is a big problem on small screens, as there are many situations in which a street name could fit if the correct spot was attempted. The current system just blindy attempts spaces based on the repeat rules, and on a small screen it often won't line up with the blank space available.
My theory to get good behavior:
Exclude pathtext from the normal collision checking and make it work out collisions on it's own:
When attempting to render a string of text and it collides with something, calculate exactly how far we need to move in order to not be colliding with that thing
Attempt the new spot+repeatStart (or some other padding variable) to offer some padding.
If we are now colliding with a new object, go to step 1. with the new object
If we have a successful location, offset by repeatGap and try the next object
pathtext's "special" collision checking still needs to honor display="always" and display="never" if they are set.
Current system goes something like this: Render out the text with gaps along the entire way, then remove any that clash afterwords
This is a big problem on small screens, as there are many situations in which a street name could fit if the correct spot was attempted. The current system just blindy attempts spaces based on the repeat rules, and on a small screen it often won't line up with the blank space available.
My theory to get good behavior: Exclude pathtext from the normal collision checking and make it work out collisions on it's own:
pathtext's "special" collision checking still needs to honor display="always" and display="never" if they are set.