treeger - Visual Design Philosophy
The approved visual direction for Treeger's foundations, identities, typography, iconography, layout, states, and motion.
Status: approved direction; initial production token and component-role migration completed in July 2026. Device review and typography refinement remain open.
North Star
Quiet structure, vivid landmarks.
treeger should feel calm enough to browse for a long time and distinctive enough to be recognisable without its logo. Files and folders are the visual subject; the interface supplies structure, orientation, and safe actions.
The palette supplies personality. It should not have to supply every background, icon, heading, and state. Large reading surfaces use quiet neutral foundations; brand colors appear at meaningful landmarks such as selection, focus, a primary action, the app identity, or a small section accent.
This is closer to a well-organised desk than a painted room: the working surface recedes, while labels and tools are easy to find.
Current Visual Diagnosis
The present implementation proved the palette and brand, but it also reveals the next design problems:
-
Cream fills nearly the entire light-mode viewport. Its warmth is attractive in a swatch but becomes a persistent yellow cast at screen scale.
-
Ochre colors section headings and nearly every file/folder icon, giving items of different importance the same emphasis.
-
Background and surface use the same token, so rows, navigation, and overlays have little structural separation except spacing and shadow.
-
Serif type gives treeger character, but using it for long filenames, metadata, controls, and menus adds visual texture where fast scanning matters.
-
Filled folder/file icons become repeated blocks of accent color. This makes a long list visually louder than its actions and selection state.
-
Theme accent colors currently double as error containers. Error, warning, success, and destructive actions need stable meanings across every palette.
-
Pinned and Quick access use different icon containers even though both are folder destinations. That variation is not yet communicating a clear meaning.
These are role-assignment problems, not reasons to discard the chosen colors.
System Principles
Content Leads
Filenames, thumbnails, paths, and selection state must be easier to identify than the surrounding chrome. Decoration never competes with content.
Color Is A Landmark
Color marks a small number of meaningful things: active destination, selection, focus, progress, a primary action, or brand identity. Repetition should reduce emphasis, not multiply it.
As a working target, strong palette colors should occupy much less than ten percent of a typical browsing screen.
Structure Comes From Space And Tone
Hierarchy should first use spacing, type scale, alignment, and subtle tonal surface changes. Borders and shadows are secondary. Color is not required to separate every section.
Familiar At Rest, Distinctive In Detail
Core file operations should follow Android expectations. treeger’s personality comes through its wordmark, typography contrast, careful geometry, transitions, empty states, and customisable Home—not unfamiliar basic controls.
Color Architecture
Separate Foundation, Identity, And Semantics
Use three independent color layers:
| Layer | Purpose | Examples |
|---|---|---|
Foundation |
Comfortable surfaces and readable text |
Canvas, surface, raised surface, primary ink, secondary ink, divider |
Identity |
treeger personality and wayfinding |
Canopy navy/ochre, Ember amber, Bloom berry; selection and primary emphasis |
Semantic |
Meaning that stays stable across palettes |
Error red, warning amber, success green, information blue |
Changing from Canopy to Ember or Bloom should primarily change the identity layer. It should not turn the whole workspace into a different-colored room.
Recommended Foundation Direction
The exact values require device testing; these are starting points, not approved tokens.
| Role | Light direction | Dark direction |
|---|---|---|
Canvas |
Near-neutral warm gray, approximately |
Charcoal with a restrained navy bias, approximately |
Surface |
Neutral white/off-white, approximately |
Slightly lighter than canvas, approximately |
Raised surface |
Soft neutral gray, approximately |
Approximately |
Primary ink |
Near-black with a subtle cool bias, approximately |
Soft off-white, approximately |
Secondary ink |
Opaque medium gray; do not rely only on alpha |
Opaque light gray |
Divider / outline |
Low-contrast neutral gray |
Low-contrast cool gray |
Pure white and pure black are unnecessary for large areas. The neutral foundation may carry a very small palette tint, but should appear neutral before it appears cream, pink, brown, or blue.
Reassign Existing Palette Roles
-
Canopy: Navy becomes the principal identity color. Ochre is a warmer secondary accent for a small highlight or special action. Cream becomes a brand tint for illustrations, selected containers, or marketing—not the full app canvas. Sage is a quiet supporting tint, not low-contrast body text.
-
Ember: Amber/Amber Deep supplies active emphasis. Bark and parchment may tint brand moments, but neutral foundation tokens still carry long reading sessions.
-
Bloom: Berry supplies active emphasis. Rose and peach are supporting tints. Bloom Cream should not fill every light-mode screen.
This preserves the work invested in the palettes while making them easier to live with. The theme chooser becomes closer to an identity/accent choice than a full surface recoloring system.
Theme Strategy And Maintenance Cost
Multiple themes are not a goal by themselves. Every production identity pack multiplies contrast checks, semantic-state combinations, screenshots, component QA, and future design decisions. A theme should stay only when it expresses a meaningfully different product character that users value.
Current recommendation:
-
Ship one visual system: a shared neutral foundation with Canopy and Bloom identity choices. Canopy remains the default because it is the strongest match for the treeger name, navy logo, and established brand assets.
-
Remove Ember from the planned production system. Once its bark/parchment surfaces become neutral, its warm amber/brown emphasis overlaps Canopy’s ochre character and does not justify a parallel QA surface.
-
Keep Bloom in production because its berry/rose character is genuinely distinct. Both packs share the exact same foundation and semantic tokens; only the short, documented identity-token list changes.
Semantic Color Rules
-
Error and destructive actions use a consistent red family in every theme.
-
Warning uses a distinct amber family and is never interchangeable with Canopy’s general accent.
-
Success uses green; information uses blue when a separate informational color is necessary.
-
Never rely on color alone. Pair semantics with an icon, label, placement, or shape change.
-
Destructive red is reserved. Routine remove-from-Home or dismiss actions should not look like permanent file deletion unless that is what they do.
Typography
Use typography contrast to combine character with utility.
| Role | Direction | Reason |
|---|---|---|
Wordmark |
Merriweather Bold |
Ownable brand expression |
Large screen title / important empty-state title |
Merriweather, restrained use |
Connects product UI to the wordmark |
Section label, filename, menu, button, settings text |
Bundled IBM Plex Sans |
Fast scanning, better long-name rhythm, familiar controls |
Metadata |
Sans-serif with tabular numerals where available |
Dates and sizes align without adding another type personality |
Path, checksum, technical identifier |
Monospace only when the content benefits from it |
Signals machine-readable detail |
Avoid bold as the default way to establish every level. A hierarchy of size, weight, tone, and spacing is quieter. Filenames should normally be medium or regular weight; selection should not cause text to jump in width.
IBM Plex Sans is bundled because it remains legible in dense utility interfaces while retaining more character than the default Android sans. Merriweather should remain the wordmark and occasional display voice; it does not need to prove the brand on every filename and control.
Text should survive 200% font scaling, long filenames, mixed scripts, and Android font substitution without losing actions or overlapping icons.
Iconography And File Representation
Base Icon Style
-
Use one optical family with consistent 24 dp geometry and stroke weight.
-
Outline icons are the resting state for chrome and generic items.
-
Filled icons indicate selection, an active destination, or a strongly typed object—not every row.
-
Do not place every icon in a colored circle. A container must communicate a state such as pinning, selection, or file type.
-
Keep icon color near secondary ink by default. Identity color is earned by active or important states.
Files, Folders, And Thumbnails
Use a progressive representation:
-
A real thumbnail when it helps recognition and can be produced cheaply.
-
A format-specific glyph or extension tile when a preview is unavailable.
-
A generic file glyph only when the type is unknown.
Folders can use a restrained outline or low-chroma fill. Pinned status should be shown by placement and an optional small pin marker, not a wholly different folder illustration.
For Peek and a future Spatial View, every file needs a visual tile. Use the real thumbnail when available; otherwise build a typographic thumbnail from a short, legible filename and extension. The absence of a preview should not exclude a file from the visual system.
Shape Language
The logo combines a sturdy vertical stem, a rightward branch, and a soft terminal
curve. Translate that balance—not the literal t—into components:
-
Mostly rectilinear alignment and clear vertical structure.
-
Soft but controlled corners: approximately 8 dp for small controls, 12-16 dp for cards/sheets, and larger radii only for large modal surfaces.
-
Pills only for chips, filters, or short binary states. Avoid pill-shaped rows, dialogs, and unrelated controls.
-
Use the same corner family across menus, dialogs, selection containers, and thumbnail tiles.
Cards should be used for contained concepts, not as wrappers around every row. Ordinary file lists remain flat and use spacing or subtle dividers.
Layout, Density, And Layering
Spacing
Use a 4 dp base rhythm with a small named scale. Prefer consistent section and row spacing to one-off padding. Home may be generous; folder lists should remain efficient enough for scanning.
Surface Levels
-
Level 0: app canvas.
-
Level 1: drawers and contained Home modules when containment is needed.
-
Level 2: temporary overlays such as menus, sheets, dialogs, and operation UI.
Permanent title bars, breadcrumbs, section headings, and ordinary list rows stay on Level 0 and use the same canvas. A section label and its content form one visual field rather than stacked color bands.
Separate levels primarily with tone. Reserve visible shadow for temporary things that truly float above content. The current sort menu is an appropriate elevation case; ordinary file rows are not.
Section Grammar
Recently Used, Pinned, and Quick access should share one visual grammar:
-
same header baseline and type role;
-
same outer margins;
-
same action placement;
-
same empty-state alignment;
-
content-specific row/tile layouts inside that structure.
This common grammar creates the foundation for a future Edit Home mode without
making each section look like a separate mini-application.
States And Feedback
| State | Visual treatment | Content rule |
|---|---|---|
Empty |
Small low-chroma line illustration or object icon; generous space; no large card |
Say what belongs here and offer one useful action when one exists |
Loading |
Delay transient indicators briefly; use a layout-matched skeleton for longer loads |
Keep the destination title and navigation stable |
No result |
Search/filter symbol in secondary tone |
Name the active scope and offer |
Recoverable error |
Compact semantic error icon and message near the failed content |
Explain what happened in plain language and provide Retry or another next step |
Invalid input |
Inline field outline, icon, and helper text; preserve entered content |
Say how to correct the value, not merely that it is invalid |
Unavailable file/folder |
Muted item or calm dialog; no alarming full-screen red |
Explain moved/deleted/disconnected possibilities and offer Remove, Locate, or Retry |
Permission required |
Neutral explanatory panel with a small shield/folder icon |
Explain why access is needed, its scope, and what remains possible without it |
Selection |
Low-chroma identity tint, check marker, contextual top bar |
Always show selection count and available actions |
Destructive confirmation |
Semantic red only on the destructive action |
Name the exact consequence and distinguish Trash from permanent deletion |
Operation in progress |
Compact persistent progress surface; determinate where possible |
Show operation, source/destination summary, progress, cancel, and conflicts |
Success |
Brief Snackbar or inline completion; avoid celebratory interruption |
State the result and offer Undo when meaningful |
Tone should be direct and human: This folder is no longer available is better
than Invalid URI; Try again is better than exposing an exception. Technical
details may be available behind a disclosure when they help troubleshooting.
Motion And Interaction
-
Motion explains continuity: a selected row enters the operation shelf, a Home module moves to its new position, or a thumbnail expands into Peek.
-
Routine transitions should generally finish in roughly 150-250 ms and remain interruptible.
-
Avoid ambient animation, bouncing empty states, and motion used only to attract attention.
-
Respect Android reduced-motion settings. Spatial View requires a low-motion navigation alternative before it can ship.
-
Touch targets remain at least 48 dp even when visual icons are smaller.
Applying The Philosophy To Key Screens
Home
Use a neutral canvas and a common section grammar. Recently Used may become a thumbnail-forward strip later; Pinned and Quick access remain clear destinations. Section labels should not all be large accent-colored serif headlines. One active or primary action may use identity color; repeated content icons should recede.
Folder Listing
Favor information rhythm: icon/thumbnail, filename, then metadata. Sans-serif filenames and quieter icons should make a long list easier to scan. Selection and file type then have enough visual room to become meaningful.
Decisions To Make Before Implementation
-
Confirm
Quiet structure, vivid landmarksas the overall direction. -
Compare at least three foundation prototypes on real devices:
-
warm-neutral canvas with white/off-white surfaces (recommended starting point);
-
cooler pearl-gray canvas;
-
very lightly palette-tinted canvas, capped at a subtle tint.
-
-
Use Canopy as the default production identity, retain Bloom as the alternate, and exclude Ember.
-
Test Merriweather-only against Merriweather-display / IBM-Plex-Sans-utility using long filenames, Settings, menus, and 200% font scaling.
-
Approve one icon treatment using a dense mixed-file folder, not an isolated icon sheet.
-
Prototype Home, Folder Listing, an empty state, an error, selection mode, and a dialog in both light and dark mode before changing production tokens.
-
Validate contrast and appearance at low brightness, outdoor brightness, OLED dark mode, and with common color-vision deficiencies.
Visual Comparison Artifact
docs/mocks/treeger-visual-direction-study.html holds the first controlled
comparison. It keeps screen structure and content substantially the same while
showing three columns:
-
current full-surface Canopy;
-
neutral foundation with Canopy identity;
-
the same neutral foundation with Bloom identity.
Tabs compare Home, a dense Folder listing, and representative empty/error/ selection states. Ember is excluded intentionally. This study is for deciding whether the neutral foundation and typography split improve the current design; it is not a proposed production layout or finished icon set.
The HTML study names IBM Plex Sans first and can fall back to the local system sans when Plex is not installed. The Android app itself bundles Regular, Medium, and SemiBold weights, so the in-app Visual Lab is the typography reference.
Non-goals
-
Literal tree, leaf, bark, or branch decoration across normal screens.
-
A different component language for every palette.
-
Cards around every item.
-
Color as the only status indicator.
-
Novel controls for standard actions merely to look different.
-
Making the default file list visually resemble the experimental Spatial View.