π¨ Pattern Layers & Coat Rendering
Work has begun on the base model layers for coat patterns, starting with key white markings like tobiano, overo, and splash white. Several generation methods are being explored to see what offers the best mix of visual quality and flexibility:
- Static placed shapes β for consistent, predictable patterning
- Code-controlled symbols β reusable SVG components placed dynamically
- Path-based placement β to allow for more organic, flowing designs
The goal is to build a system that not only looks good but also supports complex combinations in a way thatβs efficient and easy to extend later.
π Base Colour + Dilution Rules
Dilution genes such as Cream, Dun, and Champagne are being implemented as rule-based modifiers rather than fixed color presets. Each gene can modify the base coat:
- Hue
- Saturation
- Lightness
This method makes it possible to stack dilutions β for example, a cream + dun β without needing to define each possible combination manually. It also ensures the system can scale well as more genetic traits are introduced.
π Inheriting Expression, Not Just Presence
Basic gene inheritance (dominant/recessive) is already working, but development is pushing further with variable expression. Take Roan (Rnrn) as an example: rather than just displaying the roan layer as an on/off toggle, each horse is assigned an expression level (e.g., 35% or 40% opacity). Foals then inherit a value within the range of their parents, plus a little randomness for natural variation.
This subtle layer of complexity means even aesthetic traits can become part of a breeding strategy β for those who want to selectively aim for more minimal or more pronounced effects.
Itβs more intricate, yes β but laying this groundwork now helps avoid limitations down the line.
π§ Next Up
- Finalize a rendering method for white patterns
- Implement the dilution + base coat structure
- Extend variable expression logic to additional genes
- Build and test a JSON-configurable show event system