Perspica is a semantic diff tool that analyzes code changes by their meaning rather than line-by-line, using tree-sitter parsing to identify renames, signature changes, and logic modifications while filtering out noise like formatting. It supports TypeScript, JavaScript, Python, Rust, Go, Java, and C, works locally without API keys, and optionally integrates LLM analysis to group changes by intent and mark which modifications came from user prompts versus agent decisions.