dev-metal: add metal engine