feat: add simple perspective demo