feat: build TSX wallpaper configs - #51
Conversation
brownie-ricon
left a comment
There was a problem hiding this comment.
Reviewed the diff against the TSX/build/apply-config slice and I don't see blockers.
What I checked:
wp buildkeeps caller-relative path handling scoped throughWALLPAPERS_CALLER_PWD/legacyCALLER_PWD, then evaluates the TSX from the caller directory so recipe-sideprocess.cwd()behaves as expected.- The generated
schemaVersion: 1JSON shape is accepted by the existing Swift setup decoder; extra TSX metadata such asname,id, andappsstays harmless for wallpaper-only application. wp apply --configthreads the resolved config path through both Bash/JQ reads andswift run setup.- This PR intentionally stops before app/window launch ownership, which matches the issue discussion.
Verification:
mise run test— pass, 18/18.- Manual smoke from
/tmp/wp-smoke:WALLPAPERS_CALLER_PWD=$PWD mise -C ~/agents/brownie/wallpapers run -q build, inspected generated JSON withjq, thenbuild --check— pass. bash -n .mise/tasks/build .mise/tasks/apply/_default .mise/tasks/shell lib/common.sh— pass.MISE_CONFIG_ROOT=$PWD shellcheck -x -e SC2034 .mise/tasks/build .mise/tasks/apply/_default .mise/tasks/shell lib/common.sh— pass; the excluded SC2034s are pre-existing exported-style globals inlib/common.sh.actionlintandgit diff --check— pass.- GitHub check
testis green.
Degraded/local-only notes:
swift testcannot run in this Linux review environment becauseCoreGraphicsis unavailable; CI covers it.- My installed
codebaseshim only exposeslint:mise-settings/lint:gum-table, so I could not locally rerun the full newer codebase lint list from the PR body.codebase lint:mise-settings "$PWD"passed before the missing-task boundary.
zeke-ricon
left a comment
There was a problem hiding this comment.
Reviewed the diff and I don't see any blocking issues. I checked the TSX runtime shape, caller-relative path handling, and the apply --config plumbing through Bash, jq, and Swift setup.\n\nVerification I ran locally:\n- mise run test — pass (18/18)\n- codebase lint:{mise-settings,bats-test-task,bats-test-helper,mcr-scope,or-true,shellcheck} "/home/runner/agents/zeke/wallpapers" — pass\n- git diff --check origin/main...HEAD — pass\n\nDegraded: swift test cannot run in this Linux environment because CoreGraphics is unavailable; CI's macOS job covers that.
Summary
wp buildfor Bun-evaluatedWALLPAPERS.tsxrecipesWorkspaceSet,Space, andZoneWALLPAPERS.jsonartifacts withschemaVersion: 1wp apply --config <file>and pass that config through to Swift setup for wallpaper generationWALLPAPERS_CALLER_PWDwith legacyCALLER_PWDfallbackScope
This intentionally stops before app/window launching. The generated artifact supports existing spaces/zones wallpaper config and leaves window identity/undo semantics for a later slice.
Verification
mise run testswift testbash -n .mise/tasks/build .mise/tasks/apply/_default .mise/tasks/shell lib/common.shcodebase lint:{mise-settings,bats-test-task,bats-test-helper,mcr-scope,or-true,shellcheck} "$PWD"git diff --checkManual smoke: built a temp
WALLPAPERS.tsxand ran Swift setup with--config/--generate-onlyat 64x64. This succeeded; cleanup removed the tiny generatedsmoke.1.pngfrom the real wallpapers output dir after confirming Swift tilde expansion ignored temporaryHOME.