▲ Console
Log Started...
{{ fetchMessage }}

{{ t('app.title') }}

{{ t('app.subtitle') }}

Coating Mix

Blend custom colors with precise gloss control
Gloss/Ratio fixed for this product series (No Catalyst)
Add colors to unlock gloss controls
Matte
Gloss
{{ m.label }}
{{ m.val }}
{{ p.sku }} [RECIPE]
{{ getCleanName(p) }}
{{ p.glossSpecs ? p.glossSpecs['18:1'] : p.defaultGloss }}
{{ getStockFn(p.sku) }}g
Catalyst
{{ formatWeight(mixResults.catalyst) }}
Mix Valid ({{ unusedColors }} Unused) Invalid Mix: {{ mixTotalPct.toFixed(1) }}% Incomplete Mix: {{ mixTotalPct.toFixed(1) }}%

Color Matcher

Match gloss levels across colors for multi-color projects
Incompatible or no parts loaded
{{ m.label }}
{{ m.val }}
{{ p.sku }} [BLEND] (USE AS COLOR)
{{ getCleanName(p) }}
~{{ p.glossSpecs['18:1'] }} GU
{{ formatCatalyst(matchResults.items[i]) }}
{{ formatRatio(matchResults.items[i].ratio) }}
{{ Math.round(matchResults.items[i].gloss) }}

{{ t('coats.title') }}

{{ t('coats.subtitle') }}
Coats
{{ coatsResults.count }}
Coating
{{ coatsResults.totalCoating }}g
Catalyst
{{ coatsResults.totalCatalyst }}g
🗡 {{ t('coats.help') }}
{{ t('coats.empty') }}
#{{ i + 1 }}
{{ p.sku }}
{{ getCleanName(p) }}
{{ p.glossSpecs ? p.glossSpecs['18:1'] : p.defaultGloss }}
{{ coatsResults.coats[i].catalyst === 'N/A' || coatsResults.coats[i].catalyst === '—' ? coatsResults.coats[i].catalyst : coatsResults.coats[i].catalyst + 'g' }}
{{ t('coats.unassigned') }}
{{ coatsResults.count }} coat{{ coatsResults.count === 1 ? '' : 's' }} · {{ coatsResults.totalMixed }}g mixed