===============================================================
CAMO CREATOR
Version 1.2.1
Author: Rob Seaverns (K0NxT3D)
===============================================================

PART 1 — USER GUIDE (LINUX BINARY USAGE)
===============================================================

OVERVIEW
--------
Camo Creator is a procedural camouflage generation utility
designed to produce seamless 2048x2048 PNG textures for use
in game skins, 3D modeling, simulation environments, and
asset development pipelines.

Version 1.2.1 introduces a structured 2–4 color segmented
camouflage engine with enforced terrain tone discipline.
All color generation follows strict channel dominance rules
to prevent hue drift, pastel contamination, and unrealistic
output.

The Linux binary version allows use without requiring a
Python installation.

---------------------------------------------------------------
RUNNING THE APPLICATION
---------------------------------------------------------------

If distributed as a standalone binary:

    chmod +x camo_creator
    ./camo_creator

The application launches a desktop GUI window.

No internet connection is required.
No external configuration is required.

---------------------------------------------------------------
INTERFACE OVERVIEW
---------------------------------------------------------------

The interface consists of:

• Header Section
  - Application title
  - Version number

• Control Panel (Left Side)
  - Terrain Template Selector
  - Color Count (2–4)
  - Seed Input
  - Layer Count
  - Region Scale
  - Angular Breakup
  - Generate Button
  - Export 2048 PNG
  - Save Preset
  - Load Preset

• Preview Area (Right Side)
  - Live 1024px pattern preview

• Palette Preview Strip
  - Displays the active generated color palette

---------------------------------------------------------------
TERRAIN TEMPLATES
---------------------------------------------------------------

Templates enforce constrained palette archetypes:

Ocean
    Cold naval blue-grey tones (Blue > Green > Red)

Woodland
    Earth-based greens with controlled warmth

Desert
    Sand / tan tones (Red >= Green >> Blue)

Mountain
    Neutral stone greys only

Zebra
    Pure black and white only

Dazzle
    Strict grayscale variations only

Ocean & Sky
    Light cool blue tones with blue dominance

Each template restricts color output to maintain
realistic military tone ranges.

---------------------------------------------------------------
COLOR COUNT (2–4)
---------------------------------------------------------------

The application supports 2, 3, or 4 color segmentation.

Unlike previous versions, transitions are not blended.
Colors are quantized into discrete structural bands.

This produces:
• Hard paint zones
• Real camouflage segmentation
• No gradient contamination

---------------------------------------------------------------
CONTROLS EXPLAINED
---------------------------------------------------------------

Seed:
    Integer value controlling structural randomness.
    Same seed always produces identical output.

Layers:
    Number of structural fields combined.
    Higher values increase breakup complexity.

Region Scale:
    Controls overall size of camouflage regions.
    Lower values = larger regions.
    Higher values = tighter segmentation.

Angular Breakup:
    Introduces directional interference.
    Useful for dazzle-style disruption.

Generate:
    Rebuilds preview using current parameters.

---------------------------------------------------------------
EXPORTING TEXTURES
---------------------------------------------------------------

Click:
    "Export 2048 PNG"

You will be prompted to select a save location.

By default, the application does NOT auto-save.
You must explicitly export.

Recommended Workflow for War Thunder:

1. Export 2048 PNG.
2. Open in image editor if needed.
3. Save into appropriate UserSkins directory.
4. Apply skin in-game.

---------------------------------------------------------------
PRESET SYSTEM
---------------------------------------------------------------

Save Preset:
    Stores full configuration to a JSON file.

Load Preset:
    Restores configuration from JSON file.

Preset files store:
    - Template
    - Seed
    - Layer Count
    - Region Scale
    - Angular Breakup
    - Color Count

---------------------------------------------------------------
WHERE FILES SAVE
---------------------------------------------------------------

Exported PNG:
    Saved to user-selected directory.

Preset JSON:
    Saved to user-selected directory.

The application does not auto-create internal
storage folders.

---------------------------------------------------------------
BEST PRACTICES
---------------------------------------------------------------

• Use 2 colors for naval realism.
• Use 3–4 colors for terrain complexity.
• Keep Region Scale low for hull-scale camouflage.
• Use moderate Angular Breakup for dazzle patterns.
• Save presets for repeatable production runs.
• Validate seamless wrapping inside your modeling software.

===============================================================
PART 2 — TECHNICAL DETAILS & DEVELOPER NOTES
===============================================================

APPLICATION FILE
----------------
Primary Python source file:

    camo_creator.py

LANGUAGE
--------
Python 3.9+

GUI FRAMEWORK
-------------
Tkinter (ttk themed widgets)

IMAGE GENERATION STACK
----------------------
numpy
pillow (PIL)
scipy.ndimage (gaussian_filter)

ENGINE DESIGN
-------------
Version 1.2.1 uses a segmented band-based camouflage engine.

The camouflage generator uses:

• Multi-layer low-frequency random fields
• Gaussian smoothing for macro structure
• Weighted compositing of structural layers
• Quantized band segmentation (2–4 colors)
• Terrain-based channel dominance rules
• Deterministic seed control

This eliminates:
• RGB drift
• Hue contamination
• Pastel generation
• Unrealistic tone artifacts

EXPORT PIPELINE
---------------
Preview:
    1024x1024

Export:
    2048x2048

All generation is deterministic based on seed.

---------------------------------------------------------------
PYTHON DEPENDENCIES
---------------------------------------------------------------

Install via pip:

    pip install numpy pillow scipy

---------------------------------------------------------------
RUNNING FROM SOURCE
---------------------------------------------------------------

    python camo_creator.py

---------------------------------------------------------------
COMPILING TO LINUX BINARY
---------------------------------------------------------------

Recommended: PyInstaller

Install:

    pip install pyinstaller

Build:

    pyinstaller --onefile --windowed camo_creator.py

Known Pillow Packaging Fix:

    pyinstaller --onefile --windowed \
      --hidden-import=PIL._tkinter_finder \
      --hidden-import=PIL.ImageTk \
      camo_creator.py

Output binary:

    dist/camo_creator

---------------------------------------------------------------
ARCHITECTURE NOTES
---------------------------------------------------------------

Core Class:
    CamoCreator

Primary Methods:
    generate_palette()
    multi_layer_field()
    render()
    export()
    save_preset()
    load_preset()

All processing is local and offline.
No network calls.
No external services.

---------------------------------------------------------------
FUTURE DEVELOPMENT
---------------------------------------------------------------

• Template-specific topology engines
• Historical naval measure presets
• Seamless tiling validator preview
• Pattern library system
• Metadata stamping in PNG export

===============================================================
END OF FILE
===============================================================
