Chroma Flow

크로마 플로

Liquid color follows the pointer and shifts with its direction.

Also known as: ChromaFlowcolor flowliquid color

Moves in browsers that support WebGPU

This device could not render the demo — showing a still

React
// Renders only in browsers with WebGPU.
import { Shader, ChromaFlow } from 'shaders/react'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: 320 }} disableTelemetry>
      <ChromaFlow />
    </Shader>
  )
}
Vue
<!-- Renders only in browsers with WebGPU. -->
<script setup lang="ts">
import { Shader, ChromaFlow } from 'shaders/vue'
</script>

<template>
  <Shader style="width: 100%; height: 320px" :disable-telemetry="true">
    <ChromaFlow/>
  </Shader>
</template>
Svelte
<!-- Renders only in browsers with WebGPU. -->
<script>
  import { Shader, ChromaFlow } from 'shaders/svelte'
</script>

<Shader style="width: 100%; height: 320px" disableTelemetry>
  <ChromaFlow />
</Shader>
Solid
// Renders only in browsers with WebGPU.
import { Shader, ChromaFlow } from 'shaders/solid'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: '320px' }} disableTelemetry>
      <ChromaFlow />
    </Shader>
  )
}
JavaScript
// Renders only in browsers with WebGPU.
// expects <canvas id="canvas" style="width:100%;height:320px"></canvas> on the page
import { createShader } from 'shaders/js'

const shader = await createShader(document.getElementById("canvas"), {
  components: [
    {
      type: 'ChromaFlow',
    }
  ]
}, { disableTelemetry: true })

Props · ChromaFlow

Changes apply to the demo above and to the code tabs. Descriptions come from the library registry (MIT).

NameValueDefaultRange / optionsDescription
baseColorBase Color#0066ff—Base liquid color
upColorUp Color#00ff00—Color for upward movement
downColorDown Color#ff0000—Color for downward movement
leftColorLeft Color#0000ff—Color for leftward movement
rightColorRight Color#ffff00—Color for rightward movement
intensityIntensity10.5 – 1.5 (step 0.1)Strength of the liquid effect
radiusRadius30 – 5 (step 0.1)Radius of the liquid effect
momentumMomentum3010 – 60 (step 1)How much momentum colors retain in their flow direction

Every component also takes blendMode · opacity · visible · maskSource/maskType · boundingBox · id

Color spreads like liquid along the pointer’s movement. Like dye carried by moving water, the cursor’s path creates the flow.

`baseColor` sets the main color (default `#0066ff`), and `intensity` controls effect strength (default 1, range 0.5–1.5). `radius` sets how far the color spreads (default 3, range 0–5); `momentum` controls how long it follows its direction (default 30, range 10–60).

This generator draws on its own and needs no input image. A plain background makes the directional color changes easy to see; keep moving color away from text.

When to use

Use it for a color-responsive hero, a pointer-driven empty state, or brief interactive decoration. Avoid it where people need to read moving color and text at the same time.

Open as page ↗