Skip to content

Correct Goal 7 documentation for kDisco-based speed control#494

Merged
bedaHovorka merged 7 commits intocopilot/goal-7-simulation-speed-controlfrom
copilot/update-long-term-goals-md
May 7, 2026
Merged

Correct Goal 7 documentation for kDisco-based speed control#494
bedaHovorka merged 7 commits intocopilot/goal-7-simulation-speed-controlfrom
copilot/update-long-term-goals-md

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 7, 2026

Goal 7 in LONG_TERM_GOALS.md described simulation speed control as a native capability of the simulation engine. This updates the goal text to reflect the current architecture and marks Goal 7 as completed.

  • Goal 7 correction

    • Replaced the misleading claim that the underlying simulation library already provides speed control.
    • Clarified that the simulation-library interface (historically jDisco, now kDisco/KMP) runs in pure simulation time and has no native wall-clock synchronization.
  • Architecture alignment

    • Documented the current two-mechanism reality explicitly.
    • Clarified that the production speed-control path for ShuntingLoop uses RealTimeSynch inside sim/ShuntingLoop.kt.
    • Clarified that SimulationRunner.throttle() remains the external extension point for wall-clock throttling outside the simulation engine.
  • Goal status

    • Added **Status:** ✅ COMPLETE to Goal 7.
  • PR scope cleanup

    • Reverted an unrelated change in core/src/jvmTest/kotlin/cz/vutbr/fit/interlockSim/sim/TrainPathInteractionTest.kt so this stacked PR stays focused on the Goal 7 documentation update.
**Implementation Notes:**
- The simulation library interface used by the model (historically jDisco, now kDisco/KMP) runs in pure simulation time and has no native wall-clock speed control or synchronization.
- For the current `ShuntingLoop` production path, wall-clock pacing is implemented inside `sim/ShuntingLoop.kt` via `RealTimeSynch`.
- `SimulationRunner.throttle()` remains the external extension point for wall-clock throttling around simulation execution in callers that choose to use it.

Copilot AI linked an issue May 7, 2026 that may be closed by this pull request
8 tasks
Copilot AI changed the title [WIP] Fix LONG_TERM_GOALS.md correction for jDisco capabilities Correct Goal 7 documentation for kDisco-based speed control May 7, 2026
Copilot AI requested a review from bedaHovorka May 7, 2026 06:24
@bedaHovorka bedaHovorka marked this pull request as ready for review May 7, 2026 06:27
@bedaHovorka bedaHovorka requested a review from Copilot May 7, 2026 06:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Goal 7 (“Simulation Speed Control”) documentation in LONG_TERM_GOALS.md to correct the description of how speed control is intended to work, clarifying that the simulation engine runs in pure simulation time and that wall-clock pacing is applied externally.

Changes:

  • Replaced the prior claim that the simulation library “already supports speed control” with an explanation of pure simulation-time execution.
  • Documented wall-clock throttling via SimulationRunner around SimulationContext.run() as the intended speed-control mechanism.

Comment thread LONG_TERM_GOALS.md Outdated
bedaHovorka

This comment was marked as duplicate.

Copy link
Copy Markdown
Owner

@bedaHovorka bedaHovorka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add notice about that is Goal 7 completed

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 7, 2026

add notice about that is Goal 7 completed

Added in 4732543 — Goal 7 in LONG_TERM_GOALS.md now includes **Status:** ✅ COMPLETE.

Copilot AI requested a review from bedaHovorka May 7, 2026 07:26
Copilot AI and others added 6 commits May 7, 2026 11:42
Agent-Logs-Url: https://github.com/bedaHovorka/interlockSim/sessions/377a2ef7-bc5a-45a9-a471-74d5fad657c6

Co-authored-by: bedaHovorka <5263405+bedaHovorka@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bedaHovorka/interlockSim/sessions/a66e1723-36d6-4c44-8d1f-8ca5cd450ddc

Co-authored-by: bedaHovorka <5263405+bedaHovorka@users.noreply.github.com>
RealTimeSynch lives in sim/ShuntingLoop.kt (not outside sim/);
SimulationRunner.throttle() is the external extension point but
ShuntingLoop does not call it in production.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Commit 6946b37 fixed tests 4 and 5 but missed test 2, which still had
the same `val x = train != null; assertThat(x).isEqualTo(true)` pattern.
Also removes unused mock variables in tests 2, 4, 5 that were never
wired into assertions (`pathAhead`, `blockedTrack`, `pathBlocked`,
`semaphore`, `track`, `pathUnblocked`).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@bedaHovorka bedaHovorka force-pushed the copilot/update-long-term-goals-md branch from 270e173 to 7142fa0 Compare May 7, 2026 09:44
Copilot AI requested a review from bedaHovorka May 7, 2026 09:56
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 7, 2026

@bedaHovorka bedaHovorka merged commit 31ddfc9 into copilot/goal-7-simulation-speed-control May 7, 2026
10 of 12 checks passed
@bedaHovorka bedaHovorka deleted the copilot/update-long-term-goals-md branch May 7, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Phase 5.2: LONG_TERM_GOALS.md Correction

3 participants