Chameleon layout picker (3 KB)
The only learned part of the Chameleon Engine (Adobe University Hackathon 2026, Project Chameleon), a rule-based, offline engine that re-lays-out a design (text, images, shapes) for a new canvas size without changing any pixels.
The engine generates many candidate layouts; this model ranks them by how close each is likely to be to what a designer would make.
- Type: ridge regression, 78 weights, plus designer-typical headline/product sizes per canvas shape.
- File:
regressor.json(JSON, about 3 KB). CPU only, no framework needed (NumPy). - Inputs: standardised layout-quality terms (overlap, readability, hero share, logo visibility, ...), which template made the candidate, and the target-shape bucket (banner / wide / square / tall / very tall).
- Training data: 178 designer reference layouts (
data/refs/in the code repo). - Retrain:
python -m tools.learn_regress --save.
Use
Put regressor.json in engine/, or point to it: CHAMELEON_WEIGHTS=/path/regressor.json python -m engine.main.
Without it, the engine falls back to a hand-set score, so the model is fully swappable.
Limits
It ranks layouts the engine already produced; it can't create new ones. It was trained mostly on synthetic designs, so real-ad behaviour comes from the engine's rules more than from this model.
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support