Skip to content

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).

  • 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 in Focus/proofs/ecco-treeview-proof.md
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
});
  • source must be a valid Dataview source string (quoted folder/file path, #tag, or link) — same syntax as a query’s FROM clause.
  • Table views (Ecco-style columns) don’t need this engine — a plain TABLE ... FLATTEN file.lists AS item query is already a two-line call; see Today.md.
  • Owner: Core/Processes dept, Focus ongoing project. Registered 2026-08-20.