
Paint-aware color mixing using a subtractive physical model plus a learned residual correction for realistic results; includes runtime, interactive demo, model artifact and training tooling.
Paint-aware color mixing built on a subtractive physical base model plus a learned residual correction stage.
This repository contains:
packages/js
packages/kotlin
apps/site
Validate the JavaScript package and the landing page from the repository root:
cd packages/js && npm test
cd ../..
node apps/site/scripts/smoke-site.mjsPreview the landing page locally:
node apps/site/scripts/preview-site.mjsThe site can also be pointed at an installed npm package or alias when you want to compare a published alpha against the local workspace build. See apps/site/README.md for that workflow.
Package name:
@rtarik/spectralnn-paint-mixerExample:
import {
MixPortion,
PaintMixers,
SrgbColor,
} from '@rtarik/spectralnn-paint-mixer';
const mixer = PaintMixers.default();
const result = mixer.mixOrNull([
new MixPortion({ color: SrgbColor.fromHex('#E53935'), parts: 1 }),
new MixPortion({ color: SrgbColor.fromHex('#283593'), parts: 1 }),
]);
console.log(result?.toHexString());apps/sitepackages/jspackages/kotlinartifacts/modelartifacts/fixturesartifacts/ground-truthtools/trainingtools/evaltools/dataset-generatordocsThe canonical model artifact lives at artifacts/model/baseline-v1/model.json.
Training dependencies:
python3 -m pip install -r tools/training/requirements.txt
cd tools/dataset-generator && npm installRun the staged pipeline from the repository root:
python3 tools/training/run_training_pipeline.pyapps/site/src..github/workflows/deploy-site.yml.Paint-aware color mixing built on a subtractive physical base model plus a learned residual correction stage.
This repository contains:
packages/js
packages/kotlin
apps/site
Validate the JavaScript package and the landing page from the repository root:
cd packages/js && npm test
cd ../..
node apps/site/scripts/smoke-site.mjsPreview the landing page locally:
node apps/site/scripts/preview-site.mjsThe site can also be pointed at an installed npm package or alias when you want to compare a published alpha against the local workspace build. See apps/site/README.md for that workflow.
Package name:
@rtarik/spectralnn-paint-mixerExample:
import {
MixPortion,
PaintMixers,
SrgbColor,
} from '@rtarik/spectralnn-paint-mixer';
const mixer = PaintMixers.default();
const result = mixer.mixOrNull([
new MixPortion({ color: SrgbColor.fromHex('#E53935'), parts: 1 }),
new MixPortion({ color: SrgbColor.fromHex('#283593'), parts: 1 }),
]);
console.log(result?.toHexString());apps/sitepackages/jspackages/kotlinartifacts/modelartifacts/fixturesartifacts/ground-truthtools/trainingtools/evaltools/dataset-generatordocsThe canonical model artifact lives at artifacts/model/baseline-v1/model.json.
Training dependencies:
python3 -m pip install -r tools/training/requirements.txt
cd tools/dataset-generator && npm installRun the staged pipeline from the repository root:
python3 tools/training/run_training_pipeline.pyapps/site/src..github/workflows/deploy-site.yml.