Why deterministic?
A technical view for CTOs and architects: where the model's job ends and Ocular's begins.
Source: Lucidpress, State of Brand Consistency Report
Generative route
- Prompt + brand context
- LLM / image model
- Approximate brand output
The model reads the brand context and makes its best guess. Every run is a new guess.
Ocular route
- Prompt
- AI extracts intent
{ chart: "revenue_by_region", data: [...], brand: "acme" }- Ocular validates
- Approved rule set
- Deterministic renderer
- Asset
The model's job ends at intent and data. The rest is software following rules.
How brand rules work
Your brand guidelines describe the rules. Ocular executes them.
Fonts, colours, layouts, charts, accessibility and logo usage become constraints that software can enforce, not instructions an AI can ignore. Ocular isn't storing logos. It's compiling a design system into executable rules.
Typography
headline → ABC Display Bold
body → ABC Sans Regular
Colours
primary → #0B3D91
categorical charts → palette B
Charts
axis → left + bottom
grid → horizontal only
legend → bottom
Logo
variant → primary
clearspace → 1× mark
Accessibility
minimum contrast → 4.5:1
The model never chooses a font, colour, logo treatment or layout.
What deterministic means
Same validated request + same rule set version = the same visual output.
Not similar. The same. That makes Ocular output testable, reviewable and repeatable, in the way the rest of your infrastructure already is.
Ocular fails closed
If a request can't be rendered within the approved brand rules, Ocular doesn't improvise. It returns a clear rejection rather than an off-brand asset.
Request rejected: no approved visual treatment
exists for "3d_exploded_pie" in acme-global v4.2
Sometimes the correct branded output is no output.
One request. Three brands.
The brand lives in the rules, not in a template. The same request and the same data, rendered against three different rule sets.
'Show monthly customer growth.'
Illustration of three fictional brand systems.