I’m surprised nobody has mentioned the rbbt add-in to RStudio. It’s designed for RStudio’s markdown files, so its functionality is extremely close to what we’re discussing.
Rbbt uses the same citation dialog as is used for Word, LibreOffice, and Google Docs. And the add-in easily attaches the dialog to a hot key.
I’ve never used Zettlr, so I’m not sure how its @ mechanism works, but unless @ brings up a search box that pares down choices as one writes, I would find it a major PITA.
I also subscribe to the software design philosophy of doing one thing well. Rbbt facilitates insertion citations in the standard format used by BibTeX, BibLaTeX, and pandoc-citeproc from one or more *.bib files specified in the yaml. That’s it.
All the stuff about creating a reference list in Obsidian, displaying the reference list in real time, even writing papers in Obsidian, etc. moves away from the one-thing-well philosophy to a bloated-Swiss-Army-Knife philosophy. If Obsidian needs to move in this direction, and obviously I’m skeptical of this, then such things should be separate from a Zotero interface.
Similarly, people want Obsidian to be able to access the extractions created by the Zotero ZotFile plugin’s ability to extract annotations from pdf files. To me it makes more sense to create another Zotero plugin, arg’s mdnotes is on the right track, that copies ZotFile’s extractions as .md files to a specified folder, with naming options similar to how the BibTex and BibLaTeX plugins let the user give a template for citation text.
A more extensive plugin might also offer a choice of target formats for the extraction (.md, .tex, html, etc.).
Also working on the Zotero side, one might add an option to dovetail mdnotes with BibTeX/BibLaTeX, so that when the contents of a Zotero collection changes, not only does the specified .bib file get updated automatically, but so too do extractions in a separately specified folder.
To me the most formidable difficulty arises from citations doubling as [[WikiLinks]]. Their respective markdowns are distinct. At one time Fletcher Penny’s MultiMarkdown had both citations and WikiLinks, but he depreciated the WikiLinks because “the feature was more trouble than it was worth.” Obviously, something like WikiLinks is an essential feature for Obsidian, although I prefer MultiMarkdown’s richer feature set. Maybe changing from [[link]] to {{link}} would be a sufficient modification to allow not only citations and WikiLinks to coexist in Obsidian, but also MultiMarkdown instead of Markdown.
In general, things that are Zotero-centric should be implemented in Zotero and be as independent of Obsidian as possible, and things that are Obsidian-centric should be implemented in Obsidian and be as Zotero-independent as possible.