///|
fn main {
  println("=== MoonBit Color Library Demo ===\n")

  // Basic color creation
  println("1. Color Creation:")
  let orange = @color.RGB::from_int(255, 165, 0)
  println("  Orange RGB: " + orange.to_hex())

  let blue = @color.RGB::from_hex("#0080FF")
  println("  Blue from hex: " + blue.to_hex())

  // Color space conversions
  println("\n2. Color Space Conversions:")
  let red = @color.RGB::from_int(255, 87, 51)
  let hsl = red.to_hsl()
  println(
    "  RGB to HSL - H: " +
    hsl.h.to_string() +
    " S: " +
    hsl.s.to_string() +
    " L: " +
    hsl.l.to_string(),
  )

  let hsv = red.to_hsv()
  println(
    "  RGB to HSV - H: " +
    hsv.h.to_string() +
    " S: " +
    hsv.s.to_string() +
    " V: " +
    hsv.v.to_string(),
  )

  // Color interpolation
  println("\n3. Color Interpolation:")
  let color1 = @color.RGB::from_int(255, 0, 0)
  let color2 = @color.RGB::from_int(0, 0, 255)
  let mid = @color.RGB::lerp(color1, color2, 0.5)
  println("  Red to Blue (50%): " + mid.to_hex())

  // Gradient
  println("\n4. Gradient Generation:")
  let gradient = @color.RGB::gradient(color1, color2, 5)
  println("  5-step gradient:")
  for i in 0..