declslides.domain

Members list

Type members

Classlikes

Validation errors raised by the presentation domain model.

Validation errors raised by the presentation domain model.

Domain errors describe structural and content-level problems in a deck, such as missing titles, empty content, duplicate slide names, or invalid slide elements.

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
enum Layout

Visual layout hints that renderers can use for a slide.

Visual layout hints that renderers can use for a slide.

Layouts are intentionally few and generic so that different renderers can interpret them consistently.

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Presentation

Fully validated presentation ready to be rendered.

Fully validated presentation ready to be rendered.

A Presentation guarantees a non-blank title, at least one slide, and a set of slide titles that is unique after normalization.

Value parameters

slides

validated slides in declaration order

theme

theme used by renderers

title

normalized presentation title

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Presentation

Factory and validation helpers for Presentation.

Factory and validation helpers for Presentation.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class Slide

Fully validated slide ready to be rendered.

Fully validated slide ready to be rendered.

A Slide guarantees a non-blank title and at least one valid element.

Value parameters

elements

validated slide elements in declaration order

layout

rendering hint for slide layout

title

normalized slide title

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Slide

Factory for validated Slide values.

Factory for validated Slide values.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Slide.type

Content elements that can appear inside a slide.

Content elements that can appear inside a slide.

Attributes

Companion
object
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SlideElement

Validation helpers for SlideElement values.

Validation helpers for SlideElement values.

Attributes

Companion
enum
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class Theme(name: ThemeName, background: HexColor, foreground: HexColor, accent: HexColor, codeBackground: HexColor)

Visual theme used by renderers.

Visual theme used by renderers.

A theme keeps the color vocabulary small and renderer-friendly: background, foreground, accent, and code background are enough to express the current HTML and text renderers without overfitting the model.

Value parameters

accent

highlight color used for titles and emphasis

background

main background color

codeBackground

background color for code blocks and similar surfaces

foreground

main text color

name

stable theme identifier

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Theme

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Theme.type

Types

type HexColor = String
type ThemeName = String
type URL = String