# Artwork foundation

## Provenance

Twelve generated PNG drafts were supplied by the repository owner through their ChatGPT image conversation. They are archived unmodified in `assets/source/`. The original foundation used five processed PNGs; V3 expanded the runtime set to seven. The game does not fetch the originals. No reference photographs were copied into this repository. The tuxedo and grey cats were requested using reference photos; reference-photo rights and generated-output publishing suitability have not been independently verified. No CC0 or third-party asset license is asserted for these generated images. Review these questions before public/commercial release.

## Active scope

- Orange tabby: 24 frames, 6 columns x 4 rows, each 64x48 pixels.
- Mint yarn: four 32x32 frames.
- House, garden and sky: each 960x270, including a mirrored half.
- Tuxedo/grey cats, the alternate orange, the neighbourhood drafts and unused variants are archived only. There is no character selector.
- Floor and obstacles remain procedural. Cloudflare deployment, public scores and D1 are not part of this update.

## Processing

The cat source is 1536x1024, but its actual silhouettes do not stay inside exact 256x256 cells. Twenty-four large alpha-connected components (threshold 140; area above 2000 source pixels) were located, ordered by row and x, cropped individually, and scaled uniformly by 0.19 with nearest-neighbor sampling. Each crop is horizontally centered in a 64x48 cell with a common foot anchor at y=44. Alpha was thresholded to 0 or 255 after scaling. The final visible bottoms are all y=43, immediately above the anchor. This changes transparency and scale, not the archived source.

The yarn source is 2172x724. Four alpha bounds were detected within quarter-width regions, uniformly scaled to fit a 26-pixel extent, centered in 32x32 cells, and alpha-thresholded.

Backgrounds are nearest-neighbor resampled to 480x270, then followed by a horizontal mirror. The two seam boundary columns and outer wrap columns match exactly. Mirrored objects and repeated composition remain visible; these are playable foundation backgrounds, not final hand-authored seamless artwork. No 1920x1080 export or strict 8/12-color palette is claimed.

All source crop rectangles, dimensions and byte counts are in `assets/manifest.json`. Processing was performed in browser memory, with GitHub as canonical storage and no local project clone.

## Runtime

The loader checks natural PNG dimensions, falls back to existing procedural graphics on error or after eight seconds, and accepts a valid late image. Animated frames depend on active elapsed time rather than display refresh rate. Jump poses follow vertical velocity; y movement is still controlled by physics. The game-over pose is exempt from the invulnerability blink so the cat does not remain invisible when the timer stops.

## Remaining art gates

Review gait continuity and facial details; some AI-generated pose differences remain. Refine the mirrored scenery into deliberately tiled art if desired. A strict limited palette and handcrafted pixel cleanup are not complete. Real-device readability, audio, fullscreen and release licensing remain separate gates.


## V3 emotion variants and procedural furniture

Added `assets/sprites/cat-excited.png` and `cat-disappointed.png`, both 384x192, derived directly from the existing normalized orange-cat sheet. Frames 0-17 receive small hand-coded pixel eye/mouth edits; frames 18-23 remain identical for hurt/end priority. Frame size, grid, transparency and foot anchor are preserved. These are edited variants, not newly sourced third-party character art. Neutral chasing uses the original sheet.

Foreground tables, cups, plates, chandeliers, pendant lights and fragments are original Canvas primitives in `index.html`. No external furniture/lighting assets or sound samples were added. Break sounds are synthesized. Runtime PNG count is now seven; the twelve archived source PNGs are unchanged.


## V4 stairway and hanging shelves

The staircase treads, second-floor landings, supporting posts, ceiling beam, chains and variable-length shelf boards are original pixel-style Canvas primitives in `index.html`. Board colors distinguish short, medium and long shelves. All collision surfaces remain stationary; chains are decoration, not physics constraints. Existing cat/yarn/scenery PNGs and source archives are unchanged. The elevated-room backdrop reuses the existing house artwork with a procedural loft beam/sign overlay.

## V5 theme-specific obstacles

Field rocks, stumps, bushes, logs and branches; sky crystals, spiked stars, storm clouds, cloud platforms and comets; and the cloud runway are original Canvas pixel primitives in index.html. They are not downloaded stock assets or copied sprites. Only indoor tables carry breakable dishes. Existing seven PNG files, emotion variants, bundled recording and their rights/provenance are unchanged. World-space clipping aligns the existing scenery images with the obstacle zones. No new external runtime asset is required.

## V6 journey graphics

The butterfly and bird each use two original procedural wing frames. Transformation bursts, surprise punctuation, cloud lobes, distant sky scenery and hillside are also original Canvas pixel shapes. Pop audio is synthesized, not a downloaded sample. The existing cat sheets, ball sprite and PNG archive were not modified. In V6 the sky uses bright landable cloud routes rather than V5 ground hazards or a continuous cloud runway; distant decorative clouds are not collision surfaces.

## V8 boundary masonry and doorway

The brickwork, timber frame, outward-open door leaf, hinges/handle, threshold and stone hill edge are original procedural pixel graphics. The doorway clips the existing field scenery into its opening. New graphics are decoration behind the actor, not collision surfaces. Existing PNGs and audio files are unchanged.


## Current three-cat integration

The earlier archived-only status of tuxedo/gray is superseded in this test build. Run uses separately normalized original tuxedo/gray sheets at 384x192 with 24 frames and anchor [32,44]. Omok uses geometry-preserving palette derivatives of approved orange v8 peek/laugh/cry artwork. See assets/pompon/manifest.json for current provenance and crop coordinates; assets/manifest.json remains the historical Run foundation manifest. Original reference-photo rights and commercial-publication review remain unresolved, not granted by this normalization or test deployment.
