Skip to content

🌍 Real-World Pattern Examples ​

This section shows how Gradient Pattern DSL is used to model real gradient behaviors. Instead of abstract examples, you will see how patterns map to actual gradient structures.

🎯 Goal ​

Each pattern defines:

txt
what gradient inputs are valid

🟦 1. Basic linear gradient ​

Pattern ​

txt
^[color-stop,~color-stop].

Meaning ​

txt
Start of pattern

Expect:
  at least one color-stop

Then:
  zero or more additional color-stops

End of pattern

Valid examples ​

txt
color-stop
color-stop, color-stop
color-stop, color-stop, color-stop

Real gradients ​

css
linear-gradient(red, blue)
linear-gradient(red, blue, green)

🟦 2. Linear gradient with direction ​

Pattern ​

txt
^[([config,color-stop]|color-stop),~color-stop].

Meaning ​

txt
Start of pattern

Then:
  Either:
    config followed by color-stop
  Or:
    color-stop

Then:
  zero or more color-stops

End of pattern

Valid examples ​

txt
color-stop
config, color-stop
config, color-stop, color-stop

Real gradients ​

css
linear-gradient(to left, red, blue)
linear-gradient(180deg, red, blue, green)

🟦 3. Linear gradient with hints ​

Pattern ​

txt
^[color-stop,~([color-hint,color-stop]|color-stop)].

Meaning ​

txt
Start of pattern

Expect:
  a color-stop

Then repeat:
  Either:
    color-hint followed by color-stop
  Or:
    color-stop

End of pattern

Valid examples ​

txt
color-stop, color-stop
color-stop, color-hint, color-stop
color-stop, color-stop, color-hint, color-stop

Real gradients ​

css
linear-gradient(red, 50%, blue)
linear-gradient(red 10%, 50%, blue 80%)

🟦 4. Strict CSS-like gradient ​

Pattern ​

txt
^[([config,color-stop,([color-hint,color-stop]|color-stop)]|color-stop),~([color-hint,color-stop]|color-stop)].

Meaning ​

txt
Start of pattern

Then:
  Either:
    config → color-stop → (color-stop OR hint → color-stop)
  Or:
    color-stop

Then repeat:
  (color-stop OR hint → color-stop)

End of pattern

Why this pattern exists ​

This pattern enforces:

  • no dangling hints
  • no incomplete gradients
  • valid interpolation structure

Valid examples ​

txt
color-stop, color-stop
config, color-stop, color-stop
config, color-stop, color-hint, color-stop

Invalid examples ​

txt
config, color-stop ❌
color-stop, color-hint ❌
color-stop, color-hint, color-hint, color-stop ❌

🟦 5. Mesh-like gradient (custom) ​

Pattern ​

txt
^[color-stop,~color-stop].

Meaning ​

txt
Only color-stops are allowed
No config
No hints

Use case ​

Custom gradient systems:

  • mesh gradients
  • node-based gradients
  • shader-based gradients

🟦 6. Fixed structure gradient ​

Pattern ​

txt
^[config,color-stop,color-stop].

Meaning ​

txt
config
then exactly two color-stops

Use case ​

Systems where:

  • structure is fixed
  • flexibility is not needed

🟦 7. Optional config without hints ​

Pattern ​

txt
^[([config,color-stop]|color-stop),~color-stop].

Meaning ​

  • config is optional
  • hints are not allowed
  • only color-stops

Use case ​

Simplified gradient editors

🧠 Key takeaway ​

Different gradient systems require different rules.

DSL allows you to:

txt
define exactly what is valid

🔗 Try it yourself ​

Take any pattern from this page and explore it interactively:

👉 Open DSL Playground →

🚀 Summary ​

  • DSL patterns are reusable
  • each pattern encodes a real validation rule
  • complexity depends on your needs