v0.2 marks our transition from a simple tone-matching dictionary into a professional songwriting engine. We've introduced a completely new query language that lets you treat Cantonese like a programmable instrument, alongside powerful new UI layouts for serious desktop users.



## What's New

### Advanced Phonetic & Semantic Syntax

You are no longer limited to just typing Jyutping or numbers. v0.2 introduces a powerful suite of chaining operators that let you drill down into the exact linguistic constraints of your song:
- **Rhymes (`>`):** Type `>香港` to find all phrases that share the exact vowel and final consonant endings.
- **Alliteration (`<`):** Type `<香港` to find phrases starting with the same initial consonants.
- **Semantics (`~` and `!`):** Need a word that fits the melody but means "happy"? Chain it with `~開心`. Want the exact opposite? Use `!悲傷`. 
- **Wildcards (`?`):** Perfect for melodies. Type `do,?,mi` to find 3-syllable phrases where only the first and last notes are locked in.

### Personal Custom Vocabulary (Beta)

Cantonese evolves fast, and traditional dictionaries can't keep up with modern slang or highly specific project terminology. Enter the Custom Vocab engine.
You can now manually add your own words directly into the app. The IME will automatically generate the correct Jyutping for you. *Note: In this initial release, custom words are searchable via direct text match, but are not yet fully integrated into the advanced chaining operators.*

### The Split-View Workspace

Writing a 16-bar verse requires juggling multiple thoughts at once. For desktop and tablet users, we’ve introduced Split-View mode. Open two independent instances of the search engine side-by-side. You can track your melody contour (`0243`) on the left while hunting for complex internal rhymes (`>時間`) on the right.

### Pins & Session History

Never lose a good idea just because you searched for something else.
- **Pins:** See a word that perfectly fits your track? Click the Pin icon to lock it to the top of your workspace. (Currently ordered chronologically by the time you pin them).
- **Session History:** The app now remembers up to 100 of your most recent searches per session, allowing you to quickly jump back and forth between ideas. *(History clears when the app is closed).*

---

## For Lyricists: A Practical Note

The new **Split-View + Wildcard** workflow is a game-changer for writing hooks. 

Try this: If you have a specific 4-note melodic phrase you are struggling to fill, open the left pane and type your notes using wildcards (e.g., `so,?,?,do`). In the right pane, search for the core emotional keyword of your song (e.g., `~自由`). You can cross-reference the phonetic results against your semantic ideas without ever losing your place.

---

## Under the Hood

- Upgraded the local SQLite engine to support complex relational queries (necessary for the new syntax operators).
- Rebuilt the Jyutping indexing system, drastically improving the speed of wildcard (`?`) and exact-match tone queries.
- Initial implementation of the global Zustand store to handle multi-viewport state management.