New sheets use paper-brush-v5, which simulates paper, water, pigment and brush. Blooms, dark drying edges, granulation and dry-brush breaks happen as material behaviour; read material-v5.md for how to cause them. The examples and numbers on the cards below were checked on paper-brush-v3 and still apply to v3 sheets (watercolor-standard-v1). paper-brush-v4 is an optional comparison. How far each technique has been checked with real images and fresh AI agents is recorded per card.
Basic 4 · Optional add-on 2 · Needs testing 5 Status is a usage category, not a quality rating
AI agents: /llms.txt → agent-index.json → agent/{id}.json This page is the human view of the same catalogue.
A technique does not impose a correct look. At each stage, set an aim, compare it with the actual image, guess one cause and test a small change. Bands, grain and hard edges may stay when they serve the aim. If nothing improves, go back to the earlier trial and change the hypothesis or the technique. Saving a file is not the same as reaching the aim.
From the subject and any reference, decide the focal point, the values and the whites to keep. Use references for looking only; never paste them onto the paper.
On a small test sheet, try water, brush width and waiting time one condition at a time.
Lay in thin, large areas first, and check composition and values in intermediate images.
Add only the contours and details the focal point needs. Do not accept trials that got worse.
Check the whole image and close-ups, then save the accepted PNG and scene JSON.
Opening a test-swatch example
Run it in the studio, or load the JSON file from the page. Loading an example does not change the artwork until you accept it.
const state = emakiStudio.observe({includeImage: false});
const scene = await fetch('/sketch/skills/examples/prewet.json').then(r => r.json());
const trial = await emakiStudio.preview(scene, {expectedRevision: state.revision});
// This is a separate small test sheet, not an addition to the artwork.
// Look at the image. Do not accept it unless you want the test sheet to replace the artwork.
// “Current painting” on the page returns to the adopted painting.
// Old examples keep their original paper. When moving strokes to new work, do not copy the header:
// keep the paper settings from emakiStudio.scene() and retest the effect on a small trial.
Basic · paper-brush-v3
Keep edges
Preserve focal silhouettes
Test-swatch JSON Input schema checked. For how far images were evaluated, see the steps, limits and source records.
Steps
Skip prewetting; on used paper, wait and test spread.
Place one low-water narrow stroke.
Compare immediately and after wait.
Check in the image
Contour remains legible.
Failure signs for this aim
Spreading or thickened details.
Repair
Change water OR the normal-drying wait before details; test spread. Longer wait is not a universal duration. Do not thicken lines to hide grid limits.
Limits
water:0 does not dry paper; hold suspends drying. Wait affects the whole paper. One fresh-agent detail comparison, not a validated universal setting.
Plan unequal connected branches leading into foliage
Test-swatch JSON Input schema checked. For how far images were evaluated, see the steps, limits and source records.
Steps
Preserve baseline. Plan foliage masses and dominant vs subordinate forks before jitter.
Vary fork heights/spans; aim tips into intended foliage. Connect child open brush paths to parents; taper subordinate width.
Round turns locally by branch role. Avoid repeated elbows or uniform global smoothing.
Inspect joints; trial onset pressure, pigment or contact separately.
Compare bare swatch AND whole tree. Keep only visible improvements.
Check in the image
Connected hierarchy; deliberate exposure; no unwanted fan pattern or dark oval roots.
Failure signs for this aim
Unchanged skeleton under jitter; bare sideways branches; detached twigs; dry contact erases support.
Repair
Revise earlier paths, not white erasure. Restore dry settings if branches vanish; isolate pressure. Reject negligible gains.
Limits
V4 opt-in, one reference, no novice transfer. Example is a separate swatch, not a tree template. Omission is not a mask; wet areas do not clip paint. Straight branches can be intentional.
Test-swatch JSON Input schema checked. For how far images were evaluated, see the steps, limits and source records.
Steps
Prewet with opacity:0 brush.
Add color inside the damp band.
Wait; compare stroke seams and silhouette.
Check in the image
Seams soften without losing forms.
Failure signs for this aim
Parallel bands or collapsed forms.
Repair
Trial one cause: pass overlap, endpoint/pressure taper, OR brush.granulation. Keep the fixed sheet header, roughness and seed. For unwanted seams in an initial wash, compare the SAME marks reordered water-first; later intentional rewetting is a separate stage. Inspect whole image; jitter alone does not connect paint.
Limits
Wet regions are not masks. Smooth gradients are not guaranteed. These repairs are hypotheses, not validated recipes.
Test-swatch JSON Input schema checked. For how far images were evaluated, see the steps, limits and source records.
Steps
Plan untouched areas before painting.
Stop strokes before edges, accounting for brush width.
Vary endpoints and pressure.
Check in the image
White space supports composition.
Failure signs for this aim
Uniform white border or rounded repetitive endings.
Repair
For wrong large white shapes, revise the EARLY wash paths, turnarounds and pressure. Fine added edge strokes did not repair one cloud silhouette. Inspect negative space at thumbnail scale; retain intentional framing.
Limits
White is not eraser; lift cannot restore arbitrary white silhouettes. Fine cloud contour and natural lost edges remain partial.
No minimal example yet. See the source records for the matching spec and runs.
Steps
Prewet across the colored edge.
Wait; pull outward with a damp brush.
Inspect before water, after water, after pull.
Check in the image
Only the intended edge softens.
Failure signs for this aim
Pale grooves, colored tails, retained outlines.
Repair
Try small detached candidates; reject regressions.
Limits
Treatments rejected for studied paintings. lift: zero opacity, no supply; collects mobile pigment, not fixed-pigment erasure or a finite-capacity tissue. Neighboring wet paint may refill. See field-notes.md only if needed.
Compare matched subject crops. Test pale interior underpainting for fragmentation; change contact/water deliberately and restore the earlier version if worse.
Limits
One local tree study. No novice validation. V4 requires the explicit trial guide; v3 stays default.
Compare transported pigment and integrated paper without losing the baseline
Test-swatch JSON Input schema checked. For how far images were evaluated, see the steps, limits and source records.
Steps
Read material-v4.md; intentionally convert the two version tags on a detached standard scene.
Preview unchanged strokes, inspect whole image plus crop.
If mismatched, trial one technique change and keep or reject with a reason.
Check in the image
Desired wash variation with preserved silhouette and white paper.
Failure signs for this aim
Bands, excess halo, or lost cloud planes contrary to the aim.
Repair
Test prewet OR less water OR drying between stages; retain the baseline if worse.
Limits
Slower CPU opt-in; no calibrated physics/GPU parity. Whiter paper did not imply a better image: one cloud study rejected v4 blur, and reduced water did not resolve it. Preserve v3 baseline.
Every finished painting is delivered with a process video (no music yet) alongside the PNG and scene JSON. The video opens with 0.5 s of the finished painting, then shows the brush-by-brush process from blank paper with captions for each stage, and ends on the finished painting. You can also make it from Save → Save process video in the studio. Then, for every artwork, the agent always asks you whether to make matching background music with Gemini and add it to the video. No music is made until you clearly say yes. After a yes it uses Gemini’s browser UI within your existing subscription only, with no API or extra charges, and stops if payment is required. Emaki has no built-in Gemini integration.