Add bypass routing and car train terminal to Praha XML#347
Add bypass routing and car train terminal to Praha XML#347
Conversation
|
bedaHovorka
left a comment
There was a problem hiding this comment.
changed swiches orientation (segments?)
Fixed in commit 790a7b0. Changed switch at (52,20) from SIMPLE_RIGHT_FALSE to SIMPLE_RIGHT_TRUE to allow diverging to the car train terminal. Removed the duplicate switch at (52,22) - the diverge is now correctly handled by the switch at (52,20) using segment D. |
This comment was marked as outdated.
This comment was marked as outdated.
bedaHovorka
left a comment
There was a problem hiding this comment.
The failing job ran 1849 tests, with 8 failures causing the Gradle :test task to fail. The workflow itself is correctly configured to run with Kotlin 2.0 and Java 21, and the tests are executed via ./gradlew test --no-daemon --warning-mode=all --stacktrace.
Solution steps:
-
Identify Failing Tests
Review the test failure details in the report at build/reports/tests/test/index.html. Since the file could not be retrieved here, check the artifact or the job logs for failure stack traces. -
Common Issues and Fixes
- If failures involve "Invalid Attribute Values" or "Missing Required Attributes" in XML-related tests, ensure that all required XML attributes are present and valid in your test data.
- For equality or construction test failures (e.g., testEquality, testConstruction), verify the implementation of equals(), constructors, and field initializations for possible changes that might break test expectations.
- For enum or type checking tests, ensure all enum/attribute values used in tests and sample data are defined and valid.
- Example Fix for a Missing XML Attribute Failure:
If a test fails due to a missing attribute, update your XML test data:
<!-- Before -->
<TrackBlock id="tb01" />
<!-- After -->
<TrackBlock id="tb01" length="1000" />- Rerun Tests
After applying fixes, push your commit. The workflow will automatically rerun and should pass if the above issues are corrected.
If you need the exact stack trace or test names, open the build/reports/tests/test/index.html artifact in your branch or PR run.
Summary:
- Review the failing test details in the test report artifact.
- Fix missing/invalid attributes, enum values, or constructor logic as revealed by failed tests.
- Re-run the workflow after fixes.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@copilot please rebase onto current develop |
Rebased onto current develop (095c193) in commits 4c71f35 through ab0a614. The Praha XML changes are now on top of the latest develop, which includes the multiplatform Resources API migration (#461). The Praha fixture moved from desktop-ui to core-test during the rebase, and all changes are preserved. |
…alidation (#347) - Exact element counts (12 InOuts, 41 switches, 56 signals, 111 blocks) - N-Bypass and S-CarTrain InOut presence and orientation - Bypass route navigability (N-Bypass → S-Bypass) - Car train terminal reachability via bypass corridor - Switch orientation domain correctness at (6,20) and (52,20) - Fix XML: add RailSemaphore at (52,22) as required node cell for track block endpoint - Fix XML: resolve duplicate segment-A conflict at (16,20) via segment B for diagonal approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30457e4 to
fd02349
Compare
bedaHovorka
left a comment
There was a problem hiding this comment.
only one praha-hlavni-nadrazi.xml in codebase - no duplicates please
Fixed in commit d38e3eb. Removed duplicate from desktop-ui/src/test/resources/. Only one copy now exists in core-test/src/commonMain/resources/ (the correct location after the multiplatform Resources API migration). All 52 XMLContextFactoryTest tests pass. |
…alidation (#347) - Exact element counts (12 InOuts, 41 switches, 56 signals, 111 blocks) - N-Bypass and S-CarTrain InOut presence and orientation - Bypass route navigability (N-Bypass → S-Bypass) - Car train terminal reachability via bypass corridor - Switch orientation domain correctness at (6,20) and (52,20) - Fix XML: add RailSemaphore at (52,22) as required node cell for track block endpoint - Fix XML: resolve duplicate segment-A conflict at (16,20) via segment B for diagonal approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
d38e3eb to
259cefe
Compare
…alidation (#347) - Exact element counts (12 InOuts, 41 switches, 56 signals, 111 blocks) - N-Bypass and S-CarTrain InOut presence and orientation - Bypass route navigability (N-Bypass → S-Bypass) - Car train terminal reachability via bypass corridor - Switch orientation domain correctness at (6,20) and (52,20) - Fix XML: add RailSemaphore at (52,22) as required node cell for track block endpoint - Fix XML: resolve duplicate segment-A conflict at (16,20) via segment B for diagonal approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
259cefe to
93756c4
Compare
…alidation (#347) - Exact element counts (12 InOuts, 41 switches, 56 signals, 111 blocks) - N-Bypass and S-CarTrain InOut presence and orientation - Bypass route navigability (N-Bypass → S-Bypass) - Car train terminal reachability via bypass corridor - Switch orientation domain correctness at (6,20) and (52,20) - Fix XML: add RailSemaphore at (52,22) as required node cell for track block endpoint - Fix XML: resolve duplicate segment-A conflict at (16,20) via segment B for diagonal approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
93756c4 to
322dcf6
Compare
…alidation (#347) - Exact element counts (12 InOuts, 41 switches, 56 signals, 111 blocks) - N-Bypass and S-CarTrain InOut presence and orientation - Bypass route navigability (N-Bypass → S-Bypass) - Car train terminal reachability via bypass corridor - Switch orientation domain correctness at (6,20) and (52,20) - Fix XML: add RailSemaphore at (52,22) as required node cell for track block endpoint - Fix XML: resolve duplicate segment-A conflict at (16,20) via segment B for diagonal approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
322dcf6 to
65aefb4
Compare
Co-authored-by: bedaHovorka <5263405+bedaHovorka@users.noreply.github.com>
Co-authored-by: bedaHovorka <5263405+bedaHovorka@users.noreply.github.com>
…e duplicate at (52,22) Co-authored-by: bedaHovorka <5263405+bedaHovorka@users.noreply.github.com>
…erge switch Added inline XML comment at (52,20) switch to explain why it uses SIMPLE_RIGHT_TRUE while other south layer-3 merge switches use SIMPLE_RIGHT_FALSE: this switch needs segment D accessible for the Y=22 car-train terminal siding track (added in this PR). Addresses review feedback "changed switches orientation (segments?)". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…alidation (#347) - Exact element counts (12 InOuts, 41 switches, 56 signals, 111 blocks) - N-Bypass and S-CarTrain InOut presence and orientation - Bypass route navigability (N-Bypass → S-Bypass) - Car train terminal reachability via bypass corridor - Switch orientation domain correctness at (6,20) and (52,20) - Fix XML: add RailSemaphore at (52,22) as required node cell for track block endpoint - Fix XML: resolve duplicate segment-A conflict at (16,20) via segment B for diagonal approach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
65aefb4 to
2af9e91
Compare
|



Praha Hlavní Nádraží configuration forced all north trains through platform zone and lacked car train terminal infrastructure.
Changes
North Bypass Route (Y=20)
Direct north-south routing avoiding platform congestion:
Car Train Terminal (Y=22)
Peripheral siding for car-carrying trains (autovlaky):
XML Structure
Impact
Grid (70x25) and platform zone (Y=4-18) unchanged. All existing elements preserved.
Switch Orientation Fix
The switch at (52,20) was corrected to Type=SIMPLE_RIGHT_TRUE (diverging switch) to properly handle both the straight-through route to S-Bypass and the diverge route to the car train terminal. This follows the standard pattern where a single switch handles diverging paths using different segments (F for straight, D for diverge).
Documentation:
docs/PRAHA_SWITCH_IMPROVEMENTS.mdOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.