Skip to content
Pinky UI

Helix Gallery

A finite media sequence arranged along a shallow helix, never requiring users to navigate a 3D scene.

  • spatial
  • helix
  • 3d
  • gallery
  • experimental
Open plan01

Open plan

01 / 04
Shared studio02

Shared studio

02 / 04
Quiet room03

Quiet room

03 / 04
Long table04

Long table

04 / 04

Open plan

Usage

usage
import { HelixGallery } from "@pinky-ui/layouts";

<HelixGallery items={projects} radius={150} pitch={1.4} spacing={0.8} />

Props

PropTypeDefaultDescription
itemsSpatialCollectionItem[]Short labeled media items arranged around the selected item.
classNamestringStyles the outer layout surface.
disabledbooleanfalseKeeps the content and interaction while removing spatial choreography.

Accessibility

  • The selected item is focusable and previous/next buttons are always present.
  • Metadata is rendered in every item; depth is visual context only.
  • Reduced motion removes rotation and opacity staging.

Performance

  • CSS transforms avoid a WebGL context and use a bounded item count.
  • Only supplied media loads; the layout does not clone frames.

Reduced motion

Renders the same collection in a readable flat arrangement with no spatial transition.

When to use

  • A short art-directed collection where depth is a meaningful browsing metaphor.

When not to use

  • Large catalogs, essential documentation or repeated page sections.

Skill

Purpose

Use for a very short art-directed sequence whose media can be arranged along a shallow helix.

Use when

  • A portfolio or campaign has three to nine recognizable media items.
  • The selected item can be understood without exploring the whole 3D scene.

Avoid when

  • Users need to scan dozens of records or compare values.
  • The helix is merely decorative spinning.

Interaction

Selection, focus and previous/next controls move through the finite sequence. Touch swipe is optional acceleration; metadata stays attached to every item.

Reduced motion and performance

Flatten to a linear stack and remove opacity staging under reduced motion. Use CSS 3D transforms, do not preload a giant image sequence, and keep the item cap low.

Open this skill on its own page