Skip to content

Frontend UI interaction debt (races, Display/Operate copy, analysis/settle) #228

Closed

Description

@SchrodingersCattt

Tracking issue for frontend UI interaction debt that is still live after #175 / #168 and the Camera WebGL rename fix in #226.

Scope: operator-facing UX (races, misleading copy, panel placement, settle). Not GPU (#161) or benches (#129).

Related open architecture issue: #163 (Display / Operate / Analysis separation). That issue frames the desired model; several items below are the concrete UI symptoms.


Scenes / tabs

Camera / projection

Display vs Operate (feeds #163)

  • high 「Display Transforms」 lives under the Operations page (copy contradicts the Display/Operate split) — #233 (f54322d1)
  • high Enabling repeat points users at a nonexistent 「Operation → Structural section」 — #234 (4a3c6b9a)
  • medium Structural capabilities are still listed while remaining planned-only — #234 (4a3c6b9a)

Analysis panel

  • medium Analysis owns color / visibility, and is often blocked by topology_enabled — #235 (2edd75a3)
  • medium Transform may auto-jump formula_unit → unit_cell (jarring) — #236 (e5fcb620)

Latency / state


Notes

Activity

  1. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    Review rollup (Part of #228 batch)

    PR Verdict CI Note
    #229 approve-ready 9/9 agent-state-poll keeps in-flight edits
    #230 approve-ready 8/9 (WebGL running) scene-tab density CSS
    #231 approve-ready 9/9 ortho settle — merge before #232
    #232 needs-changes red callbacks_view.py 1005>1000; WebGL ortho radio click noop
    #233 approve-ready 9/9 Display Transforms → Display tab; before #234/#236
    #234 approve-ready 9/9 hide unimplemented structural ads
    #235 approve-ready 9/9 polyhedra/analysis without topology overlay
    #236 approve-ready 8/9 (WebGL running) keep formula_unit on transform add-row
    #237 approve-ready partial (Full+WebGL running) busy pill releases on Dash request end

    Merge order hints: #231 → then fix/rebase #232; #233 → #234 / #236; #229 before or with #230; #235 / #237 independent.

    COMMENT reviews posted on each PR head (no self-APPROVE).

  2. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    Follow-up snapshot (Asia/Shanghai ~20:30 Oct 25)

    Re-checked open #229–#237. All nine still open, mergeable_state=clean, draft=false, CI 9/9 on current heads (including Camera WebGL).

    PR head prior → current action
    #229 43eaca7 approve-ready → approve-ready re-reviewed (scene_controls extract)
    #230 4c1c3fe approve-ready unchanged; CI caveat cleared
    #231 ba48101 approve-ready → approve-ready re-reviewed (frame fence / hung queue)
    #232 83059a2 needs-changes → approve-ready re-reviewed: callbacks_view.py 981 lines + WebGL ortho radio green
    #233 fb25d18 approve-ready unchanged
    #234 7d116ad approve-ready unchanged
    #235 912fa5a approve-ready → approve-ready re-reviewed (overlay drawing gates)
    #236 8262a9e approve-ready → approve-ready re-reviewed; CI caveat cleared
    #237 4ed86ba approve-ready → approve-ready re-reviewed; CI caveat cleared

    No remaining needs-changes. Suggested merge order unchanged: #231 → #232; #233 → #234 / #236; #229 before or with #230; #235 / #237 independent.

  3. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    Squash-merge status (Part of #228)

    Authorized by user 「合吧」. Order used: #231 → #232 → #233 → #234 / #236 → #229 → #230 → #235 → #237 (blocked).

    PR Title (short) Squash SHA Result
    #229 Keep in-flight sidebar edits ahead of the state poll 7f65235e merged
    #230 Keep crowded scene tabs readable in a narrow sidebar 8029231e merged
    #231 Keep commanded orthographic projection through frame settle dd1d93f3 merged
    #232 Mirror projection onto the camera and the active scene radio d41eb10b merged
    #233 Move Display Transforms into the Display tab f54322d1 merged
    #234 Stop advertising structural operations that are not implemented 4a3c6b9a merged
    #235 Keep polyhedron editing and analysis available when the overlay is off 2edd75a3 merged
    #236 Keep formula unit when the transform buttons add a row e5fcb620 merged
    #237 Release the status bar as soon as a Dash request finishes — not merged — Camera WebGL red on head 19b9b3fd after update onto #235; test_semantic_atom_click_survives_gl_fallback (page.waitForFunction Timeout 30000ms). Job: 121186799781. Did not force-merge.

    Checklist update

    Checked: Scenes (poll overwrite / in-flight via #229; tab crowding #230); Camera (#231, #232); Display vs Operate (#233, #234×2); Analysis (#235, #236).
    Left open: Latency broader agent-state-poll races; figure settle / busy pill (#237 pending green CI).

    Main tip after #235: 2edd75a38fafd71ecb7230aa5149f5b0b57e69e6.

  4. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    Latency update

    #242 opened for the remaining high agent-state-poll / tab-switch / edit race (head 39305c28). Review: approve-ready pending full CI (5/9 green at first look; Full tests + Camera WebGL still running).

    Still open after that: figure settle / busy pill via #237 (WebGL fix in flight).

  5. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    #237 update

    #237 pushed 6136989 — Camera WebGL selection/rebuild race fix (gesture ts, remount keep-click, appearance reload). Status-bar release unchanged. Local WebGL 27 passed; GHA re-running. Review: approve-ready pending 9/9.

    Also open: #242 for the broader poll/tab race.

  6. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    #237 CI

    #237 head 6136989: CI 9/9 green (incl. Camera WebGL). mergeable_state=clean. Awaiting merge authorization.

  7. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    #242 CI

    #242 head 39305c28: Camera WebGL red (other 8 checks green).

    Failures look settle/fence related, not the old selection race:

    • test_orthographic_unit_cell_drag_keeps_dap4_visible — ortho camera never arrives (radio stuck perspective; many staleDrops / cameraStale)
    • test_projection_radio_follows_scene_and_rejects_stale_store — tab ionic_nacl did not paint
    • test_mixed_projection_and_opacity_update_reaches_the_canvas (ws+http) — initial scene never settled
    • test_duplicate_and_rename_scene_controls_update_canvas / test_visible_mesh_and_bfdh_faces_share_native_picking — timeouts

    Sending the #242 agent back to diagnose whether the poll fence is over-dropping camera/view updates.

  8. SchrodingersCattt commented on Oct 25, 2026

    @SchrodingersCattt
    OwnerAuthor

    #242 CI

    #242 head e31b32a: CI 9/9 green (incl. Camera WebGL). Root cause was gen-0 fence never releasing → state polls blank for the page lifetime. mergeable_state=clean. Awaiting merge authorization.

    Also still open/green: #237 (6136989).

  9. SchrodingersCattt commented on Oct 26, 2026

    @SchrodingersCattt
    OwnerAuthor

    Latency closed via merges (2026-10-26 Asia/Shanghai)

    • #237 squash-merged as 4ecc0b5 — busy-pill / status-bar release + selection race fix
    • #242 squash-merged as 44ceb8f — poll interaction fence (incl. gen-0 release)

    Both Latency checkboxes are now checked. All Part-of-#228 PRs are on main. Architecture follow-up remains in #163 (unrelated to this checklist).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions