feat(model): add model direction and layout spacing