LICENSE
MANIFEST.in
README.md
pyproject.toml
config/app_config.yaml
config/llm.yaml
config/logging.conf
resources/README.md
resources/app_icon.svg
resources/icon.icns
resources/icon.ico
resources/icons/app_icon.png
resources/icons/app_icon_1024.png
resources/icons/app_icon_128.png
resources/icons/app_icon_256.png
resources/icons/app_icon_32.png
resources/icons/app_icon_512.png
resources/icons/app_icon_64.png
src/scenefab/__init__.py
src/scenefab/__main__.py
src/scenefab/application.py
src/scenefab/exceptions.py
src/scenefab/main.py
src/scenefab/py.typed
src/scenefab/secure_key_manager.py
src/scenefab/signals_bridge.py
src/scenefab.egg-info/PKG-INFO
src/scenefab.egg-info/SOURCES.txt
src/scenefab.egg-info/dependency_links.txt
src/scenefab.egg-info/entry_points.txt
src/scenefab.egg-info/requires.txt
src/scenefab.egg-info/top_level.txt
src/scenefab/api/__init__.py
src/scenefab/api/main.py
src/scenefab/api/routers/__init__.py
src/scenefab/api/routers/export.py
src/scenefab/api/routers/health.py
src/scenefab/api/routers/pipeline.py
src/scenefab/api/routers/plugins.py
src/scenefab/api/routers/projects.py
src/scenefab/api/schemas/__init__.py
src/scenefab/api/schemas/models.py
src/scenefab/core/__init__.py
src/scenefab/core/audit.py
src/scenefab/core/base_worker.py
src/scenefab/core/di_container.py
src/scenefab/core/event_types.py
src/scenefab/core/ffmpeg_safe.py
src/scenefab/core/stream_worker.py
src/scenefab/core/task_model.py
src/scenefab/core/task_store.py
src/scenefab/core/unified_event_bus.py
src/scenefab/models/__init__.py
src/scenefab/models/constants.py
src/scenefab/models/file_metadata.py
src/scenefab/models/media.py
src/scenefab/models/narration.py
src/scenefab/models/project.py
src/scenefab/models/project_models.py
src/scenefab/models/serialization.py
src/scenefab/models/video.py
src/scenefab/pipeline/__init__.py
src/scenefab/pipeline/assembly_steps.py
src/scenefab/pipeline/evaluation_steps.py
src/scenefab/pipeline/fp_workflow.py
src/scenefab/pipeline/short_drama.py
src/scenefab/pipeline/text_utils.py
src/scenefab/pipeline/understanding_steps.py
src/scenefab/pipeline/narration/__init__.py
src/scenefab/pipeline/narration/context.py
src/scenefab/pipeline/narration/engine.py
src/scenefab/pipeline/narration/evaluator.py
src/scenefab/pipeline/narration/state_machine.py
src/scenefab/pipeline/narration/steps.py
src/scenefab/plugins/__init__.py
src/scenefab/plugins/loader.py
src/scenefab/plugins/registry.py
src/scenefab/plugins/examples/cinematic_subtitle/__init__.py
src/scenefab/plugins/examples/deepseek_ai_generator/__init__.py
src/scenefab/plugins/interfaces/__init__.py
src/scenefab/plugins/interfaces/ai_generator.py
src/scenefab/plugins/interfaces/base.py
src/scenefab/plugins/interfaces/export_plugin.py
src/scenefab/project/__init__.py
src/scenefab/project/manager.py
src/scenefab/project/template_mgr.py
src/scenefab/project/template_models.py
src/scenefab/services/__init__.py
src/scenefab/services/ai/__init__.py
src/scenefab/services/ai/base.py
src/scenefab/services/ai/base_llm_provider.py
src/scenefab/services/ai/llm_manager.py
src/scenefab/services/ai/model_catalog.py
src/scenefab/services/ai/provider_types.py
src/scenefab/services/ai/retry.py
src/scenefab/services/ai/scene_analyzer.py
src/scenefab/services/ai/scene_models.py
src/scenefab/services/ai/scene_scorer.py
src/scenefab/services/ai/script_models.py
src/scenefab/services/ai/script_stream.py
src/scenefab/services/ai/subtitle_extractor.py
src/scenefab/services/ai/subtitle_merger.py
src/scenefab/services/ai/subtitle_speech.py
src/scenefab/services/ai/subtitle_translator.py
src/scenefab/services/ai/subtitle_types.py
src/scenefab/services/ai/tts_providers.py
src/scenefab/services/ai/vision_base.py
src/scenefab/services/ai/vision_providers.py
src/scenefab/services/ai/voice_generator.py
src/scenefab/services/ai/voice_models.py
src/scenefab/services/ai/providers/__init__.py
src/scenefab/services/ai/providers/claude.py
src/scenefab/services/ai/providers/deepseek.py
src/scenefab/services/ai/providers/doubao.py
src/scenefab/services/ai/providers/gemini.py
src/scenefab/services/ai/providers/glm5.py
src/scenefab/services/ai/providers/hunyuan.py
src/scenefab/services/ai/providers/kimi.py
src/scenefab/services/ai/providers/local.py
src/scenefab/services/ai/providers/openai_compat.py
src/scenefab/services/ai/providers/qwen.py
src/scenefab/services/ai/providers/qwen37.py
src/scenefab/services/ai/script_generator/__init__.py
src/scenefab/services/ai/script_generator/_prompt_builder.py
src/scenefab/services/ai/script_generator/_response_parser.py
src/scenefab/services/ai/script_generator/_style_prompts.py
src/scenefab/services/ai/script_generator/script_generator.py
src/scenefab/services/export/__init__.py
src/scenefab/services/export/batch_export.py
src/scenefab/services/export/export_manager.py
src/scenefab/services/export/export_utils.py
src/scenefab/services/export/jianying_adapter.py
src/scenefab/services/export/jianying_exporter.py
src/scenefab/services/export/presets.py
src/scenefab/services/export/subtitle_exporter.py
src/scenefab/services/export/video_exporter.py
src/scenefab/services/orchestration/__init__.py
src/scenefab/services/orchestration/enums.py
src/scenefab/services/orchestration/pipe_models.py
src/scenefab/services/video/__init__.py
src/scenefab/services/video/analyzer.py
src/scenefab/services/video/base_maker.py
src/scenefab/services/video/caption_gen.py
src/scenefab/services/video/ffmpeg_tool.py
src/scenefab/services/video/hardware.py
src/scenefab/services/video/highlight_detector.py
src/scenefab/services/video/monologue_maker.py
src/scenefab/services/video/perspective_mapper.py
src/scenefab/services/video/pipeline_integrator.py
src/scenefab/services/video/probe.py
src/scenefab/services/video/processor.py
src/scenefab/services/video/scene_converter.py
src/scenefab/services/video/session.py
src/scenefab/services/video/tool_base.py
src/scenefab/services/video/track_builder.py
src/scenefab/services/video/video_interleaver.py
src/scenefab/services/video/cache/__init__.py
src/scenefab/services/video/cache/frame_cache.py
src/scenefab/services/video/extraction/__init__.py
src/scenefab/services/video/extraction/emotion_peak.py
src/scenefab/services/video/extraction/first_person.py
src/scenefab/services/video/models/__init__.py
src/scenefab/services/video/models/monologue.py
src/scenefab/services/video/models/perspective.py
src/scenefab/services/video_understanding/__init__.py
src/scenefab/services/video_understanding/api_adapters.py
src/scenefab/services/video_understanding/core.py
src/scenefab/services/video_understanding/models.py
src/scenefab/services/video_understanding/story_builder.py
src/scenefab/settings/__init__.py
src/scenefab/settings/config.py
src/scenefab/settings/definitions.py
src/scenefab/settings/manager.py
src/scenefab/settings/types.py
src/scenefab/templates/ai_enhancement/project_template.json
src/scenefab/templates/ai_enhancement/template_info.json
src/scenefab/templates/ai_enhancement/template_metadata.json
src/scenefab/templates/video_tutorial/project_template.json
src/scenefab/templates/video_tutorial/template_info.json
src/scenefab/templates/video_tutorial/template_metadata.json
src/scenefab/ui/__init__.py
src/scenefab/ui/main/__init__.py
src/scenefab/ui/main/controls.py
src/scenefab/ui/main/page_router.py
src/scenefab/ui/main/registry.py
src/scenefab/ui/main/system_tray.py
src/scenefab/ui/main/tray_manager.py
src/scenefab/ui/main/main_window/__init__.py
src/scenefab/ui/main/main_window/content_area.py
src/scenefab/ui/main/main_window/nav_components.py
src/scenefab/ui/main/main_window/status_bar.py
src/scenefab/ui/main/main_window/top_bar.py
src/scenefab/ui/main/pages/__init__.py
src/scenefab/ui/main/pages/assets_page.py
src/scenefab/ui/main/pages/home_page.py
src/scenefab/ui/main/pages/page_defaults.py
src/scenefab/ui/main/pages/page_view_models.py
src/scenefab/ui/main/pages/page_widgets.py
src/scenefab/ui/main/pages/production_page.py
src/scenefab/ui/main/pages/settings_page.py
src/scenefab/ui/theme/__init__.py
src/scenefab/ui/theme/ds_tokens.py
src/scenefab/ui/theme/runtime.py
src/scenefab/ui/viewmodels/__init__.py
src/scenefab/ui/viewmodels/assets_viewmodel.py
src/scenefab/ui/viewmodels/home_viewmodel.py
src/scenefab/ui/viewmodels/production_viewmodel.py
src/scenefab/update/__init__.py
src/scenefab/update/checker.py
src/scenefab/utils/__init__.py
src/scenefab/utils/async_bridge.py
src/scenefab/utils/async_subprocess.py
src/scenefab/utils/error_handler.py
src/scenefab/utils/json_io.py
src/scenefab/utils/lazy_imports.py
src/scenefab/utils/project_io.py
src/scenefab/utils/retry.py
src/scenefab/utils/security.py
src/scenefab/utils/singleton.py
src/scenefab/utils/version.py
tests/test_api_routers_coverage.py
tests/test_assets_viewmodel.py
tests/test_batch_export.py
tests/test_benchmark.py
tests/test_config_manager.py
tests/test_exceptions.py
tests/test_fp_workflow.py
tests/test_frame_cache_disk_fallback.py
tests/test_home_viewmodel.py
tests/test_integration.py
tests/test_page_vm.py
tests/test_production_viewmodel.py
tests/test_project_manager.py
tests/test_resources.py
tests/test_script_stream.py
tests/test_secure_key_manager.py
tests/test_service_container.py
tests/test_settings_mgr.py
tests/test_smoke_pipeline.py
tests/test_template_mgr.py
tests/test_text_utils.py
tests/test_theme.py
tests/test_theme_runtime.py
tests/test_ui_module_smoke.py
tests/test_update_checker.py
tests/test_version.py
tests/test_video_exporter.py