[0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
[0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
The unexpected behavior is, that in the upper example the train signal indication logic seems to greedily apply the directionality of the track turning vertical onto the right part of the horizontal track. But only onto the right part.
I would have expected the logic to either be non-greedy and make no assumptions about the directionality of any part of the horizontal track or, if it is greedy, assume that all parts of the horizontal track are unidirectional.
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
I do not see anything wrong here. The train signal placement indicators go by a set of rules, and is just following logic in this case.
The vertical spur in both examples is explicitly signaled to have a one-way southbound train. Which means the horizontal line must be at least one-way westbound before the split.
Once you signal the horizontal tracks to be two-way, they behave as expected.
The vertical spur in both examples is explicitly signaled to have a one-way southbound train. Which means the horizontal line must be at least one-way westbound before the split.
Once you signal the horizontal tracks to be two-way, they behave as expected.
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
Why isn't the whole horizontal in the upper example also treated as bidirectional?
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
I think because of this:
The undefined segment (straight) ends at the join with the curve
The undefined segment (straight) ends at the join with the curve
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
Yes, the unidirectional track ends there. -> Why also assume, that the right side of the horizontal track, which leads up to that fork, is unidirectional? Does that mean, that all track, which is before the fork, is assumed to be unidirectional?
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
While experimenting a bit further, I found this example of another obscure assumption:
Here the track turning vertical is shown as possible bidirectional (despite its signal), while the left side of the horizontal track is shown to be possible only unidirectional. How so?
All the examples up until this post can be explained by, that the indication logic moves backwards from the signal and applies the possible directionality to all the track leading up to that signal. It also loops around and makes the track section, the signal is on, itself a possible bidirectional. And it makes the left horizontal track a possible unidirectional only.
To me that clearly is nonsensical. But maybe there is some ruleset, where to indicate signals, by which this is correct.
Here the track turning vertical is shown as possible bidirectional (despite its signal), while the left side of the horizontal track is shown to be possible only unidirectional. How so?
All the examples up until this post can be explained by, that the indication logic moves backwards from the signal and applies the possible directionality to all the track leading up to that signal. It also loops around and makes the track section, the signal is on, itself a possible bidirectional. And it makes the left horizontal track a possible unidirectional only.
To me that clearly is nonsensical. But maybe there is some ruleset, where to indicate signals, by which this is correct.
-
- Smart Inserter
- Posts: 1463
- Joined: Sun Jun 15, 2014 11:39 am
- Contact:
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
its looping back on itself and that unidirectional set of track is making what amounts to an overly complicated left turn on the horizontal section.Impatient wrote: ↑Tue Jun 30, 2020 8:33 am While experimenting a bit further, I found this example of another obscure assumption:
train signal indication behavior.jpg
Here the track turning vertical is shown as possible bidirectional (despite its signal), while the left side of the horizontal track is shown to be possible only unidirectional. How so?
All the examples up until this post can be explained by, that the indication logic moves backwards from the signal and applies the possible directionality to all the track leading up to that signal. It also loops around and makes the track section, the signal is on, itself a possible bidirectional. And it makes the left horizontal track a possible unidirectional only.
To me that clearly is nonsensical. But maybe there is some ruleset, where to indicate signals, by which this is correct.
Re: [0.18.34] Greedy train signal indication logic makes invalid assumption or is bugged?
Good question.
As long as the rail segment{block) is undefined -> no signals placed, the behaviour is like this. Lesson: do not place one signal only when you have a track with splits or joins:)
As long as the rail segment{block) is undefined -> no signals placed, the behaviour is like this. Lesson: do not place one signal only when you have a track with splits or joins:)