Skip to content

Feature/spinner - #11

Open
ericgozzi wants to merge 6 commits into
mainfrom
feature/spinner
Open

Feature/spinner#11
ericgozzi wants to merge 6 commits into
mainfrom
feature/spinner

Conversation

@ericgozzi

Copy link
Copy Markdown
Collaborator

This pull request introduces a new global Spinner component to the application, providing user feedback during long-running operations. It adds full support for a Spinner command in the viewer command system, updates the documentation and support matrix, and ensures proper state management and validation for the spinner's visibility and message. The spinner displays a cycling "funny" message to improve the user experience during waits.

Spinner Feature Implementation

  • Added a new Spinner.vue component that displays a global overlay with an animated spinner, an optional message, and a rotating selection of humorous messages during long-running operations. The spinner is teleported to the document body for global visibility. (src/components/layout/Spinner.vue)
  • Integrated the Spinner component into the main application layout and imported it in App.vue. (src/App.vue) [1] [2]

Viewer Command System Enhancements

  • Introduced a new SpinnerCommand type, added it to the ViewerCommand union, and implemented parsing and validation logic for spinner commands. (src/viewer/viewer_commands.ts) [1] [2] [3] [4]
  • Updated the viewer runtime to handle spinner commands and update the spinner state in the global store accordingly. (src/viewer/viewer_runtime.ts) [1] [2] [3]
  • Extended the viewer store to include spinnerState for managing the spinner's visibility and message. (src/viewer/viewer_store.ts) [1] [2]

Documentation Updates

  • Updated the changelog to document the addition of spinner support. (CHANGELOG.md)
  • Modified the support matrix to reflect that the spinner is now included and no longer deferred. (docs/support-matrix.md)

Testing Adjustments

  • Updated tests to reflect the new command dispatch structure, ensuring unsupported dispatches are properly handled. (tests/viewer_commands.test.ts)

ericgozzi and others added 6 commits August 14, 2026 09:51
Adds a full-screen spinner shown while long-running backend work is in
flight, driven by an inbound "spinner" viewer command (visible + optional
message). Mirrors compas_threejs's existing App.start_spinner()/stop_spinner()
convention on the Python side.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… names

The eslint-plugin-vue "multi-word-component-names" rule only grandfathers
Openbar/Sidebar/Toolbar and the vendored shadcn-ui primitives; new
components are expected to use multi-word names rather than be added to
that exemption list.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant