Skip to content

Add bounded parallel preview rendering#24

Merged
static-var merged 1 commit into
mainfrom
parallel-capture-rendering
May 25, 2026
Merged

Add bounded parallel preview rendering#24
static-var merged 1 commit into
mainfrom
parallel-capture-rendering

Conversation

@static-var
Copy link
Copy Markdown
Owner

Summary

  • add maxParallelRenders DSL property and CLI override
  • default remains 1 to preserve existing sequential behavior
  • execute planned captures with bounded parallelism using a fixed thread pool
  • keep dry-run/maxCaptures checks before rendering
  • preserve continueOnError aggregation and fail-fast behavior
  • include maxParallelRenders in capture reports

Behavior

  • -PagentPreview.maxParallelRenders=2 enables two concurrent render jobs
  • invalid, zero, and negative values fail with actionable errors
  • fail-fast mode stops scheduling new captures after first observed failure; already-started captures may finish
  • continueOnError=true continues through all planned captures and reports failures

Verification

  • build-brief ./gradlew spotlessCheck detekt :plugin:test :preview-scanner:test
  • ANDROID_HOME=$HOME/Library/Android/sdk build-brief ./gradlew -p samples/android-compose-app :app:captureComposePreviews --configuration-cache
  • ANDROID_HOME=$HOME/Library/Android/sdk build-brief ./gradlew -p samples/cmp-compose-app :composeApp:captureComposePreviews --configuration-cache

VLR smoke

In /Users/staticvar/Projects/vlr-gg:

ANDROID_HOME=$HOME/Library/Android/sdk build-brief --mode raw ./gradlew :designsystem:captureComposePreviews -PagentPreview.maxParallelRenders=2 -PagentPreview.previewNameFilter=PrismButtonPreview,PrismCardDarkPreview -PagentPreview.maxPreviewParameterValues=1 -PagentPreview.viewportFilter=phone --configuration-cache --console=plain

Result: BUILD SUCCESSFUL.

Review

  • Implementation delegated to subagent
  • Separate review subagent approved with no Critical/Major/Minor findings

@static-var static-var merged commit 8d52cf8 into main May 25, 2026
1 check 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