Typsastra v0.6.1 release notes¶
Typsastra v0.6.1 contains the complete v0.6.0 feature set and adds an urgent PDF loading optimization for substantially lower peak memory use in release builds.
Released July 30, 2026.
PDF loading optimization¶
- Replaced whole-file PDF transfer into the WebView with progressive, range-based loading.
- Reduced the transient memory spike caused by copying a complete large PDF through Tauri IPC before PDF.js could open it.
- Kept range loading responsive after distant scrollbar jumps by progressively fetching nearby data and prioritizing the visible pages when scrolling settles.
- Staged immutable preview generations so Windows does not need to replace a PDF file that the active preview is still reading when switching between Normal and Draft modes.
- Closed retired range sources and removed their temporary generation files after the replacement preview takes ownership.
- Retained full-buffer loading behind development benchmark commands for regression comparison.
- Published the full-buffer-versus-range measurements and the resulting memory performance contract in BENCHMARKS.md and PERFORMANCE_GATES.md.
Draft Preview¶
- Added a workspace-specific Normal/Draft preview toggle.
- Replaced statically resolvable image calls in Typsastra's private render mirror with linked, layout-preserving Typst block placeholders.
- Preserved intrinsic aspect ratios and common explicit or implicit sizing for standalone image calls and images inside clipped blocks without modifying the source document.
- Added cached hover thumbnails with source dimensions and encoded size.
- Scoped thumbnail discovery and storage to images reachable from the selected main document, with separate cache identities for unrelated main files in the same project.
- Prioritized thumbnail generation by visible-page relevance and source cost, bounded generated thumbnails to compact preview assets, and reused cached thumbnails across sessions.
- Kept placeholder clicks connected to inverse sync and retained source navigation in both docked and undocked preview windows.
- Ensured PDF export always compiles the original images through Normal Preview rather than exporting Draft placeholders.
- Published Normal-versus-Draft measurements for optimized and pathological image fixtures in BENCHMARKS.md.
Private local fonts¶
- Added global private font directories for fonts that should be available to Typst without being installed into the operating system.
- Grouped Document Typography choices as Typst built-in, private local, and system fonts.
- Rejected ambiguous family collisions between private directories and other available font sources.
- Applied private font paths consistently to diagnostics, preview, source mapping, and PDF export, restarting the compiler session when paths change.
- Kept absolute font paths in machine-local settings only. Typsastra never
copies private font binaries into
.typsastra, project archives, generated font variants, or exports. - Supported desktop TTF, OTF, TTC, and OTC files from private directories.
WOFF and WOFF2 remain unsupported web-font formats; variable TTF and OTF
files are supported at
1.0×, without arbitrary variation-axis controls.
Language tools and document typography¶
- Simplified generated document typography to ordinary ordered Typst font
fallback. The short-lived shared-mark override and its
scxcoverage descriptors are not part of v0.6.0; script-specific enforcement remains a future design area. - Routed spellcheck and word completion from each file's Document Typography configuration, allowing files in one project to select different language providers.
- Lazily initialized language providers only when a document requests them, reducing unnecessary project startup work.
- Restored dictionary word completion after lazy provider activation.
- Kept script-specific editor fonts and fallback policies active across tab and editor-state replacement.
Preview navigation and synchronization¶
- Added
Alt+Entermanual forward sync and rejected source positions that cannot produce a valid preview mapping before starting a timeout. - Added
Ctrl/Commandpreview link discovery, visually distinguishing internal references from external links. - Preserved preview scroll position across recompilation and project reopening, and added a return-to-first-page control.
- Recovered source synchronization after external edits, compiler stops, cache migration, and common cold-start races.
- Invalidated stale source-map caches after project files are reorganized.
- Retained Draft hover interaction, theme state, document position, and navigation behavior when the preview is undocked and redocked.
Compilation and diagnostics¶
- Separated editor diagnostics from preview-mirror revisions so temporary syntax errors no longer leave stale LSP diagnostics or block a corrected recompilation.
- Preserved the last successful preview while showing a compilation-error overlay for the current revision.
- Surfaced package compatibility failures as persistent compiler errors in the preview, Problems console, counters, and LSP status instead of exposing only an internal Tinymist export message.
- Recompiled render-on-save projects when reachable template files change.
- Unified cached mirror preparation for render-on-type, render-on-save, and Draft Preview while keeping their trigger behavior distinct.
Editor and project workflow¶
- Expanded the versioned example workspace with focused Draft Preview, image guidance, preview-navigation, and private-local-font exercises, and updated the existing multilingual and research examples to the v0.6.0 typography and language-provider model.
- Opened files fully unfolded by default and persisted only folds explicitly created by the user.
- Improved contextual completion so function arguments take priority and unrelated global suggestions do not activate inside an argument list.
- Opened unknown files internally when they contain plain text, retaining Unicode and complex-script editor behavior.
- Improved bracket-pair matching, caret and selection geometry, indentation guides, warning gutters, and theme-aware active states.
- Preserved per-tab undo history and fixed stale undo behavior after switching files.
- Added wheel and gesture scrolling to the tab strip.
- Hid dot-prefixed directories from the project explorer.
- Used native system prompts for missing recent projects, unsaved-file exit, and PDF export or replacement. Export now uses a save-file selector.
- Persisted preview render mode per project and kept welcome-screen status actions limited to Settings.
Responsive preview layout¶
- Added a compact preview toolbar that moves zoom, sync, refresh, export, and undock actions into an overflow menu as the pane narrows.
- Enforced a minimum pane width based on the packed toolbar, including when the Explorer is reopened.
- Preserved the previous docked preview width after an undock/redock cycle.
- Kept Draft toggle labels stable while switching modes and closed preview menus when the user clicks the menu button or preview surface.
Upgrade behavior¶
Typsastra installs bundled examples into Typsastra Examples v0.6.0. Earlier
versioned example folders remain untouched as user-owned projects.
Existing .typsastra project settings remain compatible. Preview render mode
is now stored per project. Render, source-map, and thumbnail caches are
disposable and may be rebuilt when their project ownership or main-document
identity changes.
The previous automatic default-fold state is intentionally not migrated. Files open unfolded until the user creates and persists a fold.
Known boundaries¶
- Draft placeholder geometry and interaction are qualified for standalone image calls and images inside clipped blocks. Other image compositions may produce different placeholder sizing or interaction and should be checked in Normal Preview.
- PDF files referenced as image assets are not profiled or replaced by Draft Preview. They remain unchanged for Normal Preview and export. Meaningful optimization guidance requires future analysis of page selection, embedded rasters, vector complexity, fonts, and transparency rather than relying on the PDF's file size alone.
- The first Draft Preview use must generate thumbnails for uncached images. Pathological source images can make that initial preparation noticeably slower; later cache hits are substantially faster.
- Switching an image-heavy document from Normal to Draft reduces subsequent work but may not immediately return memory retained by Tinymist. Restart the project to reclaim that compiler session when necessary.
- Private local fonts are machine-local dependencies. Collaborators must install the font or configure their own private directory.
- Advanced inspection, deletion, and renewal of scaled-font variants and complete font-dependency health reporting remain planned work.
- Very large single source files, such as the 20,000-line stress fixture, can still show intermittent editor-scroll latency.
- Moving or reorganizing project files outside Typsastra while the project is
open can invalidate cached source maps. Close and reopen the project, or
remove the disposable
.typsastra/cachedirectory, after external moves. - The experimental macOS build remains unsigned and unnotarized.
See the v0.6.0 feature showcase for video demonstrations.