Files
NeitzelFXDesigner/docs/manual-input-validation.md
T

3.5 KiB

Manual input validation: standalone and IntelliJ

Status: passed; the stage-2 physical drag/resize validation gate is closed for the tested baseline. Konrad performed the tests with physical mouse input and reported each result in the development conversation on 2026-11-12. This record complements the automated projection checks; it does not turn synthetic events into hardware evidence.

Artifact and environment

  • Source-preserving projection: dfa2dd1; corner-resize correction: b9d59e162f0df20057d50b5d0ec4ef54cc92d73e, on NeitzelFXDesigner main.
  • macOS arm64; host OpenJDK 25.0.5.0.3, JavaFX 26+27 and Scene Builder Kit 26; IntelliJ IU 263.7307.200 with bundled embedding disabled and JavaFX/FXML language support retained.
  • Classpath fixture application on Java 21 / JavaFX 21.0.7, using the recorded corrected NeitzelLib development artifact. Module-path applications additionally pass the automated shared-host checks; no separate human module-path pass is claimed.
  • Disposable Person.fxml with an AnchorPane and two independently editable Card instances. Standalone retest labels: Corner resize retest and Second. IntelliJ labels: Drag me and Second.

Human results

Check Standalone IntelliJ
Drag first Component; release retains position and responsive canvas Passed Passed
Undo/Redo drag with one action each; other Component unchanged Passed Passed
Drag second Component independently; Undo/Redo preserves first Passed Passed
Corner resize first Component; width and height persist together Passed after correction Passed
Corner resize second Component; independent Undo/Redo Passed after correction Passed
Right edge changes only width; bottom edge changes only height Passed Passed
Edge resize persists on release; one-action Undo/Redo Passed Passed
Save and Source/Design switch preserve both declarations and layout Passed Passed
Saved prefWidth/prefHeight survive reopening; selection/resizing still works Passed Passed
IntelliJ Edit menu and keyboard shortcuts undo/redo the drag Not applicable Passed

The original standalone corner gesture persisted only width. Kit emits separate synchronous jobs for each changed dimension; an asynchronous host transaction started after the first notification dropped the second. The correction collects the completed FX event turn into one source-preserving transaction. Both Components were explicitly retested, including save/reopen. See projection implementation.

Gate boundary and remaining evidence

This closes the pending human OS drag/drop and resize gate for stage 2 on this fixture/platform. No additional repetition of the same checklist is required before stage 3. Keep the shared automated regression in both hosts and repeat the affected manual checks when input/projection/host changes warrant it.

It does not qualify every control/container, trackpad/horizontal scrolling, IME, display scaling, other operating systems or IDE versions, packaged releases, or the forthcoming nested/repeated/Table runtime behavior. VoiceOver remains outside the agreed scope. One earlier automated IntelliJ run failed a later save-preservation assertion; the next complete run passed. The assertion now records expected/actual text if it recurs; these human save/reopen passes do not establish its cause.

Next: target-runtime sessions, sizing and Component navigation.