Reconstructed CA3 pyramidal cell bodies, each in a different colour

hologram ui components

scifi-ui

tap to activate

A library of hologram and HUD parts for a dark page. Step rails, panels that boot up, a loading state that draws a cell, a modal surface, and a particle trace for media.

Step rail

One rail, three stops, each reported on a holobar:change event. Here it steps through three measured MICrONS viewers, carried across whole from the Cortex page: the brain at true scale, the nine cell types, and one spike crossing one synapse. Drag it, tap a tick, or arrow-key from the whole brain down to a single spike. Each viewer loads its real meshes the first time the rail reaches it, and only the one on screen renders.

two brains, one spacetrue relative size

Surfaces load when you reach them

Human cortex and cerebellum Mouse brain Mouse V1, inside the brain, where this volume was cut

The two buttons are for a keyboard: focus one and the arrow keys turn that brain, with shift for a bigger step. Every figure above is arithmetic on the bounding boxes recorded beside the meshes, so it moves if the surfaces are ever re exported.

nine cells, one volumedrag to turn, scroll to zoom

Meshes load when you reach them

Each cell is framed to the same size on screen so the shapes can be compared. Their real extents differ by more than a factor of ten, and that number is in the readout rather than in the framing.

one spike, one synapsethe route is measured

Both cells load when you reach them

Press it again before the first one lands

Presynaptic cell, the one that fires Postsynaptic cell, the one that receives The synapse, and the origin of this scene

What this animation is not. There is no membrane model behind it: no millivolts, no channel kinetics, no refractory period. The spark takes four seconds to cross those two and a bit millimetres because that is long enough to watch, and a real spike would cross them in a few thousandths of a second. What is measured is the route and the distances. Both meshes were re extracted in one frame centred on the synapse, so the bright green point is a real place in a mouse brain.

Underline that draws itself

A hairline draws out from under a heading when it first comes into view, and draws again when you point at it or tap it.

Reconstruction, stage two

Panel that boots up

Two bright heads run the border in opposite directions and meet, an inner backlight swells, and the panel resolves out of a blur. Once when it first comes on screen, and again every time you point at it or tap it. The masthead at the top of this page is the same component.

Reconstructed CA3 pyramidal cell bodies, each in a different colour
cell bodiesone colour each

Scan sweep

A thin line passes across a panel once when you point at it, tab into it or tap it, whatever the panel's height.

Wireframe diagram of the imaged tissue block with one cell inside for scale
The imaged block, 1 by 1 by 0.1 mm.

Image card

Near black ink instead of tinted glass, so the render pops. The rim and backlight live entirely in the box shadow, so nothing moves and the image is never repainted. Point at a card, or tap it, and a bright head runs the perimeter.

A mossy fiber terminal wrapped around a thorny excrescence
one bouton1 thorn, dozens of contacts

Dialog

The EyeWire II sign in modal, reproduced. A drifting particle field, a cycling gradient border, two counter rotating rings, and a materialise that settles through a soft overshoot. A real <dialog> opened with showModal, so focus is trapped and Escape closes it.

This is a visual component only. No authentication, no form element, nothing to sign into, and no request goes anywhere.

Loading state

The cell from the sign-in dialog, drawn again as a loading state. Every branch grows outward from the soma while you wait, and only once the cell stands complete do the action potentials begin to travel it. The bar reports a real count when you have one, rather than inventing a number.

loading meshes

Researcher profile

The EyeWire II researcher profile, the real component carried across whole: the tabs, the achievement badges, the streak and the trophy case. Open it, then click any badge for its detail. A visual component: no account, nothing to sign into.

visual component only

💎

Amy Sterling

@amy · 48,732 edits · 7 day streak

Citizen Scientist badge Hammer badge Astrolabe badge Chisel badge Compass badge

Achievement toast

The success state from EyeWire II Brain Quest: a toast and a confetti burst fired together. The card announces through a live region, dismisses on a timer that pauses while you point at it or tap it, and the burst respects reduced motion.

Tinted lift card

Each card sets one property, --holotint, and that single value colours both the corner glow and the shadow it pools as it lifts. Point at one, or tap it, and it comes up.

cyan

One property per card

The tint reaches the shadow as well as the overlay. Tint only one and it collapses into a coloured smudge.

violet

Hover, focus and tap agree

Everything the pointer gets, a keyboard and a finger get too. The card lifts on focus-within and on a tap.

warm

The one warm accent

A cool field with a single warm card in it. Two warm accents and the grid stops reading as an instrument.

Icon rail

A toolbar of icon buttons with rest, hover, focus, pressed and selected states. Real buttons, inline SVG, no !important. The third is a toggle and reports with aria-pressed.

Readout panel

One label, one number, one line of context. Say something true, and the ornament stops being ornament.

this one cell receives

165

mossy fiber synapses, from only 6 fibers. A single terminal makes dozens of contacts on one thorn.

Tutorial callout

A callout that anchors to a target, flips to the side that fits, clamps into the viewport, then slides its beak to keep pointing. Escape dismisses, the arrows step, and the page scrolls the whole time.

Particle trace, on an image

An arc of light runs the boundary once, struck from wherever your pointer crossed or your finger landed, then breaks into particles. Every value in the HUD is read off the media element at runtime.

A CA3 pyramidal cell with the six mossy fibers that reach it
One thorny pyramidal cell, 4.5 million triangles in the original.

Particle trace, on a video

The same treatment over video, plus a play affordance that hides on play and returns on pause. The native controls stay for scrubbing.

An action potential travelling real reconstructed cable. Tap or hover the frame, then press play.

Scout tag mode

The whole interaction from EyeWire II's Scout tag mode, ported from TagModePanel.vue and holo_trace.ts in the eyewire-ii-community branch of ng-extend. This one is a round trip: the panel began by borrowing this library's materialize and swarm, then grew a light choreography of its own in production, and that choreography now comes home. Pick a type and click the data after arming (or hold T): a spark answers at the click and the point waits as a pin. Submit sends particle streams flowing to the box's midpoints, where they charge and light the border from both points as the success box arrives. Click the success box and one bright lap sends it off while the beam draws the form back. The collapse is the oddly satisfying one: races the zip light upward, masking the box away beneath it, and draws it back with the beam as the reveal mask. Closing zips the panel away entirely; reopening flings a burst that coalesces onto the arriving border. Inputs are inert, nothing is submitted.

scout 0

Usage

<link rel="stylesheet" href="hologram.css">

<nav class="holorail" data-holorail="h2"></nav>

<div class="holobar" data-steps="10" data-step="8"></div>

<section class="holoboot holosweep"> ... </section>

<figure class="holocard"><img src="render.jpg" alt=""></figure>

<figure data-hud="optional measured value">
  <div class="holoframe">
    <canvas class="trace"></canvas>
    <img src="render.jpg" alt="">
  </div>
</figure>

<script src="hologram.js"></script>
<script src="hologram-tap.js"></script>

Put the canvas.trace before the media. Everything decorative is created at runtime. The second script is what makes every hover treatment reachable by tap, and it belongs on any page that loads any part of this library. Read README.md for the reasoning, the tunables, and the compositing traps that cost real time.

Read the README

visual component only

Surface Treatment

Laid end to end, the myelinated wiring in one human brain runs about 176,000 km, enough to circle the equator four and a half times.

render pass, 4.5M triangles done
mesh cache, 56 partner cells

NO AUTH · NO FORM · NO REQUEST · NO STORAGE

◈ RESEARCHER PROFILE
Amy Sterling
@amy
Executive Director of EyeWire. #3 author on FlyWire. Mapping brains since 2012.
Today
0
⎈ 0⎇ 0
Past 7d
312
⎈ 191⎇ 121
All time
48,732
⎈ 29,800⎇ 18,932
Completed
892
proofread
Identified
210
typed only
Total
1,104
touched
Assists
96
helped
Recent Cells pinky_nf_v2
Segment Type When
86469_39570L2/3 Pyramidal138d
86469_05836PV+ Basket Cell139d
64851_39674pyramidal cell21d
64851_38687interneuron113d
64851_13584granule cell113d
86469_65390L2/3 Pyramidal138d
86469_04831L2/3 Pyramidal138d
126 edits to go
Glue badge
Glue
Mallet badge
Mallet
Awl badge
Awl
Hammer badge
Hammer
Chisel badge
Chisel
Wrench badge
Wrench
Screwdriver badge
Screwdriver
View all
25 cells to go
Map badge
Map
Compass badge
Compass
Cairn badge
Cairn
Reflecting Circle badge
Reflecting Circle
Astrolabe badge
Astrolabe
Sundial badge
Sundial
Telescope badge
Telescope
View all
Citizen Scientist badge
Citizen Scientist
Connectome badge
Connectome
View all
Favorite Badge
Citizen Scientist badge
Citizen Scientist
Three Cheers for the Heroes of Citizen Science!
Special Award · Won Mar 20, 2026
Edits
🥇×9
Cells
🥈×2
🔥7days current
Best31d
Last 14 Days
F
S
S
M
T
W
T
F
S
S
M
T
W
Today
Edits Completions