A responsive, speech-driven art experience powered by the Pollinations Unity model. The interface now features dedicated activity monitors for Unity (left) and the user microphone (right) so it is clear who is speaking at all times. The microphone toggle stays anchored to the bottom of the screen for easy access on both mobile and desktop.
- Dual voice monitors – modern circular visualizers spaced using the rule of thirds, highlighting Unity (left) and the user (right) with independent activity states.
- Bottom-aligned mute control – a persistent, centered control that guides users through granting microphone permissions and starting conversations.
- Graceful voice handling – contextual ARIA labels, explicit error feedback, and automatic re-listening when the browser allows continuous recognition.
- Dynamic imagery – every prompt swaps the blurred cinematic background using
the selected Pollinations image model (
flux,turbo, orkontext).
Two separate GitHub Actions workflows keep deployments fast and informative:
-
Pull Request Checks (
.github/workflows/pull-request.yml)- Runs on every pull request update.
- Executes each script under
tests/viatests/run_tests.py. - Publishes a markdown summary of individual test results.
-
Main Branch Delivery (
.github/workflows/main-branch.yml)- Triggers on pushes to
mainand manual dispatches. - Runs
scripts/build_static.py, which inlines the CSS and JavaScript so the GitHub Pages artifact is a self-containedindex.html(eliminating missing asset issues on the published site). - Uploads the bundle artifact and records a machine-readable build summary.
- Executes the same test suite and reports results without blocking deploys.
- Deploys successful builds to GitHub Pages.
- Triggers on pushes to
Badges at the top of this document surface the latest workflow and main-branch test status directly from GitHub Actions.
Install the lightweight test dependency and run the suite:
python -m pip install --upgrade pip
pip install -r requirements.txt
python tests/run_tests.pyThe runner writes a structured report to ci_reports/test_results.json that the
workflows reuse when generating their summaries.