feat(compile): allow inplace views, change compile api