Animation expansion#14
Merged
Merged
Conversation
Introduce create_trajectory_animation to build animated Plotly figures from a list of XYZ blocks representing optimization frames (with optional per-frame energies, charge, mode, resolution and title). The function parses the first frame for connectivity, updates atom positions per frame, assembles frames and animation controls (play/pause and slider), and raises ValueError if fewer than 2 frames are provided. Export the new function from the package __init__.py. Add comprehensive tests to validate return type, frame count, minimum-frame requirement, slider steps, initial traces, and energy labels in frame titles.
Delete four large documentation files from the docs/ directory: CI_TROUBLESHOOTING_SUMMARY.md, PERFORMANCE_TESTING_GUIDE.md, ROADMAP.md, and VIBRATION_FEATURE_SUMMARY.md. These removals clean up outdated/duplicated long-form docs (likely consolidated or moved elsewhere) and do not affect source code. If needed, ensure their content is preserved elsewhere (wiki, external docs site, or a new consolidated docs file) before merging.
Delete stop_app.bat and stop_app.vbs. These Windows helper scripts were used to stop the Streamlit GUI by locating and force-stopping the process; they have been removed as part of cleanup since they're no longer required or used.
Prefer a specific conda environment Python on Windows and run the app script directly; fall back to system Python if not found. Removes the previous .venv/streamlit -m invocation. Adds a macOS-friendly launch_app.command that runs .venv/bin/python if present or python3 otherwise (make executable with chmod +x to enable double-click launching).
Replace Streamlit-based interactive GUI with a Dash implementation and update docs/examples. app.py was rewritten to create a Dash app with PubChem search, sample library, display options, lighting presets, callbacks, and a graceful exit; examples/gui_app.py updated to launch the Dash app. Added demo rendering helper (examples/render_demo_webm.py) and two demo webm assets; docs updated to embed videos and reflect the Dash GUI. pyproject.toml gui extras updated to require dash and dash-bootstrap-components. Minor API tweak: add_caps parameter added to make_bond_mesh_trace. Also add .markdownlint.json, update .gitignore and CHANGELOG.
Install types-requests for mypy in CI and pre-commit so requests stubs are available for type checking. Refactor search_pubchem in app.py by replacing the spread _no_render tuple with a helper function and a dedicated _hide style, consolidating early returns and exception paths to return a consistent output tuple and improving readability.
Replace repository references and badges from NCCU-Schultz-Lab to The-Schultz-Lab across README, docs, mkdocs.yml, CHANGELOG, and pyproject.toml; update site_url, repo metadata, and issue/discussion links. Add docs/stylesheets/extra.css for a new hero title style and adjust docs/index.md layout to use it. Also enable MD041 in .markdownlint.json and update minor tutorial/example links.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request migrates the interactive GUI from Streamlit to Dash, updates the documentation and examples to reflect this change, and introduces several improvements to the molecular visualization rendering, including enhanced bond rendering with elliptical end caps for double and triple bonds. It also adds a new script for generating demo animations, updates project dependencies, and improves markdown/documentation support for rich media.
GUI migration and documentation updates:
CHANGELOG.md,docs/index.md,docs/quickstart.md,examples/gui_app.py, and Windows/macOS launch scripts to reflect this change. [1] [2] [3] [4] [5] [6]guidependency to requiredashanddash-bootstrap-componentsinstead ofstreamlitinpyproject.toml.Visualization and rendering improvements:
make_bond_mesh_trace, a new helper_make_oval_cap, and updates indraw_bonds. [1] [2] [3] [4] [5]examples/render_demo_webm.pyto generate a rotating molecule animation for use in documentation.Documentation and markdown enhancements:
.markdownlint.json, and included demo videos in the documentation. [1] [2] [3]Project maintenance and configuration:
docs/assets/from pre-commit checks to speed up CI.create_trajectory_animationin the main package__init__.py.