Skip to content

The Default Color Palette โ€‹

Foxel ships with a carefully designed 128-color default palette, optimized for pixel art and voxel workflows. It is structured, predictable, and intended to support shading, lighting, and material definition without constant palette micromanagement.

The palette is laid out as 16 rows ร— 8 colors.

Palette

Palette Structure at a Glance โ€‹

  • Each row represents a color family or semantic group

  • Each column represents a shade, from light (left) to dark (right)

  • The palette is designed so you can:

    • shade horizontally (within a row)
    • shift hue vertically (between rows)
    • avoid accidental jumps in brightness or saturation

Absolute white and black are intentionally reserved and not mixed into color ramps.

Row Overview โ€‹

Row 1 โ€” Neutral greys (reference row) โ€‹

Pure greys from white to black.

Purpose:

  • lighting reference
  • UI elements
  • outlines and silhouettes
  • contrast checking

This row contains the only true black in the palette.


Row 2 โ€” Cool greys โ€‹

Greys with a subtle blue bias.

Purpose:

  • metal
  • concrete
  • night scenes
  • technical or sci-fi materials

These shade more naturally into blue than into brown.


Row 3 โ€” Warm greys โ€‹

Greys with a subtle warm bias.

Purpose:

  • stone
  • architecture
  • skin shadows
  • natural environments

Useful where neutral grey feels too cold.


Row 4 โ€” Red โ€‹

A controlled red ramp with darker values drifting toward brown.

Purpose:

  • fabrics
  • blood, rust, clay
  • warm accents

Dark reds are intentionally muted to avoid synthetic-looking shadows.


Row 5 โ€” Orange โ€‹

A mid-warm ramp designed to stay readable across all values.

Purpose:

  • wood
  • dirt
  • fire
  • warm light interaction

Bridges naturally between red and yellow.


Row 6 โ€” Yellow โ€‹

A high-contrast yellow ramp that remains readable even in highlights.

Purpose:

  • sunlight
  • gold
  • stylized materials
  • UI accents

Yellows are tuned to avoid collapsing into white.


Row 7 โ€” Yellow-green โ€‹

A transitional ramp between warm and cool hues.

Purpose:

  • grass
  • foliage
  • toxic or alien materials
  • stylized lighting

Designed as a bridge between yellow and green.


Row 8 โ€” Green โ€‹

Natural, balanced green tones.

Purpose:

  • vegetation
  • organic materials
  • environments

Avoids overly neon greens to keep shading controllable.


Row 9 โ€” Cyan / blue-green โ€‹

A transition row between green and blue.

Purpose:

  • water
  • glass
  • energy effects
  • cool reflections

Helps smooth shading from green into blue without abrupt hue jumps.


Row 10 โ€” Blue โ€‹

The primary blue ramp.

Purpose:

  • sky
  • water
  • technology
  • cool lighting

Designed to be clean and versatile rather than overly saturated.


Row 11 โ€” Indigo โ€‹

A darker, cooler blue-violet range.

Purpose:

  • night scenes
  • deep shadows
  • sci-fi materials

Acts as a natural shadow companion to blue.


Row 12 โ€” Violet โ€‹

Purple tones without drifting into magenta.

Purpose:

  • magic effects
  • stylized materials
  • atmospheric lighting

Keeps a clear separation from pink and fuchsia.


Row 13 โ€” Earth / brown โ€‹

Low-chroma warm browns.

Purpose:

  • dirt
  • leather
  • wood
  • terrain

These colors intentionally desaturate in shadows for realism.


Row 14 โ€” Skin tones โ€‹

Hand-tuned skin colors, not mathematically generated.

Purpose:

  • characters
  • organic materials

Includes warm highlights, natural mids, and reddish-brown shadows. These tones are intentionally not perfectly linear to better match real skin.


Row 15 โ€” Muted multipurpose โ€‹

Low-saturation colors for blending and subtle shading.

Purpose:

  • ambient occlusion
  • fog
  • background elements
  • color mixing

Useful when full saturation would be distracting.


Row 16 โ€” Accent / utility โ€‹

High-impact colors and utilities.

Includes:

  • cyan
  • green
  • yellow
  • pure fuchsia (#ff00ff)
  • blue
  • orange
  • teal
  • pink

Purpose:

  • markers
  • effects
  • debugging
  • strong accents

Pure fuchsia is included intentionally for classic transparency and debug workflows.

Shading Philosophy โ€‹

  • Shade horizontally for predictable light changes
  • Move vertically to shift material or temperature
  • Chromatic colors do not reach pure black โ€” this preserves color identity in shadows
  • Absolute black is reserved for outlines and silhouettes

Customization โ€‹

The default palette is meant to be a strong starting point, not a limitation.

You can:

  • replace individual rows
  • extend the palette
  • build project-specific palettes on top of it

Feedback from the beta phase will help evolve this palette further.