dev-metal: add metal engine
Merge branch 'dev-metal'