Release v0.3.0 — slim install, safe-RL Colab, GitHub Pages blog, and green CI#362
Merged
Conversation
Package CBFKit for distribution and first-time users: - Slim the core: move casadi/cvxopt/plotly/black from mandatory deps to extras (casadi, cvxopt, plotly, codegen); add all/solvers/vis umbrellas; dev pulls cbfkit[all]. `import cbfkit` now loads zero heavy deps, guarded by a new core-import CI job. - Bump VERSION to 0.3.0; enrich metadata (keywords, classifiers, URLs); absolutize README showcase image URLs so they render off-repo. - Add a Gymnasium safe-RL Colab quickstart (installs from GitHub). - README badges; GitHub Pages workflow to host the blog. - run_black degrades gracefully when black is absent so codegen works on a slim install; add a friendly ImportError for the CasADi controller path. Fix pre-existing CI failures (ruff was red on main, blocking all tests): - Remove unused locals (unicycle_sweep, monte_carlo_gpu, plot_mppi_ffmpeg). - Import Time in ros/_experiment.py (F821 undefined name). - Manim 2D backend raises NotImplementedError before requiring manim; guard the manim_3d_multi_robot import so the module loads without manim installed. Verified: 469 passed, ruff clean, python -m build + twine check pass.
…howcase gallery Browser-QA pass on the landing page (desktop 1440px + mobile 390px): - Carousel prev/next never fired: .bc-btn:active carried a stale translateY(-50%) that moved the button out from under the pointer between mousedown and mouseup. Scale-only :active now; buttons also re-center on resize/image load and get type="button". Script tag is versioned (?v=2) so cached copies pick up the fix. - Dark-section contrast: stat numbers, section labels, pipeline arrows, formulation equations, carousel bars/pills, pip-install code, and footer hovers used slate #3d4248 on #1a1a1a; recolored to light graphite tones. Secondary buttons on ink (CTA "Read the Paper") get light text/border. - New Showcase section: README-style 16-tile gallery, each tile backed by its runnable example path and linked to the source on GitHub; lazy-loaded GIFs; nav link added. Replaces the four GIF slides that were buried in the benchmark carousel. - Removed the "CBFKit vs. other toolboxes" comparison slide and all decorative emoji icons (architecture pipeline, MPPI cards, systems grid); tutorials use mono 01-06 labels instead. - Equation block restyled as a flat-ink card with clause-level wrapping. - Polish: dead particle-canvas JS and hero-gradient CSS removed, inline SVG favicon (fixes console 404), prefers-reduced-motion support, formulations grid balanced 2x2, gallery tiles locked to 4:3.
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.
Merges the
release/v0.3.0branch intomain. Two commits: the v0.3.0 release itself, plus a browser-QA pass on the landing page.v0.3.0 — packaging & distribution
Slim core install.
casadi/cvxopt/plotly/blackmoved from mandatory dependencies to extras (casadi,cvxopt,plotly,codegen), withall/solvers/visumbrellas;devpullscbfkit[all].import cbfkitnow loads zero heavy deps, guarded by a new core-import CI job. Missing extras raise a friendlyImportErrorwith install guidance, andrun_blackdegrades gracefully when black is absent so codegen still works on a slim install.Onboarding & hosting. VERSION bumped to 0.3.0 with enriched metadata (keywords, classifiers, URLs); README showcase image URLs absolutized so they render off-repo; a Gymnasium safe-RL Colab quickstart; README badges; and a GitHub Pages workflow to host the blog.
Green CI. Fixes pre-existing failures that had ruff red on
mainand were blocking all tests: unused locals removed,Timeimport restored inros/_experiment.py(F821), and the Manim backends guarded so modules import without manim installed.Verified on the release commit: 469 passed, ruff clean,
python -m build+twine checkpass.Blog landing page — browser-QA pass
Verified in a real browser at 1440px and 390px:
translateY(-50%)on.bc-btn:activemoved the button out from under the pointer between mousedown and mouseup, so the click never fired (dots, with no transform, still worked). Scale-only:activenow; buttons re-center on resize/image-load; script tag versioned so cached copies pick up the fix.pip installcode, footer hovers, and the CTA "Read the Paper" button were slate-on-ink and effectively invisible; recolored to light graphite tones.prefers-reduced-motionsupport, equation block and formulation grid restyled.Notes
main; those files already exist there, so they resolve once merged and Pages redeploys.