ecco-view
Section titled “ecco-view”Shared Dataview view engine for vault-native Ecco notepads (ecco-notepads-build). Replaces ~25 lines of hand-inlined dataviewjs per notepad with one two-line dv.view() call. Walks an outline’s inline fields ([abc:: A] [status:: WIP] [focus:: today]), keeps every item matching a field/value filter plus its ancestor chain, and renders a real nested tree — the thing plain Dataview LIST/TASK can’t do (LIST filters but flattens; TASK nests but doesn’t really filter).
Location
Section titled “Location”- Engine:
Core/Processes/Projects/Focus/scripts/ecco-view.js(vault-native, loaded by Obsidian’s Dataview plugin — not a WSL/Python utility, so it lives with the project, not in~/utils/) - Headless test:
Core/Processes/Projects/Focus/scripts/ecco-view.test.mjs—node ecco-view.test.mjs, asserts exact expected trees against the same 10-item/4-level outline proven inFocus/proofs/ecco-treeview-proof.md
Usage (from any notepad)
Section titled “Usage (from any notepad)”dv.view("Focus/scripts/ecco-view", { field: "focus", // inline-field name value: "today", // value to match source: '"folder or file path"', // exact Dataview FROM-clause syntax showAncestors: true // default true; false = flat matches, no nesting});Scope / gotchas
Section titled “Scope / gotchas”sourcemust be a valid Dataview source string (quoted folder/file path,#tag, or link) — same syntax as a query’sFROMclause.- Table views (Ecco-style columns) don’t need this engine — a plain
TABLE ... FLATTEN file.lists AS itemquery is already a two-line call; seeToday.md. - Owner: Core/Processes dept,
Focusongoing project. Registered 2026-08-20.