Draft: Compose/KMP migration checkpoint, not merge-ready#358
Draft
rosuH wants to merge 400 commits into
Draft
Conversation
S4d-383 / A5a: one IosEditorScreenHost + EditorScreenShell(showPhotoStrip=false), Swift edges for pickers/Templates/share/save, DEBUG-only witness route, and XCUITest contracts (19/0). Ticket 01 accepted with gates under build/s4d383-a5a-final/.
Ticket 04 publishes the Desktop editor-window-only exception matrix. Tickets 02 and 03 document PhotosPicker-only and no-About Phase A exceptions pending owner sign-off before A5 closeout.
Tickets 02 and 03: PhotosPicker-only gallery edge and no About on iOS Phase A, approved by owner. Unblocks A5 closeout aggregation.
Aggregate tickets 01–04 (shipped iOS editor + owner-signed gallery/About exceptions + Desktop editor-window registry). Closeout gates green under build/s4d383-a5-closeout/; ticket 06 is unblocked. Not §9 DoD or Phase B.
B0 (ticket 06): docs/parity archive layout, screen×state inventory, and production-vs-debug capture protocol. Ready for tickets 07/08 sign-off work. No owner parity claims and no Phase B UI polish.
B1/B2 first pass on emulator-5554: launch, gallery/picker, editor, and export pairs under docs/parity. Grok-viewed comparison recorded; no owner sign-off claimed. Gallery path mismatch and editor/export deltas listed.
Narrow gitignore so Android Studio /captures stays ignored while Phase B docs/parity/**/captures evidence can be committed. Add en/dark production and debug pairs plus Grok comparison notes.
Owner: Android prefers in-app gallery with system Photo Picker via top-right; iOS/Desktop keep system pick. Strengthen .gitignore so docs/parity captures stay tracked; document policy and update B1 punch-list.
Debug pm-clear re-capture: in-app gallery primary, top-right system Photo Picker secondary, clean editor/export with default watermark text. Document remaining chrome punch-list; no owner sign-off.
Local en/dark production vs debug table with sticky nav and lightbox for Phase B screenshot review.
Use toolbar logo leading, unclip Content text as a live TextField, highlight selected option chips, and enlarge the photo strip. iOS keeps the Confirm sheet path for XCUITest. Capture editor-after-p0-fix for review.
Ticket 08 status and side-by-side board now point at editor-after-p0-fix.
Owner UX: tap Text opens a modal to edit watermark text; template entry sits top-end of the sheet. Carousel openSignal reopens on re-tap. Capture editor-text-sheet-open for review.
Wrap-height save sheet so the editor peeks above; continuous quality slider with 20-step snap on release; compact preview so the export CTA stays visible. Capture export-after-p1-fix for review.
Compute LazyRow side padding from row width so single (and short) export previews sit in the middle of the bordered preview box.
Ticket 08 complete after owner confirmed editor sheet, export sheet, and centered export-list preview. Non-blocking residuals noted.
Ticket 07 complete (launch + gallery). Tickets 07 and 08 both signed; ticket 09 iOS/Desktop alignment is unblocked.
Publish the signed-Android baseline exception table (E01–E16), verify shared iOS-sim compile, desktopTest 132/0, and desktop headless save flow. Unblocks ticket 10 DoD audit. No CJK byte-parity or PHPicker grid re-proof claims.
Honest checklist: overall §9 NOT MET; app/shared/desktop gates and createDistributable green. Owner-facing options A/B/C with no auto-merge. Refresh codex-goal-v2 current-truth; close local ticket 10.
Re-ran iosSimulatorArm64Test (101/0) and strict watermark goldens (53/0, strict=true); refresh audit, graduation proposal, and process truth.
Keep Draft; no push or merge. Document next polish residual.
Replace the MotionLayout debug WIP (huge green oval) with a horizontal preset row and restore skydoves ColorPickerDialog for custom colors.
Owner chose multiplatform ViewModel with ports and product UI on Compose Multiplatform; SwiftUI remains system-edge only.
Add multiplatform lifecycle-viewmodel to :shared, empty WatermarkSessionViewModel, and skill/performance migration gates.
Add AppIntent/SessionReducer, extend MainViewModel from WatermarkSessionViewModel, map Action to intents. Export stays Android.
Install the full Android CLI skill pack under project `.claude/skills` and `skills/` (claude-code + openclaw), refreshing the existing adaptive, navigation-3, and XML-to-Compose skills so agents share the same local set.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is a large
feat/migrate_to_composeintegration checkpoint. It is not merge-ready and should stay Draft until production-vs-branch 1:1 parity gaps are closed.MediaRef, removes the deadImageInfo.shareUri, and removes staleKEY_URI/SP_KEY_URI.CMonetdirectly.Verification
git diff --checkplutil -lint iosApp/iosApp.xcodeproj/project.pbxprojxcodebuild -list -project iosApp/iosApp.xcodeproj./gradlew :app:compileDebugKotlin :shared:compileKotlinDesktop :shared:compileKotlinIosSimulatorArm64 --max-workers=8 --console=plain./gradlew :app:testDebugUnitTest :shared:desktopTest :shared:iosSimulatorArm64Test :app:assembleDebug :app:assembleRelease --max-workers=8 --console=plain./gradlew --stop --max-workers=8 --console=plainKnown Limits
DEBUG/ UI-test-only-uiTestFixtureImagelane through the realWatermarkWorkflowandIosWatermarkRenderBridge; real PHPicker grid-cell automation remains unproven on this simulator/Xcode lane.