LICENSE
MANIFEST.in
README.md
pyproject.toml
config/app_config.yaml
config/llm.yaml
config/logging.conf
resources/README.md
resources/icon.icns
resources/icon.ico
resources/icons/app_icon.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
resources/styles/dark_theme.qss
resources/styles/light_theme.qss
src/scenefab/__init__.py
src/scenefab/__main__.py
src/scenefab/application.py
src/scenefab/cache_manager.py
src/scenefab/event_bus.py
src/scenefab/exceptions.py
src/scenefab/logger.py
src/scenefab/main.py
src/scenefab/project_manager.py
src/scenefab/project_template_manager.py
src/scenefab/py.typed
src/scenefab/registry_models.py
src/scenefab/secure_key_manager.py
src/scenefab/service_container.py
src/scenefab/settings.py
src/scenefab/settings_data.py
src/scenefab/settings_manager.py
src/scenefab/settings_types.py
src/scenefab/signals_bridge.py
src/scenefab/task_manager.py
src/scenefab/template_models.py
src/scenefab/version_manager.py
src/scenefab/version_models.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/models.py
src/scenefab/cache_impl/__init__.py
src/scenefab/cache_impl/disk_cache.py
src/scenefab/cache_impl/memory_cache.py
src/scenefab/core/__init__.py
src/scenefab/core/audit.py
src/scenefab/core/base_worker.py
src/scenefab/core/batch_processor.py
src/scenefab/core/config_v2.py
src/scenefab/core/di_container.py
src/scenefab/core/event_store.py
src/scenefab/core/event_types.py
src/scenefab/core/ffmpeg_safe.py
src/scenefab/core/pipeline_engine.py
src/scenefab/core/platform_adapter.py
src/scenefab/core/platform_extended.py
src/scenefab/core/short_drama.py
src/scenefab/core/streaming_llm_worker.py
src/scenefab/core/task_model.py
src/scenefab/core/task_store.py
src/scenefab/core/unified_event_bus.py
src/scenefab/core/ws_hub.py
src/scenefab/interfaces/__init__.py
src/scenefab/interfaces/cache_interface.py
src/scenefab/models/__init__.py
src/scenefab/models/constants.py
src/scenefab/models/enums.py
src/scenefab/models/media.py
src/scenefab/models/narration.py
src/scenefab/models/project.py
src/scenefab/models/project_file_metadata.py
src/scenefab/models/project_models.py
src/scenefab/models/video.py
src/scenefab/orchestration/__init__.py
src/scenefab/orchestration/pipeline_controller.py
src/scenefab/pipeline/__init__.py
src/scenefab/pipeline/assembly_steps.py
src/scenefab/pipeline/evaluation_steps.py
src/scenefab/pipeline/narration.py
src/scenefab/pipeline/narration_context.py
src/scenefab/pipeline/narration_evaluator.py
src/scenefab/pipeline/narration_state_machine.py
src/scenefab/pipeline/narration_steps.py
src/scenefab/pipeline/understanding_steps.py
src/scenefab/plugins/__init__.py
src/scenefab/plugins/loader.py
src/scenefab/plugins/registry.py
src/scenefab/plugins/examples/cinematic_subtitle/cinematic_sub.py
src/scenefab/plugins/examples/deepseek_ai_generator/__init__.py
src/scenefab/plugins/examples/deepseek_ai_generator/deepseek_gen.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/services/__init__.py
src/scenefab/services/ai_service_manager.py
src/scenefab/services/service_manager.py
src/scenefab/services/ai/__init__.py
src/scenefab/services/ai/asr.py
src/scenefab/services/ai/base.py
src/scenefab/services/ai/base_llm_provider.py
src/scenefab/services/ai/cache.py
src/scenefab/services/ai/errors.py
src/scenefab/services/ai/interfaces.py
src/scenefab/services/ai/llm.py
src/scenefab/services/ai/llm_manager.py
src/scenefab/services/ai/manager.py
src/scenefab/services/ai/model_registry.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_analyzer_v2.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/secure_subtitle_extractor.py
src/scenefab/services/ai/sensevoice_provider.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.py
src/scenefab/services/ai/tts_providers.py
src/scenefab/services/ai/vision.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/whisper_asr_provider.py
src/scenefab/services/ai/adapters/__init__.py
src/scenefab/services/ai/adapters/adapter_registry.py
src/scenefab/services/ai/adapters/base.py
src/scenefab/services/ai/infra/__init__.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/gemini35_flash.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/provider_models.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_manager.py
src/scenefab/services/export/direct_video_exporter.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/orchestration/pipeline_project_manager.py
src/scenefab/services/video/__init__.py
src/scenefab/services/video/analyzer.py
src/scenefab/services/video/base_maker.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/processor.py
src/scenefab/services/video/scene_converter.py
src/scenefab/services/video/session.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/grouping/__init__.py
src/scenefab/services/video/grouping/smart_grouper.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/selection/__init__.py
src/scenefab/services/video/selection/seg_selector.py
src/scenefab/services/video_tools/__init__.py
src/scenefab/services/video_tools/base.py
src/scenefab/services/video_tools/caption_gen.py
src/scenefab/services/video_tools/ffmpeg_tool.py
src/scenefab/services/video_tools/hardware.py
src/scenefab/services/video_tools/probe.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/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/tests/__init__.py
src/scenefab/ui/__init__.py
src/scenefab/ui/main/__init__.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_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/base_styles.py
src/scenefab/ui/theme/ds_tokens.py
src/scenefab/ui/theme/theme_manager.py
src/scenefab/ui/theme/tokens.py
src/scenefab/update/__init__.py
src/scenefab/update/checker.py
src/scenefab/utils/__init__.py
src/scenefab/utils/async_subprocess.py
src/scenefab/utils/config.py
src/scenefab/utils/error_handler.py
src/scenefab/utils/performance.py
src/scenefab/utils/pickle_io.py
src/scenefab/utils/secure_config_loader.py
src/scenefab/utils/security.py
src/scenefab/utils/shortcut_manager.py
src/scenefab/utils/singleton.py
src/scenefab/utils/version.py
tests/test_ai_service_manager.py
tests/test_arch_v21.py
tests/test_assembly_steps.py
tests/test_base_exporter.py
tests/test_benchmark.py
tests/test_cache_manager.py
tests/test_caption_generator.py
tests/test_config_manager.py
tests/test_core_v2.py
tests/test_direct_video_exporter.py
tests/test_evaluation_steps.py
tests/test_exceptions.py
tests/test_export_presets.py
tests/test_ffmpeg_tool.py
tests/test_highlight_detector.py
tests/test_integration.py
tests/test_issue82_regression.py
tests/test_jianying_exporter.py
tests/test_llm_base.py
tests/test_llm_cache.py
tests/test_llm_providers.py
tests/test_logger.py
tests/test_monologue_maker.py
tests/test_narration_state_machine.py
tests/test_performance.py
tests/test_pipeline_project_manager.py
tests/test_project_manager.py
tests/test_project_models.py
tests/test_project_settings_manager.py
tests/test_project_template_manager.py
tests/test_project_version_manager.py
tests/test_resources.py
tests/test_script_generator.py
tests/test_script_generator_streaming.py
tests/test_secure_key_manager.py
tests/test_service_container.py
tests/test_subtitle_extractor.py
tests/test_tray_manager.py
tests/test_ui_main_window.py
tests/test_understanding_steps.py
tests/test_version.py
tests/test_video_exporter.py
tests/test_video_maker.py
tests/test_vision_providers.py
tests/test_voice_generator.py