Core Brand

Needle Brand System

Needle brand guide.

Identity

Use the approved logo assets. Each card includes downloads labeled by format and asset type.

  • The Needle logo must not be edited, distorted, recolored, or reconfigured.
  • Maintain clear space around the lockup equal to roughly the height of the wordmark letter e.
  • Use the full lockup unless Needle is already clearly identified nearby.
  • Use black artwork on light surfaces and white artwork on dark surfaces with strong contrast.
  • The wordmark font treatment is reserved for the actual Needle lockup and should not be reused for ordinary UI text.
Color lockup — symbol + wordmark together
Color lockup — symbol + wordmark together
Primary brand mark for light surfaces. Use this as the default logo anywhere the Needle brand needs to appear.
Black lockup — symbol + wordmark, single-color black
Black lockup — symbol + wordmark, single-color black
Monochrome variant for light surfaces when color is not available or appropriate.
White lockup — symbol + wordmark, single-color white
White lockup — symbol + wordmark, single-color white
Inverse variant for dark surfaces.
Color symbol only — no wordmark, no surrounding padding
Color symbol only — no wordmark, no surrounding padding
Use when space is constrained (favicons, app icons, avatar-sized spots) and the Needle name is already visible nearby.
Black lockup without padding — symbol + wordmark, tight bounding box
Black lockup without padding — symbol + wordmark, tight bounding box
For inline placement in headers, toolbars, or dense layouts where extra whitespace around the mark is undesirable.
White lockup without padding — symbol + wordmark, tight bounding box
White lockup without padding — symbol + wordmark, tight bounding box
Inverse version of the tight lockup, for dark surfaces.
Black wordmark — the word 'needle' in the brand typeface, no symbol
Black wordmark — the word 'needle' in the brand typeface, no symbol
Rarely used alone. Only when the symbol is already visible separately and the name needs textual reinforcement.
White wordmark — the word 'needle' in the brand typeface, no symbol
White wordmark — the word 'needle' in the brand typeface, no symbol
Inverse version of the wordmark, for dark surfaces.
'Powered by Needle' badge, black
'Powered by Needle' badge, black
Attribution badge for third-party apps or scenes built with Needle Engine.
'Powered by Needle' badge, white
'Powered by Needle' badge, white
Inverse attribution badge for dark surfaces.
needle-icon-no-spacing-favicon.psd
Favicon source file (PSD)
Source artwork for generating favicon.ico at various sizes.
Favicon (ICO)
Favicon (ICO)
Ready-to-use browser favicon. Place at the root of the deployed site and reference via <link rel="icon" href="favicon.ico" />.

Reference Images

Product screenshots, Drive references, and related generation prompts for layout reference only. These are not logo, icon, or brand asset downloads.

Inspector — compact property editing and workflow density
Inspector — compact property editing and workflow density
Cloud — management page, not workbench
Cloud — management page, not workbench
Cloud — compact list rows and inline actions
Cloud — compact list rows and inline actions
Needle Inspector — Launch Graphic
Needle Inspector — Launch Graphic
Reference Image Drive Folder
Reference Image Drive Folder

Shared Google Drive folder for the related reference image set.

Reference Image Prompts

Generation prompt files for the related reference image sets.

Colors

Needle uses a tight green-led palette with clear background, text, accent, and border colors.

Core Brand Colors

Accent Colors

Background Colors

Text Colors

Border Colors

Brand Gradient

Primary brand gradient for marketing flourishes, onboarding accents, and rare high-attention highlights. Avoid using this inside workbench stages, inspector panels, queue cards, export presets, or segmented controls.

Coral
linear-gradient(135deg, #FEAC8B 0%, #FE5A46 100%)
Charcoal
linear-gradient(90deg, #40393B 30%, #222125 100%)
Lavender
linear-gradient(90deg, #CAB3ED 30%, #DE6CDC 100%)
Teal
linear-gradient(90deg, #A6D4D4 30%, #688D9A 100%)
Green
linear-gradient(90deg, #9BDE8A 30%, #5CBD79 100%)
Sand
linear-gradient(90deg, #F6DDBB 30%, #F19931 100%)
Rose
linear-gradient(90deg, #FFB8B4 30%, #EF8E89 100%)

Typography

Typography roles for titles, labels, body copy, and code.

Hamburgevons 0123
Nunito Sans
Hero headlines, section titles, and the dominant UI typography.
displaybody Download
Hamburgevons 0123
Oblique
Reserved for the Needle lockup and wordmark artwork only.
wordmark Download
Hamburgevons 0123
IBM Plex Serif Italic
Occasional editorial accent or italic pull quote treatment.
accentSerif Download
Hamburgevons 0123
Monaspace Neon
Inline code, code blocks, JSON/data views, and terminal-style technical output.

display

Hero titles, landing page feature names, and the strongest title moments.
Confident, rounded, compact, and highly legible.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

page-title

Primary title at the top of a docs page, marketing section, or a major standalone view. Do not use this as the default title size for everyday workbench tools.
Strong but calmer than display.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

section-title

Section headings and prominent content grouping labels.
Clear, friendly, and compact.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

tool-title

Compact titles inside product headers, toolbars, modal heads, and operational shells. The `header-tool` component deliberately applies its lighter product-name treatment through header-specific variables.
Direct, technical, and not promotional.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

panel-title

Inspector group titles, sidebar section headings, compact cards, and data panels.
Small, sturdy, and matter-of-fact.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

MICRO-LABEL

Overlines, metric captions, compact status labels, and inspector metadata.
Quiet, technical, and highly compact.
SELECTED MATERIAL
Family: Nunito Sans

metric

Numeric status readouts, compact KPIs, and operational summaries.
Readable, dense, and stable.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

body

Paragraphs, standard UI copy, and descriptive text.
Quiet, readable, and neutral.
Needle Engine lets you build rich 3D experiences for the web. Import your scene, add interactive components, and deploy to any platform — all from a familiar workflow. Lightweight, fast, and built on open standards like glTF and three.js.
Family: Nunito Sans

body-muted

Secondary explanation, timestamps, counts, and supporting metadata.
Softer than body but still crisp.
Needle keeps technical interfaces calm and welcoming
Family: Nunito Sans

label

Field labels, tabs, small buttons, and compact interface labels.
Firm and tidy.
Export settings
Family: Nunito Sans

code-inline

Inline code, identifiers, and short technical terms. Use em not rem so the size scales relative to surrounding body text and appears optically similar in height.
Clean, structured, and understated.
Use engine.load() to import a glTF scene at runtime
Family: Monaspace Neon

code-block

Larger code samples and dense technical information boxes.
Spacious, readable, and calm.
const scene = await engine.load('/city.glb');
Family: Monaspace Neon

Principles

Needle pages should stay calm, compact, and clear. Tools should feel like tools, not marketing pages.

Principles, page types, and anti-patterns Show the full guide.

Surfaces

  • Use a very light green page stage with white working surfaces.
  • Use solid surfaces in workbench UI.
  • Do not use blur, glass, or decorative gradients in normal panes or buttons.
  • Do not turn small facts into separate cards by default.
  • Keep the stage neutral or dark and let the content provide the texture.
  • Treat the stage as a working viewport, not a poster illustration.

Layout

  • Start from the primary task and surface, not from a preferred layout or hero header.
  • Fit the main workflow into the first viewport.
  • Use a stage only when the user is inspecting or manipulating a visual result.
  • A three-pane shell is common, not mandatory.
  • When a stage is present, keep it wider than the side panes.
  • Place controls close to the object they change.
  • Keep presets next to the settings or objects they affect.
  • Use tabs, drawers, or modals for secondary steps.
  • Use one shell before introducing nested cards.
  • Left and right panes should have different jobs. Do not mirror them.

Interaction

  • Reuse the core classes from brand.css before writing custom control CSS.
  • Segmented controls are one joined row of small segments with shared borders.
  • Keep segmented controls small and identical across header, stage, and inspector.
  • Slider rows are direct: label, value, then one real range input. No extra box.
  • Boolean rows are direct: label plus checkbox. No phone switch. No outer box.
  • Color-driven tools should expose real color inputs and direct hex values. Add one alpha slider row when opacity matters.
  • Tags are small, thin-bordered, and lightly tinted. No gradients.
  • Buttons in workbench UI are solid. Do not use gradients.
  • Use one small-control radius family per tool row. Do not mix multiple radii side by side.

Hierarchy & Trees

  • Tree views and nested lists use a consistent indentation rhythm so structure is scannable at a glance.
  • Rows stay content-height rather than oversized so trees remain dense and navigable.
  • Expand/collapse affordances (arrows or folder icons) sit to the left of the label. A single click toggles expansion; double-click or Enter activates.
  • Selection is shown with a subtle background fill (pale green or neutral tint), not a heavy border or color block.
  • Hover state is a lighter tint of the selection color. Keep the contrast low — just enough to confirm the pointer target.
  • Use connector lines or indentation guides only when they improve scanning. Keep them very light.

Information Density

  • Build the inspector as one continuous pane.
  • Use section dividers, alignment, and spacing instead of boxing every row.
  • Keep pane headers brief and singular.
  • Use tabs or modes instead of showing every surface at once.
  • Prefer compact rows and lists before larger cards or tiles.

Content Economy

  • Keep tool titles short.
  • In workbench headers, order the identity as Needle lockup, light-weight product name, then optional muted context on the same line.
  • Pane headers should not restate their own role.
  • Helper text is short and local.
  • Long explanation belongs in docs, onboarding, help, or empty states.

marketing

Marketing pages are brighter and more playful, with floating pills, gradients, and larger type.

  • Keep the backdrop light and optimistic.
  • Use the brand or CTA gradient in focused, high-value moments only.
  • Let the lockup and call to action breathe inside large rounded panels or pill bars.
  • Use the header-pill plus footer-area shell for full marketing pages.

docs

Docs pages are quieter and more structured, on the same soft green stage with white content blocks.

  • Use one clear page title, then move into the content. Avoid marketing-style slogan stacks.
  • Use purple for link emphasis and navigation state more than bright green buttons.
  • Callouts are softly tinted green or blue on top of the pale page.
  • Code blocks are white and rounded, with restrained borders and plenty of internal padding.
  • Use the header-pill plus footer-area shell for full docs pages.
  • Footer links inherit the footer text color. Do not let browser-default violet show through.

management

Management pages are operational overviews and browsing surfaces. Use them for uploads, libraries, project lists, and cloud-style organization pages.

  • Use `header-pill` by default.
  • Keep one shared content width across the header, main sections, and footer inner content.
  • Prefer rows, tables, lists, and compact cards over a stage-first layout.
  • Use cards only where they group genuinely different content.
  • Footer is optional. Use `footer-area` only when the page ends like a website.

workbench

Workbench pages are hands-on product pages. Use them for focused tasks where the user is creating, editing, inspecting, or processing something.

  • Choose `header-tool` for dense operational pages. Use `header-pill` only if the page behaves more like browsing or management.
  • No hero.
  • Use the real Needle lockup when branding appears.
  • Order header identity as Needle lockup, light-weight product name, then optional muted file or project context on the same line.
  • Decide the primary surface first.
  • Use a stage only when the result itself needs space.
  • If the task is mostly configuration or review, a two-column or single-pane layout may be better than a stage-first layout.
  • Group presets with the settings or objects they affect.
  • Add side panes only when they help the workflow. If both are present, they should have different jobs.
  • Reuse the same segmented control in the header, stage, and inspector.
  • Use direct property rows, check rows, and color rows inside the inspector.
  • Use a neutral or dark stage when the page needs a visual work surface.
  • Status is inline or optional. Do not add a KPI card row by default.
  • No blur, no glass, no marketing footer.

settings

Settings pages use white panels on green, clear labels, and compact spacing.

  • Use distinct white panels, but keep them compact and quiet.
  • Use tabs and segmented controls in the same compact viewer-style treatment used elsewhere in the product.
  • Keep only the active settings group in focus. Use tabs or sections to avoid overwhelming the user with everything at once.
  • Keep forms readable, direct, and factual rather than glossy or promotional.

data

Data-heavy and inspector views use mono details, white panels, and muted separators on a pale green stage.

  • Place structured data inside white rounded containers.
  • Use the Monaspace-style mono face selectively for identifiers, values, JSON structure, and technical labels.
  • Prefer light separators and spacing over dense grid lines.
  • Keep inspector rows compact and aligned. Avoid nested boxes around each field or duplicated summary panels.
  • Apply the data-ink ratio principle: remove any UI element that does not directly help the user read or compare values.

Anti-Patterns

  • Do not use a hero header in a workbench.
  • Do not use `header-pill` inside dense editors, inspectors, or technical panes.
  • Do not add a four-up KPI card row under the header by default.
  • Do not mirror the left and right sidebars.
  • Do not use gradients in normal panes, segmented controls, or workbench buttons.
  • Do not use multiple slider styles in one tool.
  • Do not mix multiple button radii in the same control row.
  • Do not box sliders, toggles, or small metrics in their own mini-cards.
  • Do not append a page-level footer strip to a workbench.
  • Do not redefine the core brand.css component classes.

Iconography

Use Material Symbols Rounded with the outline treatment in product UI. Use Lucide in marketing and docs.

  • Use one icon family per surface: Material Symbols Rounded for product UI, Lucide for marketing and docs.
  • Use Material Symbols Rounded in product UI. Use the outline treatment with variable font settings: opsz 20, wght 300–400, FILL 0, GRAD 0.
  • Use Lucide in marketing and docs.
  • Prefer outlined icons with rounded joins at around 20×20 optical size and 1.5–2px stroke weight.
  • Icons should feel secondary to text — use them to reinforce meaning, not replace labels. Icon-only buttons need a tooltip or accessible label.
  • Use a neutral text color for icons by default; tint with the brand green or purple only for active/selected state.
  • Keep the icon vocabulary small and consistent within a product: one icon per concept, reused everywhere that concept appears.
  • Mark icon elements with class='notranslate' and translate='no' so machine-translation services do not mangle icon ligatures.

Material Symbols Rounded

Material Symbols Rounded is the primary icon set for product interfaces—editors, viewers, and toolbars. Icons are functional, never decorative: they clarify meaning beside labels, indicate state, and support hierarchy in trees and toolbars.

Navigation & Actions

Buttons and navigation pair a Rounded icon with a text label.

Upload Settings Share

Status Indicators

Compact icons communicate state without excess text.

Ready Warning Error

Tree & Hierarchy

Chevrons, visibility, and type indicators structure inspector trees.

Scene
DirectionalLight
MainCamera
MeshRenderer

Inline & Contextual

Context menus and form controls use icons to reinforce affordance.

Lucide

Use Lucide for marketing pages and docs.

Navigation & Actions

Marketing buttons use Lucide icons with labels.

Download Open Docs

Status & Feedback

Inline status uses Lucide icons at matching text scale.

Ready Warning Error

Documentation

Docs use Lucide for callouts, navigation, and content.

Docs Tip API

Utility

Small utility icons for copy, share, and contextual actions.

Component Playground

Main Needle UI patterns.

Asset Optimizer warehouse_master.glb / progressive-product
orbit • fit • isolate warnings
LOD Preview
Build

Start here for tools: compact header, inline status, one main stage, and compact supporting panels.

Use the compact workbench shell when the page needs one dominant work surface. Reuse `.workbench-shell`, `.header-tool`, `.workbench-grid`, `.stage`, `.pane`, and `.segmented-control` from brand.css. Status strip is optional. Choose the arrangement from the task: stage plus inspector, two-column result plus settings, or one continuous inspector are all valid. Add panes only when they help. Use a stage only when the result needs space. Keep controls close to the thing they change. Do not mirror the sidebars. Do not add KPI cards under the header. Keep panes and buttons solid.

Accessibility

Rules for focus, motion, contrast, and translation.

Focus & Keyboard

Every interactive element must show a visible :focus-visible ring. The standard ring is 2px solid var(--border-focus) with outline-offset: 2px. Never remove outlines without providing an equivalent indicator.

Link focus

Reduced Motion

Page navigation uses instant jumps. When prefers-reduced-motion: reduce is active, transitions and animations also collapse to near-zero duration. Essential state changes remain visible; only decorative motion is removed.

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms;
    transition-duration: 0.01ms;
    scroll-behavior: auto;
  }
}

High Contrast

prefers-contrast: more strengthens borders, removes decorative shadows, and ensures minimum text contrast. forced-colors: active lets the OS palette govern foreground and background colors.

@media (prefers-contrast: more) {
  :root {
    --border-subtle: #666;
    --shadow-subtle: none;
  }
}
@media (forced-colors: active) {
  button { border: 1px solid ButtonText; }
}

notranslate

Machine-translation services can mangle Material Symbols ligature text. Protect icon elements with class="notranslate" and translate="no". Use this on icon spans and brand-specific terms.

<span class="material-icon-preview"
      translate="no"
      class="notranslate">
  settings
</span>