Observation
The command registered as name: "Regenerate (force)" in plugins/obsidian-plugin/src/main.ts:198 shows up in Obsidian's command palette as "Visual Notes (issue-21): Regenerate (force)". Surfaced during manual QA — I told the user to search for "Force regenerate sidecar" and the actual name didn't match.
Why it's awkward
Compare command names registered together in main.ts:
Extract from current note ← clear: verb + scope
Extract from current note using Daily Context ← clear: verb + scope + modifier
Regenerate (force) ← unclear: verb + parenthetical
Pin this overview ← clear: verb + scope
Unpin this overview ← clear: verb + scope
Delete sidecar ← clear: verb + scope
Issues with Regenerate (force):
- No scope noun: "Regenerate" what? The other commands name what they act on (note / overview / sidecar). This one doesn't.
- Parens are unusual for command names: Obsidian command palette convention is action-then-noun, not action-then-parenthetical-modifier. Compare: "Save current file" vs "Save (force)".
- Search discoverability: "Force regenerate" doesn't match. Users guessing the command have to find it by partial match on "regenerate" or "force" — and "force" alone is too generic to surface from the global palette.
Candidate fixes
Force regenerate overview — verb-first, clear scope, no parens
Regenerate overview (force) — keeps the verb-noun-modifier shape, parens at end
Force regenerate sidecar — uses the technical noun ("sidecar") matching Delete sidecar
The third option matches the existing Delete sidecar pattern, which is the closest sibling.
Bonus observation
There's no non-force regenerate command. The two "Extract" commands cover the normal regen path (hash check + skip if unchanged), and this "Regenerate (force)" is the bypass-the-hash-check version. Worth considering whether the name should reflect the relationship: e.g., "Re-extract (ignore cache)" or "Force re-extract" — more honest about what it does.
Out of scope
UX polish, doesn't block #21 / PR #23. Filed for the next focused naming/UX pass.
References
- Source:
plugins/obsidian-plugin/src/main.ts:196-200
- Repro: command palette → search "regenerate" with plugin enabled
Observation
The command registered as
name: "Regenerate (force)"inplugins/obsidian-plugin/src/main.ts:198shows up in Obsidian's command palette as "Visual Notes (issue-21): Regenerate (force)". Surfaced during manual QA — I told the user to search for "Force regenerate sidecar" and the actual name didn't match.Why it's awkward
Compare command names registered together in
main.ts:Issues with
Regenerate (force):Candidate fixes
Force regenerate overview— verb-first, clear scope, no parensRegenerate overview (force)— keeps the verb-noun-modifier shape, parens at endForce regenerate sidecar— uses the technical noun ("sidecar") matchingDelete sidecarThe third option matches the existing
Delete sidecarpattern, which is the closest sibling.Bonus observation
There's no non-force regenerate command. The two "Extract" commands cover the normal regen path (hash check + skip if unchanged), and this "Regenerate (force)" is the bypass-the-hash-check version. Worth considering whether the name should reflect the relationship: e.g., "Re-extract (ignore cache)" or "Force re-extract" — more honest about what it does.
Out of scope
UX polish, doesn't block #21 / PR #23. Filed for the next focused naming/UX pass.
References
plugins/obsidian-plugin/src/main.ts:196-200