Search & Quick Switcher
Search & Quick Switcher
Find anything in seconds with global search and instant navigation
Overview
Cine Power Planner provides two search mechanisms: the Quick Switcher for instant navigation and the Global Search for deep content search across all data types.
Requirements
Functional Requirements
| ID | Requirement | Acceptance Criteria | Priority | Source |
|---|---|---|---|---|
| REQ-SRH-001 | The system shall open a Quick Switcher command palette via Cmd/Ctrl + K | Press Cmd/Ctrl+K → palette opens; type query → results filter in real-time; arrow keys navigate; Enter opens; Esc closes | Must | useSearch |
| REQ-SRH-002 | The system shall perform fuzzy matching and highlight matching characters in results | Type "prj" → matches "Project"; matching chars highlighted in bold; ranked by relevance; no matches → empty state | Must | useSearch |
| REQ-SRH-003 | The system shall support full keyboard navigation (arrows, Enter, Escape) in the Quick Switcher | Arrow down → next result selected; arrow up → previous; Enter → opens item; Escape → closes palette; Home/End supported | Must | useSearch |
| REQ-SRH-004 | The system shall support command mode (prefix > ) for quick actions, assembled from the registered command sources | Type > → command list shown; commands come from the search-bus sources, not a fixed list; Esc clears the prefix | Must | useQuickSwitcher |
| REQ-SRH-005 | The system shall provide global search across projects, items, contacts, templates, and devices | Type query → results from all entity types; grouped by type; click result → navigates to item; empty query → recent | Must | useSearch |
| REQ-SRH-006 | The system shall allow filtering global search results by content type, date range, and category | Select filter → results narrow; combine filters → intersection shown; clear → all results | Should | useSearch |
| REQ-SRH-007 | The system shall persist recent search history locally for quick re-use | Search → query saved; re-open search → recent queries listed; click recent → re-executes; max 10 entries | Should | useSearch |
| REQ-SRH-008 | The system shall show result count and display recently visited items first | Results show count label; recently visited items sorted first; no results → helpful empty state message | Should | useSearch |
| REQ-SRH-009 | The system shall search across all entity types: projects, contacts, devices, owned gear, templates | Type query → results grouped by type with section headers; click result → navigates to item; empty query → recent items | Must | useSearch |
Non-Functional Requirements
| ID | Requirement | Metric | Priority |
|---|---|---|---|
| NFR-SRC-002 | Search shall support fuzzy matching with typo tolerance | Match quality | Should |
A search-latency budget ("results within 150 ms of keystroke") was removed in v0.778.8: nothing measured it, and an unmeasured number in a requirements table reads to the user as a guarantee.
Data Requirements
- Search index: Built at runtime from IndexedDB stores (projects, contacts, templates, device catalog)
- History: Stored in localStorage (obfuscated)
- No server-side search: All search operations are client-side
Constraints & Limits
- Available to all tiers (Free and Pro)
- Fuzzy matching tolerance: up to 2 character distance
- Search history capped at 10 recent entries. (The 20 this line used to quote is a real number, but it caps saved searches — a separate store,
saved_searches_v1, from the search history insearch_history_v2.)
Offline Behavior
- Fully available offline — all search runs against local data
- No network dependency for any search operation
Dependencies
- Requires: Projects — searches project data
- Requires: Device Library — searches device catalog
- Requires: Contacts — searches contact records
Quick Switcher (Cmd/Ctrl + K)
The Quick Switcher is a command palette for instant navigation anywhere in the app.
Opening the Quick Switcher
- Press Cmd + K (macOS) or Ctrl + K (Windows/Linux)
- Or click the search icon in the sidebar
How It Works
- Start typing to search across projects, features, settings, and tools
- Use ↑↓ arrow keys to navigate results
- Press Enter to jump to the selected result
- Press Escape to close
Features
| Feature | Description |
|---|---|
| Fuzzy matching | Finds results even with typos or partial input |
| Ghost completion | Inline suggestion completes to the most frequent matching word in your data |
| "Did you mean" | Spelling correction banner from 3 typed characters |
| Match highlighting | Matching characters are visually highlighted |
| Result count | Shows total matches for your query |
| Recent items | Previously visited items appear first |
| Keyboard navigation | Full keyboard control without touching the mouse |
Command Mode
Type > followed by a space as the first characters to enter Command Mode. The palette's own
hint line says so — Type > for commands — and this guide said / until v0.778.8, which does nothing
of the sort.
Commands are not a fixed list of four. They are assembled at runtime from ten command sources, so what you can reach grows with the app:
| Source | What it offers |
|---|---|
| Core actions | New project, open help, and the other app-level actions |
| Theme commands | Light / dark / pink |
| Exports | The project-scoped export commands, when a project is open |
| Settings tabs | Every settings tab and section, by name |
| Tools | The non-PDF tools |
| PDF Tools | The PDF tool registry |
| AI prompts | The AI prompt entries |
| Accounting pages | The accounting pages, when accounting is enabled for your account |
| Bank transactions | Bank transaction lookups |
| Recent commands | The commands you ran most recently, first |
Navigation Targets
The Quick Switcher can jump to:
- Projects — by name or description
- Features — Dashboard, Contacts, Device Library, Templates, Calendar, etc.
- Settings — General, Appearance, Backup, Cloud, Auto Gear
- Tools — PDF Tools, Frame Line Composer, DoF Simulator, Lens Coverage
- Help — Directly to help topics
Gear List Search
The Gear List tab features a specialized contextual search to quickly find and filter equipment within your current project.
Features
| Feature | Description |
|---|---|
| Fuzzy Matching | Typo-tolerant matching that finds equipment even with spelling mistakes. |
| Search Syntax | Prefix queries with brand:, category:, or id: to narrow results. |
| History & Pinned | Saves recent searches locally. Pin frequent searches (e.g. brand:arri) to the top. |
| Advanced Filters | Filter by minimum item count, toggle empty categories, and sort by relevance. |
| Smart Suggestions | The add-item field suggests devices by nickname/alias ("Gummihuhn" → Ronin 4D) and German synonyms. |
| Favorites Boost | Devices you starred in the Device Library rank higher in add-item suggestions. |
Accessing Gear List Search
-
Navigate to a Project > Gear List tab.
-
Click the search bar at the top, or press
⌘ + F(Mac) /Ctrl + F(Windows) while the project workspace is open — that puts the caret straight in the category-search box.Not
⌘ + /. That opens the Help home, everywhere in the app. This guide bound it to gear search until v0.778.8; Keyboard Shortcuts has always had it right. -
Type your query or select from Recent Searches / Pinned Searches in the dropdown.
Search Quality Everywhere
Beyond the three main search surfaces, the same matching engine now powers the smaller filter inputs across the app — sub-rental lists, provider pickers in the gear list, shot-list equipment pickers, owned-gear link/share dialogs, gear-set lists, and the rental-house manager (including the public catalog page). All of them understand:
- Synonyms & German terms — "Akku" finds batteries, "Objektiv" finds lenses
- Typo tolerance — "camrea" still finds the camera
- Accent folding — "Munchen" finds München
- Acronyms — "ABD" finds Anton/Bauer Dionic (Device Library, Contacts, Owned Gear)
- Sound-alike names — "Schnaider" finds Schneider, "Maier" finds Meyer
Global Search
For deeper content search, navigate to Search in the sidebar.
Search Scope
Global Search queries across all stored data:
| Content Type | Searchable Fields |
|---|---|
| Projects | Name, client, location, contact, notes, recording resolution, codec, aspect ratio, frame rate |
| Items | Device name, category, notes, serial |
| Contacts | Name, email, company, role |
| Templates | Name, description |
| Devices | Name, manufacturer, category |
Filters
Narrow results by:
- Content type: Projects, Items, Contacts, Templates, Devices
- Date range: Created or modified within a time period
- Category: Filter items by equipment category
Search History and Saved Searches
Two separate stores, with two separate caps:
- Recent searches — the last 10 queries, saved locally for quick re-use. Click a history entry to repeat the search, or click the × to remove it.
- Saved searches — searches you keep deliberately, up to 20. These are what the Gear List calls Pinned Searches.
Tips
- Use Quick Switcher for navigation: It's faster than clicking through menus
- Use Global Search for discovery: When you need to find something across all data
- Learn command mode: Type
>and a space to access quick actions without leaving the keyboard - Fuzzy matching is forgiving: "alxa" still finds "ALEXA" — don't worry about exact spelling
Related Documentation
Last Updated: 2026-09-10 Version: 0.790.2
