mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-10-19 05:42:58 +02:00
Etappen 3 to 6a of the migration (129 commits). Every window the operator sees is Compose; the JavaFX ones still exist beside them so the two could be compared against a live session, which is the only way the differences came to light. The toolchain first, then the settings window with its eleven tabs and 72 real preferences; then the multi-column table as a component, and with it the rules it needs -- stable row identity, a selection that survives a refresh, column order the operator can drag, and a repaint when the rows change rather than when the list instance does. Then the update and monitor windows, and the main window: 22 station columns, the filter bar, the selected-station panel, the message tabs, the priority bar, the sked controls, the status indicators and the timeline, assembled behind a splitter because Compose has none. The map stops being a WebView. A Compose canvas projects WebMercator tiles itself, with the clustering in core and an asynchronous fetcher in place of the local tile proxy; derive() becomes a pure Kotlin reimplementation instead of a reflection call into com.sun.javafx. Most of the volume here is parity the operator would notice rather than new behaviour: desktop density instead of Material's phone minimums, colours taken from the JavaFX stylesheets instead of Material's palette, row dividers, band columns, grid-square labels and their colours, the home marker and antenna beam, pinch-to-zoom under Wayland, and layouts that survive a window narrower than the chart they stack. Two lessons are worth more than the diff. A control bound to a value Compose cannot observe writes through and never redraws -- that one shipped repeatedly with a green build, because no test drew anything. And a layout that clips instead of wrapping is worse than one that is merely too narrow: half a word is the worst available outcome.
68 lines
799 B
Plaintext
68 lines
799 B
Plaintext
# Fleet IDE
|
|
.fleet
|
|
|
|
# Intellij
|
|
.idea
|
|
*.iml
|
|
|
|
# Eclipse
|
|
.project
|
|
.classpath
|
|
|
|
# Maven
|
|
target
|
|
|
|
|
|
debug.out
|
|
.DS_Store
|
|
|
|
#Logfiles
|
|
SimpleLogFile.txt
|
|
udpReaderBackup.txt
|
|
|
|
# Runtime/debug logs
|
|
Messagehistory.raw
|
|
Messagehistory-*.raw
|
|
kst4contest-errors.log
|
|
kst4contest-errors.log.lck
|
|
|
|
#tempfiles
|
|
.idea/
|
|
out/
|
|
|
|
#targetfiles - mvn wrapper
|
|
target/
|
|
|
|
#builds
|
|
build/
|
|
|
|
#pdf output directory
|
|
dist/
|
|
|
|
#zip files for local backups
|
|
*.zip
|
|
|
|
# node Modules in website
|
|
website/node_modules/
|
|
|
|
# built website output (rebuilt on the server)
|
|
website/_site/
|
|
|
|
# Local secrets for act testing
|
|
.secrets
|
|
|
|
# Apple notarization private keys - never commit these
|
|
*.p8
|
|
|
|
# Gradle
|
|
.gradle/
|
|
build/
|
|
core/build/
|
|
app-desktop/build/
|
|
|
|
# Agent scratch area - screenshots, notes, throwaway scripts
|
|
scratch/
|
|
|
|
# Kotlin incremental build data
|
|
.kotlin/
|