Skip to content

Document search, filtering, asset operations, and extension points - #134

Open
wallstop wants to merge 2 commits into
mainfrom
t11/documentation-content
Open

wallstop wants to merge 2 commits into
mainfrom
t11/documentation-content

Conversation

@wallstop

@wallstop wallstop commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

The docs site published only an index and a getting-started page, so the long-form guide stayed in README.md and drifted from the code. Four guide pages now carry it, and the drifted README claims are corrected.

Behavior

  • Four pages traced to source: search and filtering, asset operations and processors, ordering and persistence, and the runtime extension surface.
  • README corrections found while sweeping: the search box is in the window header row and covers every tracked type, arrow buttons move a row to the top or bottom rather than stepping it, Create writes to a per-type folder under the Data Folder, clones strip an existing "(Clone n)" before reapplying one, OR-mode label semantics were omitted, and label editing was missing.

Validation

  • Strict site build green on the committed content; red with exit 1 and the target named for a link to a nonexistent page, a missing image, and a page missing from nav.
  • npm run lint:llm:full green (19/19 self-test files), npm pack --dry-run unchanged at 172 files, CSharpier clean on 110 files. No C# or Unity change, so the Unity suites are not exercised.

Risk / Rollback

  • Risk: low, documentation only. The correction pass restates behavior already in the shipped code; no code path changed.
  • Rollback: revert this commit.

Closes the T11 documentation-content items in PLAN.md. Related to #114.


Note

Low Risk
Documentation-only updates that describe existing editor behavior; no code paths or build artifacts change.

Overview
This PR moves the long-form user guide off README.md into four browsable MkDocs pages—search/filtering, asset operations, organizing/persistence, and extensibility—and wires them into mkdocs.yml nav plus docs/index.md and getting-started.md cross-links. README now points at the published docs site at wallstop.github.io/DataVisualizer/.

README is corrected where it had drifted from the editor: global search lives in the header (all tracked types, field matching, 25-result cap), reorder arrows jump top/bottom (drag is documented), instance actions sit per row, Create uses per-type folders under Data Folder, clone suffix stripping, OR label-filter semantics, UserState persistence details, and new coverage for processors and label editing.

No runtime or editor code changes—documentation and Unity .meta for new markdown only.

Reviewed by Cursor Bugbot for commit fca86ae. Bugbot is set up for automated code reviews on this repo. Configure here.

The live documentation site published only an index and a getting-started
page, so the long-form guide stayed in README.md, where it drifted from the
code it describes.

Add four guide pages, each traced to source:

- search-and-filter.md: the header-row search box covers every tracked type
  and matches names, type names, exact GUIDs, and string fields on nested
  plain objects, capped at 25 results. Also the type filter and the label
  filter, including that an empty clause never matches in OR mode and that
  the Advanced row refuses to collapse while OR labels exist.
- managing-assets.md: where each asset operation lives, the per-type folder
  Create writes into, the clone naming rule, dialog validation messages, and
  processor scope with its load-in-progress refusal.
- organizing.md: ordering, pane widths, both persistence targets and the
  migration between them, themes and their tokens, and the Play Mode pause.
- extending.md: the display attribute, BaseDataObject, the lifecycle hooks
  with their defaults, IGUIProvider, IDisplayable, and IDataProcessor.

Correct the README claims the sweep found false: the search box is in the
window header row and is not scoped to the selected type, arrow buttons move
a row to the top or bottom rather than stepping it, Create writes to a
per-type folder under the Data Folder, clones strip any existing
"(Clone n)" before reapplying one, label-filter OR semantics were omitted,
the persistence setting names both targets, and label editing was missing.
An adversarial pass over every statement in the four new pages found five
that the code contradicts:

- Global search matches an asset when ANY space-separated term matches, not
  only when every term does, and a term is matched against string fields
  only when the name, type name, and GUID have not already matched it.
- The "objects hidden by label filter" line highlights fewer than 20 hidden
  in yellow and 20 or more in red. It was stated the other way round.
- A processor whose Accepts is null or empty is never offered; it does not
  apply to every type.
- ReadOnly is internal to the package, so it is not part of the documented
  extension surface and the section claiming otherwise is gone.
- Clone, Rename, Move, and Delete live on each object row, not above the
  object list, and act on that row's object without selecting it first.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant