This document specifies all permanent pages in the Mini4WD Manual SDK. Pages are identified by permanent IDs in the format P###. These IDs never change. The logical order of pages in a PDF is defined by Templates/PDF_CONFIG.yaml, not by the IDs.
For the extension mechanism (adding P011+), see the final section of this document.
| ID | Name | Required | Side Panel |
|---|---|---|---|
| P001 | Cover | Yes | No |
| P002 | Color Scheme | Yes | Yes |
| P003 | Materials | Yes | Yes |
| P004 | Preparation | Yes | Yes |
| P005 | Painting | Yes | Yes |
| P006 | Masking | Yes | Yes |
| P007 | Details | Yes | Yes |
| P008 | Decals | Yes | Yes |
| P009 | Premium Variant | No | Yes |
| P010 | Final Checklist | Yes | No |
A manual that omits P009 is valid. All other pages are required. A manual that omits any other page fails the QA check QA-086.
Purpose: Creates the first visual impression. Establishes the model identity, paint scheme name, and SDK brand. The cover must communicate quality and craft before the reader opens the manual.
Input (from PROJECT.yaml):
{{project.modelName}}— full model name, displayed at Display size (48pt minimum){{project.series}}— chassis or series name, displayed at H3{{project.paintScheme.name}}— paint scheme name, displayed as subtitle{{project.renders.cover}}— path to approved cover render image
Output: Single full-bleed illustration page. The render fills the page from the bottom of the header to the top of the footer. Title information overlays the lower quarter of the render on a semi-transparent TamiyaPrimary band.
Dependencies:
C001Header (TamiyaPrimary band, top)C002Footer (page reference, bottom)RENDER_GUIDE.md§2 (cover angle: 3/4 front-left, elevated 15°)RENDER_GUIDE.md§3 (Studio Neutral or Drama lighting)
Components Used: C001, C002
Checklist:
- Model name at minimum 48pt, TitleFont, white
- Paint scheme name visible as subtitle, H3, white
- Series name present, Caption size, white
- Cover render is 3/4 front-left angle per RENDER_GUIDE.md §2
- Render background is white or transparent
- TamiyaPrimary header band present (C001)
- Footer contains page identifier P001 (C002)
- Render minimum resolution: 2480×3508px (A4 @300dpi)
Best Practice: The cover render should show the model with its most visually striking angle. The TamiyaPrimary title band at the bottom must not obscure more than 25% of the render. If the render is too dark in the lower quarter, choose Drama lighting which concentrates illumination on the upper two-thirds.
Common Errors:
- Using a render with a gray or gradient background
- Missing the series name
- Using BodyFont instead of TitleFont for the model name
- Render resolution below minimum
Purpose: Documents the complete paint scheme in a three-view orthographic layout. This page is the technical reference for the color scheme — a reader must be able to reproduce the scheme from this page alone.
Input (from PROJECT.yaml):
{{project.paintScheme.name}}{{project.paintScheme.colors}}— array of paint colors with code, name, finish, swatch hex{{project.renders.colorFront}}— orthographic front view render{{project.renders.colorSide}}— orthographic side view render{{project.renders.colorTop}}— orthographic top view render
Output: Three-view orthographic layout (front, side, top) with color legend sidebar.
Dependencies:
C001,C002C003Palette (color swatches)C010Paint Legend (color-to-area mapping)C011Paint Code Box (per-color code reference)RENDER_GUIDE.md§2 (orthographic angles)
Components Used: C001, C002, C003, C010, C011
Checklist:
- All three views present: front, side, top
- All render angles are true orthographic (no perspective distortion)
- C003 Palette shows all colors in the scheme
- Each color in C010 has a corresponding C011 Paint Code Box
- Paint codes are in monospace font (MonoFont)
- Swatch hex values match COLOR_SCHEME.yaml
swatchHexfield - Side panel contains the full color legend (C010)
Best Practice: Number the colors in the scheme (Color 1, Color 2, …) and reference the same numbers in the three-view renders. This creates an unambiguous link between the diagram and the legend.
Common Errors:
- Using perspective renders instead of orthographic
- Missing a color from the legend that appears in the render
- Swatch colors that do not match the actual paint
Purpose: Lists all materials required to complete the paint scheme. This is the shopping list page. A reader must be able to use this page to gather all materials before starting.
Input (from PROJECT.yaml):
{{project.paintScheme.colors}}— generates paint list{{project.materials}}— additional materials array (masking tape, primer, varnish, etc.){{project.tools}}— optional tools array
Output: Organized materials list with paint codes, quantities, and supplier notes.
Dependencies:
C001,C002C004Shopping ListC008Warning (if hazardous materials are listed)C009Tips (for material substitution suggestions)
Components Used: C001, C002, C004, C008 (conditional), C009 (conditional)
Checklist:
- Every paint used in P005 and P006 is listed
- All paints include: code, full name, finish type (gloss/flat/metallic/etc.)
- Masking materials listed if P006 Masking is present
- Primer listed if preparation requires it (P004)
- Topcoat/varnish listed if P007 Details references it
- At least one C008 Warning if any material is flammable or requires ventilation
- C004 Shopping List component used (not a freeform list)
Best Practice: Organize materials by phase: (1) preparation materials, (2) base coat materials, (3) detail and masking materials, (4) finishing materials. This mirrors the sequence of later pages.
Common Errors:
- Omitting primer when the paint scheme requires it
- Missing safety warning for aerosol paints
- Listing tools on the materials page (tools belong in a separate section)
Purpose: Documents the preparation process: cleaning, sanding, priming. Steps must be numbered and illustrated. This page must be completable by a hobbyist with no prior experience.
Input (from PROJECT.yaml):
{{project.paintScheme.requiresPrimer}}— boolean, drives primer section{{project.body.material}}— polycarbonate or ABS, drives cleaning procedure
Output: Numbered step sequence with renders/photographs for each preparation stage.
Dependencies:
C001,C002C005Paint Sequence (adapted for preparation steps)C006CalloutC008WarningC009TipsC013Step NumberC014Time Box
Components Used: C001, C002, C005, C006, C008, C009, C013, C014
Checklist:
- Steps are numbered using C013 (not inline numbers)
- Each step has an accompanying render or photograph
- C014 Time Box present on at least the primer drying step
- C008 Warning present if sanding generates dust
- Primer section included if
{{project.paintScheme.requiresPrimer}}is true - Steps are in chronological sequence with no gaps
Common Errors:
- Skipping the cleaning step (common but essential)
- Omitting drying times (the reader does not know how long to wait)
- Generic steps not specific to the model's material
Purpose: The primary technical page. Documents the base coat and main color application in numbered steps. This is the page most readers will reference most often.
Input (from PROJECT.yaml):
{{project.paintScheme.colors}}— drives step sequence{{project.renders.painting}}(optional) — in-progress renders
Output: Sequential painting steps with color call-outs and time boxes.
Dependencies:
C001,C002C005Paint SequenceC006CalloutC008WarningC009TipsC011Paint Code BoxC013Step NumberC014Time Box
Components Used: C001, C002, C005, C006, C008, C009, C011, C013, C014
Checklist:
- Each color application is a separate numbered step
- Each step references the paint code in a C011 Paint Code Box
- Drying time specified via C014 for each coat
- Number of coats specified per step (e.g., "2 thin coats")
- C008 Warning present for aerosol application
- Coat direction specified where relevant (horizontal, vertical)
Common Errors:
- Combining multiple color steps into one step
- Missing coat count — reader doesn't know how many coats to apply
- No drying time guidance
Purpose: Documents the masking process for two-tone or multi-color schemes. If the paint scheme has only one color, this page may be abbreviated to a single note. If the scheme has complex masking, this page may expand to include multiple step sequences.
Input (from PROJECT.yaml):
{{project.paintScheme.maskingRequired}}— boolean{{project.paintScheme.maskingSequence}}— array of masking steps
Output: Masking layout diagram + numbered steps for tape placement.
Dependencies:
C001,C002C006CalloutC007Exploded View (for masking diagram)C008WarningC009TipsC012ZoomC013Step Number
Components Used: C001, C002, C006, C007, C008, C009, C012, C013
Checklist:
- Top-view diagram shows masking tape placement
- Critical edges highlighted with C012 Zoom
- Tape removal step documented (often forgotten)
- C009 Tip for sharp-edge masking technique
- If single-color scheme: page present but notes "No masking required"
Common Errors:
- Omitting the tape removal step
- No diagram showing tape placement (purely verbal instructions are insufficient)
Purpose: Documents detail painting: window frames, wheel arches, small accents, and any hand-painted elements. These are precision steps that require more care than base coat application.
Input (from PROJECT.yaml):
{{project.paintScheme.details}}— array of detail elements
Output: Close-up renders of each detail area with step instructions.
Dependencies:
C001,C002C009TipsC011Paint Code BoxC012ZoomC013Step NumberC014Time Box
Components Used: C001, C002, C009, C011, C012, C013, C014
Checklist:
- Each detail element has its own numbered step
- C012 Zoom present for any element smaller than 5mm
- Hand-painted elements noted with "fine brush recommended" tip
- All paint codes referenced with C011
Common Errors:
- Treating details as a footnote rather than their own step sequence
- Missing zoom views for small parts
Purpose: Documents decal placement. If the paint scheme includes no decals, this page must still be present and must state that clearly.
Input (from PROJECT.yaml):
{{project.decals}}— array of decal positions and identifiers
Output: Top-view and side-view diagrams with numbered decal placement positions.
Dependencies:
C001,C002C008Warning (for decal setting solution)C009Tips (for air bubble prevention)C012ZoomC013Step Number
Components Used: C001, C002, C008, C009, C012, C013
Checklist:
- Diagram shows every decal position by number
- Decal alignment references visible in diagram (panel lines, edge positions)
- Decal setting solution mentioned if applicable
- If no decals: page states "This scheme does not use decals"
Common Errors:
- Ambiguous decal placement (no alignment reference)
- Missing decal numbering that corresponds to the diagram
Purpose: Optional page documenting a premium or special-edition variant of the paint scheme. This may include metallic finishes, candy coats, additional decals, or upgraded materials.
Required: No. If omitted, the manual is still valid. When present, this page is inserted between P008 and P010 in PDF_CONFIG.yaml.
Input (from PROJECT.yaml):
{{project.premiumVariant}}— optional block; if absent, omit this page
Output: Variant description with comparison renders (standard vs. premium).
Dependencies:
C001,C002C003PaletteC009TipsC011Paint Code BoxC013Step Number
Components Used: C001, C002, C003, C009, C011, C013
Checklist:
- Comparison render shows standard and premium variant side-by-side
- Premium materials listed separately from P003
- Difficulty upgrade clearly noted (if premium requires advanced techniques)
- Page labeled "PREMIUM VARIANT" in C001 header right section
Purpose: The closing page of every manual. Provides a step-by-step quality review checklist that the hobbyist uses after completing the paint job. Also serves as the "done" moment — a reader who completes this page has finished the manual.
Input (from PROJECT.yaml):
{{project.modelName}}{{project.paintScheme.name}}
Output: Structured checklist with print/digital checkbox for each quality criterion.
Dependencies:
C001,C002C015Notes (for personal notes section)
Components Used: C001, C002, C015
Checklist:
- At least 10 checklist items covering: surface quality, color accuracy, decal placement, varnish coat, overall finish
- Items are specific to the model and scheme (not generic)
- C015 Notes block present for personal annotations
- Page labeled "FINAL CHECKLIST" in C001 header
Best Practice: End the checklist with a positive completion statement. The reader has invested time and craft. Acknowledge it.
Common Errors:
- Generic checklist not adapted to the model
- Missing the notes section (readers always want to annotate)
New pages can be added to the system without modifying existing pages. Follow this procedure:
- Reserve an ID: Increment from the highest existing ID (currently P010 → next is P011)
- Create the specification: Add a section to this document following the exact format of P001–P010
- Assign components: Specify which components the new page uses. Use existing components where possible.
- Create the prompt: Add a corresponding file to
PromptEngine/(e.g.,PromptEngine/NewPageName.md) - Update PDF_CONFIG.yaml: Add the new page to the page order specification in
Templates/PDF_CONFIG.yaml - File an ADR: Record the decision in
STYLE_DECISIONS.md - Update CHANGELOG.md: Add to the
[Unreleased]section, then include in the next MINOR release
⚠️ Warning: New pages added in a MINOR release must not be required in existing projects. New pages are always optional until a MAJOR release makes them mandatory. Required pages can only be added in MAJOR releases with a migration guide.
Added in SDK v2.4.0. Each page is now a self-contained content module with structured data, versioning, and lifecycle management.
Each page (P001–P010) is no longer just a generated image. It is a module stored in Projects/{Model}/{Variant}/ApprovedText/P{NNN}/ containing:
P{NNN}/
├── content.yaml ← PRIMARY: structured editorial data
├── text.md ← DERIVED: human-readable (from content.yaml)
├── metadata.yaml ← Lifecycle state, approval, QA status
├── manifest.yaml ← Asset list, components, dependencies
├── changelog.md ← Revision history
├── notes.md ← Editorial annotations (not rendered)
└── README.md ← Page module documentation
| State | content.yaml | Render Engine | Description |
|---|---|---|---|
draft |
Editable | No access | Initial generation, work in progress |
review |
Editable (tracked) | No access | Under editorial review |
approved |
Sealed* | Read access | Passed ContentValidation + TextValidation |
locked |
Immutable | Read access | Production-ready, no changes allowed |
rendered |
Immutable | Read-only reference | Render generated from this content |
released |
Immutable | Read-only reference | Published in PDF manual |
archived |
Immutable | No access | Superseded by newer version |
*Sealed: requires resetting metadata.yaml §approved: false to edit, with changelog entry.
Page modules are designed to be reusable:
- A locked P002 for "Proto Emperor v1" can be copied and adapted for a new color scheme
- Reused modules must update:
metadata.yaml §revision,page.version, andchangelog.md - Never reuse a locked module directly — always copy and create a new revision
When adding pages beyond P010:
- Assign next available ID:
P011,P012, etc. - Add to
Config/sdk.yaml §pages - Create
Projects/{Model}/{Variant}/ApprovedText/P{NNN}/with all required files - Create
PromptEngine/{PageName}.md - Add ADR in
STYLE_DECISIONS.md - Update
MANIFEST.yaml §pages