Drishti (Sanskrit dṛṣṭi दृष्टि: sight, seeing; and the single point a gaze rests on so the rest of the body can be still). One Rust file in, a JSON survey of its items out, cut by syn — Rust's own grammar crate — and never by a regex. Kinds, names, line numbers, visibility and attributes for functions, structs, enums, impls, traits, consts, statics, mods, type aliases, use trees and macro calls; a struct's field names, an enum's variant names, an impl's method names and the trait it implements. SPECIAL SIGHT: a function under a tauri command attribute comes back marked as a command, carrying the attribute path that made it one — an app's COMMAND SURFACE read from the ground rather than from a roster, so the wires a front end calls by name have a truth to be checked against. It surveys ITEMS, NOT BODIES: syn holds the whole tree and only item rows are emitted, so error strings, lock calls and const values never travel; doc comments are prose and are skipped deliberately, while a derive is machinery and is carried. A file that is not Rust is refused honestly — not an empty survey a caller could mistake for an empty file, but a stated failure with the grammar's own error and a non-zero exit. A regex reading Rust is a guess that usually works; a grammar reading Rust is an answer or an honest refusal, and there is nothing in between.
Sanskrit dṛṣṭi (sight, seeing, a point gazed upon), from the root dṛś (to see); the single point a gaze rests on so the rest of the body can stay still.
A single Rust file surveyed by its own grammar and returned as structured fact, never by a guess dressed as a pattern. What it reports is an answer or an honest refusal, with nothing plausible in between.