Browser makers have put a great deal of effort into blocking direct access to local file I/O functions. However, one path to saving a local file that is still supported (and likely always will be) is downloading. Nearly all browsers allow you to click on a link that receives data (text or binary), then save that data as a local file. Depending on the specific browser and settings, this typically involves some kind of interactive "pick a folder/filename" dialog box and possibly a security confirmation before the file is actually saved to your system.
Despite the browser-imposed file I/O limitations, Jeremy (and others) have developed several different solutions for providing direct file I/O functions that still work with stand-alone TiddlyWiki files. This includes the TiddlyFox add-on for Firefox as well as the TiddlyDesktop application. However, if you are not using one of these solutions, then the TWCore can still save a local file by sending the file data to the brower's "download a file" handler as a fallback method.
It does this by generating the data for the file using the current "in-memory" tiddlers and content, which includes all your unsaved changes. This data is then packed as a "data URI", a form of URL that holds binary content encoded as base64 text. Next, the TWCore dynamically creates a *hidden* link using that data URI, and then automatically simulates a click on that link. This, in turn, triggers the browser's "download a file" handler which completes the rest of the work.
As far as this being "clunky".... I use Chrome as my primary browser, and find the download saver to be reasonably painless to use. I have set Chrome to "always ask" for the download destination, so it prompts me to pick a folder/filename each time I save. The download saver also takes advantage of the OS-provided "filename collision" handling that automatically appends a "(1)", "(2)", "(3)", etc. to the filename to avoid overwriting older versions, as well as an "overwrite warning" confirmation step if you do choose to save to an existing filename.
My usual 'save-and-reload' cycle goes like this:
1) Open a TW document, make changes, and click "save changes" button
2) A "select folder/filename" dialog appears
2a) Navigate to the current folder (if not already there)
3) Double-click on the name of the open TW document
4) Click OK in the overwrite warning confirmation that appears...
... the file is saved...
5) Press F5 to reload the document
enjoy,
-e
Eric Shulman
TiddlyTools / ELS Design Studios
Inside TiddlyWiki: The Missing Manuals