smillmorel
1b0620a392
perf: replace the Plotly snap marker with a projected DOM overlay
...
Orbiting and the snap preview felt far behind the cursor. Measured in the
page: a single Plotly.restyle on a gl3d plot costs about 90 ms even for a
one-trace figure, so every marker update stalled the scene and the marker
trailed the mouse; each one also queued another redraw while the user was
dragging.
The marker is now a pointer-events-none div positioned by projecting the
snapped world point through glplot.cameraParams (validated: the camera
centre lands at the canvas centre), updated with one style write and
re-projected on plotly_relayout so it stays glued to the target during
orbit. No plotly calls at all on the hover path - 200 mouse-move events
now cost 0 restyles - and the empty hover trace is gone from the figure.
Also logs the WebGL renderer once (via the console bridge) since hardware
acceleration decides how smooth orbit feels and is otherwise invisible.
2026-09-16 20:52:40 -04:00
..
__init__.py
feat: initial otko import
2026-09-08 02:12:15 -04:00
test_analysis_commands.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_analysis_runner.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_assign_load_pattern_name.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_assign_masses.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_assign_zls.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_canvas_backend_switch.py
feat: live canvas backend switching (Options → Canvas Backend)
2026-09-16 18:43:59 -04:00
test_canvas_grid_snap.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_case_forms.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_commands.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_constraint_and_display_dialogs.py
feat: initial otko import
2026-09-08 02:12:15 -04:00
test_convert_element_type.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_define_dialogs.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_draw_frame_tool.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_draw_node_tool.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_draw_truss_tool.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_grid_dialog.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_main_window.py
chore: adopt remaining local development state
2026-09-16 12:03:22 -04:00
test_material_dialog_concrete04.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_material_form_ranges.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_material_tester_dialog.py
feat: initial otko import
2026-09-08 02:12:15 -04:00
test_path_ts_dialogs.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_pattern_load_audit.py
feat: initial otko import
2026-09-08 02:12:15 -04:00
test_plot_properties.py
feat: Options → Plot Properties dialog with live preview and persistence
2026-09-16 19:31:38 -04:00
test_plotly_hover.py
perf: replace the Plotly snap marker with a projected DOM overlay
2026-09-16 20:52:40 -04:00
test_plotly_view_preservation.py
feat: surface the Plotly page console in the Console dock
2026-09-16 20:18:23 -04:00
test_property_commands.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_property_forms.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_pushover_curve_units.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_run_analysis.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_section_extrusion.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_section_forms.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_selection.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_transforms.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_tree_multi_select.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_units_status_bar.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_update_element_fields.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00
test_viewport_axes.py
feat: initial otko import
2026-09-08 02:12:15 -04:00
test_working_plane.py
style: resolve the remaining ruff findings
2026-09-16 13:20:36 -04:00