Typsastra v0.6.1
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 at1.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 itsscxcoverage
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.