Skip to content

Redesign Shorts workspace - #11

Merged
iosdevsx merged 3 commits into
feature/modularization-appfrom
feature/shorts-redesign
Aug 7, 2026
Merged

Redesign Shorts workspace#11
iosdevsx merged 3 commits into
feature/modularization-appfrom
feature/shorts-redesign

Conversation

@iosdevsx

@iosdevsx iosdevsx commented Aug 7, 2026

Copy link
Copy Markdown
Owner

What

Redesign of the .shorts workspace in the modular ShortsFeature after the Claude Design mock (ShortsMode.jsx).

  • Header bar — accent icon, «N marked · total» summary, Suggest clips / New / defaults, primary Export all.
  • Stage — 9:16 preview with rounded frame, dashed platform safe-area guides, caption-style pill, speaker chip, and a clip-local transport (play/pause + scrubber with crop-point markers).
  • Library rail (268pt) — short cards with real still-frame thumbnails (AVAssetImageGenerator + in-memory cache), platform/framing/keyframe tags, duration with over-limit warning, duplicate/delete.
  • Inspector — collapsible, placed below the shared timeline (stage → source → inspector, as in the mock), three columns: framing cards + platform picker, crop focus canvas with keyframe lane, details (title, hook, in/out/length meters).

Contract changes

  • ShortsWorkspaceActions.duplicateShort (wired in ProjectFeatureAssembly via addShort + replaceShort).
  • ShortsWorkspaceState.speakers: [ShortsSpeakerBadge] — lightweight speaker info for the on-frame chip, no SpeakerAnalysis dependency.
  • ShortsWorkspaceRequest.isPlaying / onTogglePlayback for the stage transport.
  • ShortsFeatureFactory.makeInspector — the host places the inspector below the timeline.

All additions have defaults — existing call sites keep compiling.

Verification

  • swift build + swift test for ShortsFeature and ProjectFeature — green.
  • Full Framelingo-Tuist scheme build — BUILD SUCCEEDED.
  • iOS unaffected (IOSApp does not depend on ShortsFeature/ProjectFeature).

loginov.yuriy15 added 3 commits August 7, 2026 15:10
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 changed the title Redesign Shorts workspace after Claude Design mock Redesign Shorts workspace Aug 7, 2026
@iosdevsx
iosdevsx merged commit 8ba9aa7 into feature/modularization-app 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