LICENSE
MANIFEST.in
README.md
pyproject.toml
src/slidesonnet/__init__.py
src/slidesonnet/api.py
src/slidesonnet/atomic.py
src/slidesonnet/cache.py
src/slidesonnet/cancellation.py
src/slidesonnet/clean.py
src/slidesonnet/cli.py
src/slidesonnet/cli_options.py
src/slidesonnet/config.py
src/slidesonnet/deck.py
src/slidesonnet/diagnostics.py
src/slidesonnet/doctor.py
src/slidesonnet/env.py
src/slidesonnet/exceptions.py
src/slidesonnet/hashing.py
src/slidesonnet/logging_setup.py
src/slidesonnet/models.py
src/slidesonnet/pool.py
src/slidesonnet/proc.py
src/slidesonnet/progress.py
src/slidesonnet/render.py
src/slidesonnet/subtitles.py
src/slidesonnet/timing.py
src/slidesonnet.egg-info/PKG-INFO
src/slidesonnet.egg-info/SOURCES.txt
src/slidesonnet.egg-info/dependency_links.txt
src/slidesonnet.egg-info/entry_points.txt
src/slidesonnet.egg-info/requires.txt
src/slidesonnet.egg-info/top_level.txt
src/slidesonnet/audio/__init__.py
src/slidesonnet/audio/durations.py
src/slidesonnet/audio/synth.py
src/slidesonnet/audio/track.py
src/slidesonnet/narration/__init__.py
src/slidesonnet/narration/format.py
src/slidesonnet/narration/model.py
src/slidesonnet/narration/spoken.py
src/slidesonnet/narration/transitions.py
src/slidesonnet/pdf/__init__.py
src/slidesonnet/pdf/reader.py
src/slidesonnet/review/__init__.py
src/slidesonnet/review/base.py
src/slidesonnet/review/cli.py
src/slidesonnet/review/diff.py
src/slidesonnet/review/log.py
src/slidesonnet/review/ops.py
src/slidesonnet/review/versions.py
src/slidesonnet/server/__init__.py
src/slidesonnet/server/app.py
src/slidesonnet/server/context.py
src/slidesonnet/server/decks.py
src/slidesonnet/server/editing.py
src/slidesonnet/server/engines.py
src/slidesonnet/server/events.py
src/slidesonnet/server/frontend.py
src/slidesonnet/server/generation.py
src/slidesonnet/server/jobs.py
src/slidesonnet/server/launch.py
src/slidesonnet/server/library.py
src/slidesonnet/server/media.py
src/slidesonnet/server/openapi.py
src/slidesonnet/server/previews.py
src/slidesonnet/server/queue.py
src/slidesonnet/server/review.py
src/slidesonnet/server/review_model.py
src/slidesonnet/server/revisions.py
src/slidesonnet/server/routes.py
src/slidesonnet/server/run.py
src/slidesonnet/server/schemas.py
src/slidesonnet/server/snapshots.py
src/slidesonnet/server/voicing.py
src/slidesonnet/server/static/index.html
src/slidesonnet/server/static/assets/EditorView-BKs0Mjp1.js
src/slidesonnet/server/static/assets/EditorView-I5L_1Nhm.css
src/slidesonnet/server/static/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff
src/slidesonnet/server/static/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2
src/slidesonnet/server/static/assets/bricolage-grotesque-latin-ext-800-normal-BimIDUhy.woff2
src/slidesonnet/server/static/assets/bricolage-grotesque-latin-ext-800-normal-CkoBqIJM.woff
src/slidesonnet/server/static/assets/bricolage-grotesque-vietnamese-800-normal-DJ4hCX8l.woff
src/slidesonnet/server/static/assets/bricolage-grotesque-vietnamese-800-normal-RJtJa6zl.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff
src/slidesonnet/server/static/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2
src/slidesonnet/server/static/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2
src/slidesonnet/server/static/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff
src/slidesonnet/server/static/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2
src/slidesonnet/server/static/assets/index-C6VmvLzA.css
src/slidesonnet/server/static/assets/index-f5Ic_eji.js
src/slidesonnet/templates/__init__.py
src/slidesonnet/templates/slidesonnet.sty
src/slidesonnet/tts/__init__.py
src/slidesonnet/tts/base.py
src/slidesonnet/tts/inworld.py
src/slidesonnet/tts/kokoro.py
src/slidesonnet/tts/pronunciation.py
src/slidesonnet/tts/qwen3.py
src/slidesonnet/video/__init__.py
src/slidesonnet/video/composer.py
tests/test_api.py
tests/test_api_export.py
tests/test_browser_journeys.py
tests/test_cache.py
tests/test_clean.py
tests/test_cli.py
tests/test_cli_first_run.py
tests/test_composer.py
tests/test_config.py
tests/test_deck.py
tests/test_diagnostics.py
tests/test_docs_snippets.py
tests/test_doctor.py
tests/test_e2e_flows.py
tests/test_env.py
tests/test_error_showcase.py
tests/test_export_guard.py
tests/test_export_integration.py
tests/test_fast_export.py
tests/test_hashing.py
tests/test_inworld.py
tests/test_jobs.py
tests/test_kokoro.py
tests/test_launch.py
tests/test_library.py
tests/test_logging.py
tests/test_models.py
tests/test_narration_format.py
tests/test_no_secrets.py
tests/test_pdf_reader.py
tests/test_pool.py
tests/test_proc.py
tests/test_progress.py
tests/test_pronunciation.py
tests/test_qwen3.py
tests/test_render.py
tests/test_review_base.py
tests/test_review_cli.py
tests/test_review_diff.py
tests/test_review_log.py
tests/test_review_model.py
tests/test_review_ops.py
tests/test_server_api.py
tests/test_server_editing.py
tests/test_server_frontend.py
tests/test_server_jobs.py
tests/test_server_media.py
tests/test_server_previews.py
tests/test_server_review.py
tests/test_server_revisions.py
tests/test_server_run.py
tests/test_spoken.py
tests/test_sty_builds.py
tests/test_subtitle_drift.py
tests/test_subtitles.py
tests/test_synth.py
tests/test_timing.py
tests/test_track.py
tests/test_transition_gallery.py
tests/test_transitions.py
tests/test_tts_guard.py
tests/test_voices.py