BrushConfiguration
Canvas brush rendering configuration β defaults + safe normalization (Layer 0 Foundation).
Statusβ
| Key | Value |
|---|---|
| Layer | foundation |
| Tier | L0 |
| Status | wip |
| Version | 0.9.0 |
| Price | Free (free) |
| Category | Input & UX |
Overviewβ
Overviewβ
BrushConfiguration is the Layer 0 Foundation Plugin of multi-saas-kit. It provides canvas brush defaults and safe normalization for digital ink UIs such as handwriting, signatures, sketches, and annotations.
Alongside DigitalInk (stroke data) and RecognitionBridge (recognition provider adapters), this is one of the three foundations for the HandwritingInput composite plugin.
Core Componentsβ
BrushDefaults (Value Object)β
- BrushDefaults::values(): 20 standard default fields
- BrushDefaults::mergedWith(overrides): input-priority merge
- Common defaults without project asset paths
BrushConfigNormalizer (Pure Service)β
Normalizes user input or DB-stored values into safe brush configuration: default merge, string trim/fallback, numeric clamp, integer rounding, min/max swap, and enum whitelist validation.
Standard Fieldsβ
Standardizes fields such as line_width, min_line_width, max_line_width, stroke_color, shadow_color, shadow_blur, opacity, elasticity, split, ink_spread, bristle_count, bristle_opacity, bristle_length, brush_texture_url, auto_delay_ms, candidate_font_size, candidate_min_width, and canvas_background.
brush_texture_url defaults to an empty string. Each SaaS can publish config and set its own project asset path when texture rendering is needed.
Scopeβ
This plugin only normalizes brush/canvas configuration. Recognition belongs to RecognitionBridge, the composite input flow belongs to HandwritingInput, and domain-specific scoring, learning, or submission workflows belong to each SaaS project.
Licenseβ
MIT
Demosβ
- Platform κ΄λ¦¬μ ν¨λμμ λ©ν νμΈ π Login required
- μ¬μ© μμ (PHP)
π View on Plugin Store: store.codebase.how/plugins/brush-configuration