graphitepdf 0.4.0

A Rust PDF rendering engine for layout, composition, and rendering pipelines.
Documentation
# GraphitePDF Visual Identity

## Purpose

This guide defines the practical rules for using the GraphitePDF brand across
GitHub, docs sites, package pages, social assets, release graphics, and demos.

GraphitePDF is an open-source Rust library. The identity should communicate:

- reliability
- technical sharpness
- systems-level craftsmanship
- modern open-source polish

## Core Assets

- Full logo: `brand/logo/graphitepdf-logo-oss.svg`
- Brand mark: `brand/mark/graphitepdf-mark.svg`
- Palette guide: `brand/design-pallete.md`
- Tokens: `brand/tokens.json`
- CSS variables: `brand/colors.css`

## Logo Usage

### Preferred Usage

- Use the full logo when there is enough horizontal space
- Use the standalone mark for avatars, favicons, social thumbnails, and small UI
- Use the full logo in docs headers, landing pages, release announcements, and presentations

### Minimum Clear Space

Use clear space equal to the radius of the central rust core around the outermost
logo boundary.

Practical rule:

- keep at least `1x` unit of open space on all sides
- do not crowd the mark with badges, buttons, or borders

### Minimum Sizes

- Full logo digital minimum: `160px` wide
- Mark-only digital minimum: `32px` wide
- Favicon/app icon source should start from the mark, not the full logo

## Background Guidance

### Preferred Backgrounds

- deep graphite
- dark neutral surfaces
- soft warm off-white
- subtle metallic gradients

### Recommended Pairings

- Full logo on dark graphite backgrounds
- Full logo on off-white documentation backgrounds
- Mark on graphite cards with restrained shadow

### Avoid

- noisy photography behind the logo
- saturated multicolor gradients
- neon backgrounds
- low-contrast gray-on-gray placements

## Color Application

### Primary Brand Use

- graphite neutrals should occupy most of the interface or composition
- rust-orange should act as a focal signal, not the full environment
- strong contrast should be preserved in code-heavy and documentation-heavy layouts

### Open-Source Context

For a Rust library brand, keep visuals useful and legible:

- prioritize readability over decorative treatment
- use accent color to guide attention to releases, CTA links, and status highlights
- keep docs visuals restrained and functional

## Typography

### Brand Typeface

- `Space Grotesk`

### Use Cases

- hero headlines
- wordmark-adjacent headings
- docs site section headers
- launch graphics

### Supporting Type

- use a clean sans-serif system stack for general UI if needed
- use a monospace code font for terminal, snippets, and API examples

## Composition Style

GraphitePDF visuals should feel:

- geometric
- exact
- layered
- slightly tactile
- understated but premium

### Layout Rules

- use generous spacing
- align to clear grid systems
- prefer left-aligned technical layouts
- avoid excessive decorative framing

### Shape Rules

- hexagonal, faceted, and radial forms are on-brand
- beveled linework and internal structural strokes are welcome
- soft blob shapes are not on-brand

## Illustration and UI Direction

### Good Fits

- diagrammatic layouts
- node/flow visuals
- page/render/export motifs
- dark-mode documentation UI
- terminal-inspired release banners

### Avoid

- cartoon mascots
- cute or whimsical iconography
- glossy enterprise stock visuals
- abstract gradients unrelated to the palette

## Motion

If motion is used in marketing pages or demos:

- keep transitions smooth and deliberate
- use fade, glow, reveal, or slow rotational motion
- keep durations calm and controlled
- avoid bounce-heavy or playful easing

## Accessibility

- maintain strong contrast for text and controls
- do not rely on rust-orange alone to communicate state
- ensure logo use remains readable on both dark and light surfaces
- test small-size usage of the mark for clarity

## GitHub and Docs Recommendations

### GitHub

- use the mark as repository social/avatar source
- use the full logo in the main README or docs landing page
- keep release graphics dark, structured, and minimal

### Documentation

- use graphite backgrounds with off-white content surfaces or vice versa
- use rust-orange for links, highlights, and active navigation only
- keep code blocks crisp, dark, and high contrast

## Do

- be minimal
- be structured
- be technically elegant
- keep the brand consistent across docs and code surfaces
- let the mark and palette carry the identity

## Do Not

- stretch or distort the logo
- recolor the logo outside the approved palette
- surround the mark with clutter
- overuse accent orange
- dilute the identity with unrelated visual trends