\input regression-test.tex
\documentclass{article}
\usepackage{osgstyler-lua}

\DeclareOsgFontPalette{backend-test}{
  main = {font = {Latin Modern Roman}},
  accent = {font = {Latin Modern Sans}},
  mono = {font = {Latin Modern Mono}}
}
\DeclareOsgColorPalette{backend-test}{
  primary = {model=HTML, value=223344},
  text = {model=HTML, value=111111},
  background = {model=HTML, value=FFFFFF},
  accent = {model=HTML, value=FFD966}
}
\DeclareOsgMetricPalette{backend-test}{
  rule = {thin = {.4pt}},
  padding = {compact = {.2em}}
}

\DeclareOsgDecoration{two-lines}{
  line = {
    under = {
      position = below, pattern = solid, color = primary,
      thickness = rule/thin, offset = {.08ex}
    },
    over = {
      position = above, pattern = solid, color = primary,
      thickness = rule/thin, offset = {.12ex}
    }
  }
}
\DeclareOsgDecoration{pattern-lines}{
  line = {
    dash = {position=below, pattern=dashed, color=primary,
      thickness=rule/thin, offset=.08ex},
    dot = {position=through, pattern=dotted, color=accent,
      thickness=rule/thin, offset=0pt},
    wave = {position=above, pattern=wavy, color=primary,
      thickness=rule/thin, offset=.12ex}
  }
}
\DeclareOsgDecoration{marker}{
  background = {color = accent, opacity = .25, shape = text},
  affix = {
    open = {position = before, content = {[}, gap = {.1em}},
    close = {position = after, content = {]}, gap = {.1em}}
  }
}
\DeclareOsgDecoration{line-marker}{
  background = {color = accent, opacity = .4, shape = line}
}
\DeclareOsgDecoration{frame}{
  enclosure = {
    border-color = primary, fill-color = background,
    pattern = solid, thickness = rule/thin,
    radius = 0pt, padding = padding/compact
  }
}
\DeclareOsgDecoration{rounded-dashed-frame}{
  enclosure = {
    border-color = primary, fill-color = background,
    pattern = dashed, thickness = rule/thin,
    radius = radius/small, padding = padding/compact
  }
}

\DeclareOsgInlineStyle{lined}{
  font = main, color = text, decoration = two-lines
}
\DeclareOsgInlineStyle{marked}{
  font = main, color = text, decoration = marker
}
\DeclareOsgInlineStyle{patterned}{
  font = main, color = text, decoration = pattern-lines
}
\DeclareOsgInlineStyle{line-marked}{
  font = main, color = text, decoration = line-marker
}
\DeclareOsgInlineStyle{framed}{
  font = main, color = text, decoration = frame
}
\DeclareOsgInlineStyle{rounded-dashed}{
  font = main, color = text, decoration = rounded-dashed-frame
}

\begin{document}
\UseOsgFontPalette{backend-test}
\UseOsgColorPalette{backend-test}
\UseOsgMetricPalette{backend-test}
\START
\TYPE{backend=\OsgStylerLuaBackendActive}
\OsgDecorationProcessorAvailableTF
  { \TYPE{processor-available=true} }
  { \TYPE{processor-available=false} }
\TYPE{lines=\OsgDecorationInstances{two-lines}{line}}
\TYPE{patterns=\OsgDecorationInstances{pattern-lines}{line}}
\UseOsgInlineStyle{lined}{over and under}
\UseOsgInlineStyle{patterned}{dashed, dotted, and wavy}
\UseOsgInlineStyle{marked}{highlighted}
\UseOsgInlineStyle{line-marked}{line highlight}
\UseOsgInlineStyle{framed}{framed}
\UseOsgInlineStyle{rounded-dashed}{rounded and dashed}
\TYPE{rendered=yes}
\END
\end{document}
