Skip to content

feature/modularization app - #10

Merged
iosdevsx merged 44 commits into
mainfrom
feature/modularization-app
Aug 7, 2026
Merged

feature/modularization app#10
iosdevsx merged 44 commits into
mainfrom
feature/modularization-app

Conversation

@iosdevsx

@iosdevsx iosdevsx commented Aug 5, 2026

Copy link
Copy Markdown
Owner
  • feat: modularize application with Swift packages
  • fix: allow selecting another subtitle cue
  • fix: transcribe only the edited video range
  • fix: keep shorts subtitles visible in crop mode

loginov.yuriy15 added 30 commits August 5, 2026 15:01
loginov.yuriy15 and others added 11 commits August 7, 2026 14:43
Restructure the .shorts workspace to match the ShortsMode.jsx design:
header bar with totals and export-all, 9:16 stage with ambient wash,
caption-style pill, speaker chip and a clip-local transport scrubber,
a 268pt library rail of short cards with duplicate/delete, and a
collapsible three-column inspector (framing cards + platform, crop
focus canvas with keyframe lane, details with in/out/length meters).

Extend the feature contracts: duplicateShort action, speaker badges in
workspace state, isPlaying/onTogglePlayback in the workspace request.
…tage wash

The library card thumbnail used .aspectRatio after .frame(width:), which
let it expand to the full card height and blow the cards up. Pin it to
42x74.7. Replace the heavy black safe-area bands with the mock's dashed
frame over lighter shading, and tone down the ambient accent glow.
…ails

- Drop the ambient accent glow and the mock's custom background colors;
  the workspace now sits on windowBackgroundColor with the same panel
  shades the rest of the app uses.
- Move the selected-short inspector below the shared timeline via a new
  ShortsFeatureFactory.makeInspector, matching the mock's stage - source
  - inspector order. Hosting it in the flexible workspace VStack also let
  the ScrollView collapse to zero height, which is why the inspector
  looked permanently closed - it now has a fixed 250pt content height.
- Library cards show real still frames from the source video at each
  short's start time (AVAssetImageGenerator with a small in-memory
  cache) instead of the gradient placeholder.
@iosdevsx

iosdevsx commented Aug 7, 2026

Copy link
Copy Markdown
Owner Author

Framelingo Architecture Diff

main@30de84afeature/modularization-app@8ba9aa7

Modules Edges Area of influence Runtime paths Suggested tests
+30 / −0 / ~0 +131 / −0 0 +6 / −0 / ~0 33
Added packages (30)
    • AppUpdate
    • DesignSystem
    • ExportFeature
    • FFmpeg
    • FluidAudio
    • HomeFeature
    • IOSApp
    • MacApp
    • Media
    • PlayerFeature
    • Project
    • ProjectFeature
    • ProjectPreparation
    • ProjectSession
    • Settings
    • SettingsFeature
    • Shorts
    • ShortsFeature
    • Sparkle
    • SpeakerAnalysis
    • SpeechToText
    • SubtitleEditorFeature
    • Subtitles
    • Timeline
  • …and 6 more
Added dependencies (131)
    • AppUpdate → Sparkle
    • ExportFeature → DesignSystem
    • ExportFeature → Media
    • ExportFeature → Project
    • ExportFeature → Subtitles
    • ExportFeature → VideoExport
    • ExportFeature → VideoRendering
    • HomeFeature → Media
    • HomeFeature → Project
    • HomeFeature → Subtitles
    • IOSApp → HomeFeature
    • IOSApp → PlayerFeature
    • IOSApp → Project
    • IOSApp → ProjectPreparation
    • IOSApp → ProjectSession
    • IOSApp → SpeechToText
    • IOSApp → SubtitleEditorFeature
    • IOSApp → Subtitles
    • IOSApp → TranscriptionPipeline
    • IOSApp → TranslationPipeline
    • IOSApp → VideoExport
    • MacApp → AppUpdate
    • MacApp → DesignSystem
    • MacApp → ExportFeature
  • …and 107 more
Added runtime paths (6)
    • Export subtitles
    • Export video
    • Open project
    • Prepare project
    • Transcribe
    • Translate
Affected runtime paths (6)
  • Open project via HomeFeature, MacApp, Project, ProjectSession
  • Prepare project via Media, ProjectPreparation, ProjectSession, VideoRendering
  • Transcribe via Project, ProjectSession, SpeakerAnalysis, SpeechToText, VideoRendering
  • Translate via Project, ProjectSession, Translation, TranslationPipeline
  • Export subtitles via ProjectSession, Subtitles
  • Export video via ProjectSession, VideoExport, VideoRendering
Suggested test bundles (33)
  • AppUpdateImplTests
  • DesignSystemImplTests
  • ExportFeatureTests
  • FFmpegTests
  • HomeFeatureImplTests
  • IOSAppTests
  • MacAppTests
  • MediaImplTests
  • PlayerFeatureImplTests
  • ProjectFeatureImplTests
  • ProjectImplTests
  • ProjectPreparationAPITests
  • ProjectPreparationImplTests
  • ProjectSessionAPITests
  • ProjectSessionImplTests
  • SettingsFeatureImplTests
  • SettingsImplTests
  • ShortsFeatureTests
  • ShortsImplTests
  • SpeakerAnalysisImplTests
  • SpeechToTextImplTests
  • SubtitleEditorFeatureImplTests
  • SubtitlesImplTests
  • TimelineFeatureImplTests
  • …and 9 more

Generated from Swift package manifests and documented runtime scenarios.

@iosdevsx
iosdevsx merged commit 895941c into main Aug 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant