# Project brief This is the canonical product direction. Read it and the [project checklist](RELEASE-CHECKLIST.md) before changing the renderer, website, generator or Bankr workflow. Keep existing docs consistent with explicit owner decisions; do not narrow the project to its current examples. ## Goal and origin One Bankr skill/request should coordinate generating a complete collection of simple source artworks, transforming each entire scene to the approved visual standard, and preparing the collection for an authorized launch. "Generate 1,000 images" means individual finished media and matching traits/metadata for all 1,000 tokens, not a contact sheet or three hardcoded subjects. The inspiration remains the owner's turtle NFT example, identified in this project's existing launch docs as Aspyn's Hood Turtles using Bankr and Net Protocol. The exact original turtle assets and encoding have not been independently verified here. Do not assume they were necessarily raster pixels or SVG. ## Standing decisions - **Boat is the approved quality benchmark.** Preserve the current boat transformation. Other examples have not received equivalent approval. - **Transform the whole image.** Backgrounds, water, foreground objects, lighting and small details must receive coherent treatment. Applying cloth to a sail while leaving the rest unchanged is not acceptance. - **Simple source on the left, transformed result on the right.** Preserve composition and trait identity. - **Boat, kite and cat are demo inputs, not product modes.** They appear in the Input selector's Demo inputs group beside source upload; the transformer must extend beyond these subjects. - **One page with integrated controls and explanations.** Do not create a separate workbench or remove the project explanation/artist guide. - **Keep SVG support.** Pixel art is a visual style; SVG and PNG are formats. Neither defines the product. Evaluate pixel/raster inputs without removing working SVG capabilities. - **Deliver the whole collection.** Each token needs finished media, consistent metadata and traceable source/recipe information. Contact sheets are QA aids. - **Inspect the incoming generator first.** The owner plans to share a large-scale NFT generation repository. Review its license, interfaces, layers, outputs, trait rules, seeds and batch behavior before selecting or rebuilding generation infrastructure. The original kite game's renderer remains a graphics reference, not a requirement that every object resemble a kite. The boat establishes the whole-scene quality standard. ## Working versus planned The single website has source/result comparison and integrated settings. Its WebGL renderer imports restricted SVG geometry or PNG/JPEG/WebP palette masks and applies shared lighting, procedural materials and seeded variation. Local uploads, layer materials, JSON recipes and 6/12/24-frame PNG contact sheets work. See [input contract](SCENE-SCHEMA.md). The separate `graphics/` package remains an unconnected raster-layer compositor and trait-selection starter. The new `service/` packages supplied sources into individual PNGs, metadata, recipes, manifests and pinned animated HTML viewers. Raster adaptation uses palette masks, original RGB detail and optional material hints, not semantic AI segmentation. Generator integration and 1,000-item scale validation remain open. The [website](https://suchnfts.miono.live/) and authenticated service are hosted. A real Base Sepolia NFT deploy/mint/transfer/Net test passed; [evidence and missing Bankr setup](TESTNET-REHEARSAL.md) are separate from website deployment. The full one-shot Bankr flow is not yet verified. ## Intended workflow 1. Interpret the collection brief, size, trait rules and approved art direction. 2. Generate source artwork and trait records using the selected generator. 3. Adapt source layers/geometry or raster palette regions to the transformer, retaining IDs, composition and traits. Supply material hints where color/position defaults do not match artistic intent. 4. Transform every scene using stable seeds, material recipes and a versioned renderer to the boat's quality standard. 5. Export individual full-resolution media and matching metadata; validate counts, duplicates, missing frames, trait consistency and visual quality. 6. Publish approved assets using an agreed storage/permanence strategy. 7. Have Bankr orchestrate the authorized native Bankr ERC20 and separate Net Protocol ERC721A launch, retaining receipts and verification evidence. One-shot means one coordinated workflow, not one atomic transaction or permission to spend without approval. No ERC404 conversion is implied. See the [launch runbook](BANKR-NATIVE-DUAL-LAUNCH.md). ## Format facts and open decisions - Net's NFT reference demonstrates on-chain SVG artwork, including pixel-style rectangles. NFT creation is not inherently raster-only. [Net NFT reference](https://raw.githubusercontent.com/stuckinaboot/net-public/main/skill-references/nft-collections.md). - OpenSea documents SVG images and HTML animation media. The service implements a static PNG plus pinned animated viewer; marketplace indexing and owner approval remain unverified. [OpenSea media documentation](https://docs.opensea.io/docs/media-and-traits). - Bankr's native ERC20 logo uploader rejects SVG/HTML. That applies to the token logo, not NFT artwork; prepare a supported raster logo for that path. [Bankr deployment reference](https://docs.bankr.bot/token-launching/api-reference/deploy-token-launch/). Choose source formats, raster adaptation, final media/animation packaging and storage after inspecting the incoming generator. Do not silently commit the product to SVG-only, pixel-only, fully on-chain or hosted-only artwork. Test marketplace compatibility with actual outputs before claiming success. ## Next checkpoint Review the owner's incoming generator, map its real outputs to the transformer and extend collection processing. Preserve the demo-input presentation and visually validate the approved boat throughout. Keep the checklist honest about what is still missing.