95: EMC: Display Perps positions in a tree table using dummy data

This commit is contained in:
2026-10-19 12:51:37 +02:00
parent cc7003ac94
commit 34bf8faaf9
8 changed files with 260 additions and 1 deletions
@@ -0,0 +1,28 @@
# Verification
Verified 2026-10-19 against Gitea issue #95.
## Build and existing checks
- `JAVA_HOME=/usr/local/software/java/jfx-25 ./gradlew build` — passed, including normal Detag generation, compilation, packaging, and existing tests.
- Existing suite: 42 tests across six suites, zero failures, errors, or skips. No new automated tests were added.
- Repeated build after switching the display amount to the existing `ΩAmountΩ` tag — passed; generated Java remained identical and compilation/tests were up-to-date.
- `openspec validate 95-display-perps-sample-positions --strict` — passed.
- `git diff --check` — passed.
## Isolated JavaFX inspection
A temporary preview outside the repository constructed the actual `PerpsTab` in nested Production/Test tabs in a 600 × 400 JavaFX scene, rendered snapshots, changed expansion/selection, and scrolled the table. The operational Hub and its services were not started.
- Inspected expanded, selected, scrolled, collapsed-group, and Test snapshots. Column headings and USD values are readable; the notice wraps without clipping and identifies Phoenix as illustrative.
- Eight positions appear under two wallets and four venue groups (14 visible tree rows when expanded). Both venues have multiple Long/Short samples.
- Position rows are faint green/red. Selected rows retain native selection styling and readable direction text.
- Collapsing wallet A reduces visible rows from 14 to eight; Test remains at 14 rows, confirming independent trees.
- Collapsing all venues leaves six group rows with blank direction/size cells and no residual direction colors after row reuse.
- Scrolling exposes the remaining positions with correct colors, directions, and sizes.
This verifies rendered scenes and programmatic control behavior. Mouse/keyboard operation in the running EMC application was not exercised.
## Scope review
Implementation consists of the new package-private EMC `PerpsTab` and one placeholder replacement in `EvelynMissionControlImpl`. Source review confirms no Refresh control, network calls, service changes, sample refresh timeline, public API changes, configuration changes, or dependency changes. Changes remain local and uncommitted for owner review; the OpenSpec change remains active.