@@ -568,54 +568,54 @@ Use the Flutter backend on older supported devices.
568568
569569### Phase 5 - Convert the Flutter SDK into a plugin
570570
571- - [ ] P5.01 Add Android plugin metadata to ` tugboat ` .
572- - [ ] P5.02 Add Apple plugin metadata to ` tugboat ` .
573- - [ ] P5.03 Add the Android plugin class.
574- - [ ] P5.04 Add an Apple capability stub.
575- - [ ] P5.05 Add Pigeon to the development toolchain.
576- - [ ] P5.06 Define ` getCapabilities ` .
577- - [ ] P5.07 Define ` capture ` .
578- - [ ] P5.08 Define ` dispose ` .
579- - [ ] P5.09 Generate the Dart bridge.
580- - [ ] P5.10 Generate the Kotlin bridge.
581- - [ ] P5.11 Generate the Swift bridge.
582- - [ ] P5.12 Add generated-file verification to CI.
583- - [ ] P5.13 Add ` TugboatScreenshotCaptureBackend ` .
584- - [ ] P5.14 Add ` flutterRepaintBoundary ` .
585- - [ ] P5.15 Add ` nativeCpuExperimental ` .
586- - [ ] P5.16 Make ` flutterRepaintBoundary ` the default.
587- - [ ] P5.17 Add ` screenshotCaptureBackend ` to replay configuration.
588- - [ ] P5.18 Document the experimental status.
589- - [ ] P5.19 Keep current capture-scale defaults.
590- - [ ] P5.20 Keep JPEG quality 80.
591- - [ ] P5.21 Keep the current dHash threshold.
592- - [ ] P5.22 Keep the current frame transport schema.
593- - [ ] P5.23 Add a capture backend interface.
594- - [ ] P5.24 Move the current capturer behind that interface.
595- - [ ] P5.25 Add the native CPU backend.
596- - [ ] P5.26 Convert mask rectangles to normalized app coordinates.
597- - [ ] P5.27 Send only mask metadata to native code.
598- - [ ] P5.28 Send the previous dHash.
599- - [ ] P5.29 Send the forced-capture flag.
600- - [ ] P5.30 Receive only masked JPEG data.
601- - [ ] P5.31 Convert native timings into capture diagnostics.
602- - [ ] P5.32 Record the requested backend.
603- - [ ] P5.33 Record the resolved backend.
604- - [ ] P5.34 Record capture coverage.
605- - [ ] P5.35 Record the fallback reason.
606- - [ ] P5.36 Ignore stale native results.
607- - [ ] P5.37 Prevent duplicate frame publication.
608- - [ ] P5.38 Preserve current capture scheduling.
609- - [ ] P5.39 Preserve current session semantics.
610- - [ ] P5.40 Fall back when native capture is unsupported.
611- - [ ] P5.41 Fall back when the render surface is unavailable.
612- - [ ] P5.42 Fall back after a native timeout.
613- - [ ] P5.43 Fall back after ` PixelCopy ` failure.
614- - [ ] P5.44 Fall back after processing failure.
615- - [ ] P5.45 Do not fall back after cancellation.
616- - [ ] P5.46 Do not publish native and Flutter results together.
617- - [ ] P5.47 Limit retries after a known native failure.
618- - [ ] P5.48 Reset retry state after a lifecycle change.
571+ - [x ] P5.01 Add Android plugin metadata to ` tugboat ` .
572+ - [x ] P5.02 Add Apple plugin metadata to ` tugboat ` .
573+ - [x ] P5.03 Add the Android plugin class.
574+ - [x ] P5.04 Add an Apple capability stub.
575+ - [x ] P5.05 Add Pigeon to the development toolchain.
576+ - [x ] P5.06 Define ` getCapabilities ` .
577+ - [x ] P5.07 Define ` capture ` .
578+ - [x ] P5.08 Define ` dispose ` .
579+ - [x ] P5.09 Generate the Dart bridge.
580+ - [x ] P5.10 Generate the Kotlin bridge.
581+ - [x ] P5.11 Generate the Swift bridge.
582+ - [x ] P5.12 Add generated-file verification to CI.
583+ - [x ] P5.13 Add ` TugboatScreenshotCaptureBackend ` .
584+ - [x ] P5.14 Add ` flutterRepaintBoundary ` .
585+ - [x ] P5.15 Add ` nativeCpuExperimental ` .
586+ - [x ] P5.16 Make ` flutterRepaintBoundary ` the default.
587+ - [x ] P5.17 Add ` screenshotCaptureBackend ` to replay configuration.
588+ - [x ] P5.18 Document the experimental status.
589+ - [x ] P5.19 Keep current capture-scale defaults.
590+ - [x ] P5.20 Keep JPEG quality 80.
591+ - [x ] P5.21 Keep the current dHash threshold.
592+ - [x ] P5.22 Keep the current frame transport schema.
593+ - [x ] P5.23 Add a capture backend interface.
594+ - [x ] P5.24 Move the current capturer behind that interface.
595+ - [x ] P5.25 Add the native CPU backend.
596+ - [x ] P5.26 Convert mask rectangles to normalized app coordinates.
597+ - [x ] P5.27 Send only mask metadata to native code.
598+ - [x ] P5.28 Send the previous dHash.
599+ - [x ] P5.29 Send the forced-capture flag.
600+ - [x ] P5.30 Receive only masked JPEG data.
601+ - [x ] P5.31 Convert native timings into capture diagnostics.
602+ - [x ] P5.32 Record the requested backend.
603+ - [x ] P5.33 Record the resolved backend.
604+ - [x ] P5.34 Record capture coverage.
605+ - [x ] P5.35 Record the fallback reason.
606+ - [x ] P5.36 Ignore stale native results.
607+ - [x ] P5.37 Prevent duplicate frame publication.
608+ - [x ] P5.38 Preserve current capture scheduling.
609+ - [x ] P5.39 Preserve current session semantics.
610+ - [x ] P5.40 Fall back when native capture is unsupported.
611+ - [x ] P5.41 Fall back when the render surface is unavailable.
612+ - [x ] P5.42 Fall back after a native timeout.
613+ - [x ] P5.43 Fall back after ` PixelCopy ` failure.
614+ - [x ] P5.44 Fall back after processing failure.
615+ - [x ] P5.45 Do not fall back after cancellation.
616+ - [x ] P5.46 Do not publish native and Flutter results together.
617+ - [x ] P5.47 Limit retries after a known native failure.
618+ - [x ] P5.48 Reset retry state after a lifecycle change.
619619
620620### Phase 6 - Validate privacy and correctness
621621
0 commit comments