Skip to contents

Use this before committing to a full pipeline run to catch empty canvases, corrupted files, or minimal-effort submissions. The function uses multiple signals with lenient thresholds (preferring false positives over false negatives) to avoid rejecting legitimate artwork.

Detection signals: - Non-empty timelapse MP4 segments (strong evidence) - Sufficient count of raster tile/chunk files (moderate evidence) - Dispersion of file modification times across multiple seconds (weak evidence)

Usage

assess_procreate_canvas(
  path,
  min_tiles = 25L,
  min_edit_seconds = 10L,
  verbose = TRUE
)

Arguments

path

Character. Path to .procreate file (ZIP archive) or an already- extracted directory. The function auto-detects which type based on whether the path is a file or directory.

min_tiles

Integer. Tile count threshold for "creative" classification. Canvases with >= this many tile files are considered to have content. Default 25. Lower for more lenient validation.

min_edit_seconds

Integer. Timestamp dispersion threshold. If distinct file modification seconds >= this value, treat as "likely edited" even without timelapse or tiles. Default 10.

verbose

Logical. If TRUE (default), prints a one-line summary of the assessment to the console for logging purposes.

Value

List with assessment results:

is_procreate

Logical. TRUE if basic Procreate structure detected

importable_probable

Logical. TRUE if likely openable in Procreate

creative_evidence

Character. One of: "definite", "probable", "weak", "none"

classification

Character. Final verdict: "DEFINITELY_CREATIVE", "PROBABLY_CREATIVE", "INDETERMINATE", or "NOT_CREATIVE"

n_mp4_nonempty

Integer. Count of non-empty timelapse segments

n_tile_files

Integer. Count of raster tile/chunk files

n_distinct_edit_seconds

Integer. Count of unique modification timestamps

reasons

Character vector. Diagnostic messages for any flags

df

data.frame. Full file listing with name, size, mtime_local, kind

Details

Validates that a path is a Procreate canvas (zipped .procreate or directory) and estimates whether it contains evidence of human creative work.

See also

Other canvas validation functions: valid-canvas, verify_creation_period()