Feature Matrix (v1.0.0)
Status
- Type: Normative
- Stability: Stable (v1.0.0 Frozen)
Purpose
Define the official feature set for FerroTeX v1.0.0.
1. Language Platform (Source Analysis)
1.1 Parsing
- ****: Fault-tolerant LaTeX lexer
- ****: Fault-tolerant CST for incomplete documents
- ****: Incremental reparse for
didChange
1.2 Project Model
- ****: Multi-root workspace support
- ****: Entrypoint detection + override configuration
- ****: Include graph (
\\input,\\include) with cycle detection - ****: Resource link resolution (includegraphics/bib)
1.2.1 TeX Path Resolution
- ****: Workspace-relative path resolution baseline (including extension inference)
- ****: Environment-aware resolution (TEXINPUTS/output directory where applicable)
- ****: Optional
kpsewhich-assisted resolution (opt-in, bounded)
1.3 Indexing
- ****: Label definitions (
\\label{}) - ****: Label references (
\\ref{}family) - ****: Citation references (
\\cite{}family) - ****:
.bibparsing for bib keys (best-effort) - ****: Workspace symbol query surface
1.3.1 File Watching / Invalidation
- ****: Watch workspace files (
.tex,.bib,.sty,.cls) and react to changes - ****: Dependency-aware invalidation (reindex only affected entrypoints)
1.4 Source Diagnostics
- ****: Parse recovery diagnostics with ranges
- ****: Duplicate label diagnostics
- ****: Unresolved label reference diagnostics
- ****: Unresolved citation diagnostics
2. LSP Feature Set
2.1 Core
- ****:
didOpen/didChange/didSave/didClose - ****:
publishDiagnostics - ****: cancellation support for long-running requests
- ****:
workspace/didChangeConfiguration - ****:
workspace/didChangeWatchedFiles - ****:
workspace/executeCommand
2.2 Authoring
- ****:
completion(commands/environments/labels/citations/paths) - ****:
signatureHelp(best-effort) - ****:
codeAction(quick fixes)
2.2.1 Completion Data Sources
- ****: Built-in completion inventory (versioned, deterministic)
- ****: Workspace discovery for safe local definitions (confidence-gated)
- ****: Optional bundled package metadata database (no runtime network)
2.3 Navigation
- ****:
definition(labels; citations if supported) - ****:
references(labels; citations if supported) - ****:
rename(labels; citations if supported) - ****:
documentSymbol(outline) - ****:
workspace/symbol
2.4 Structure & UX
- ****:
foldingRange - ****:
documentLink(includes/resources) - ****:
semanticTokens/full - ****:
formattingandrangeFormatting - ****:
hover(symbol info + provenance)
2.5 Formatting Backend
- ****: Built-in structural formatter (safe, idempotent)
- ****: Optional external
latexindentintegration (opt-in, deterministic invocation)
3. Build Observability (Engine/Log)
- ****: Runner adapters (latexmk, tectonic). Tectonic MUST be supported for zero-config workflows.
- ****: Streaming
.logfollow - ****: Structured parsing of
!error blocks - ****: Structured parsing of common warnings
- ****: Provenance log excerpts
- ****: Confidence-aware file/line association
3.0 Build Orchestration
- ****: Multi-phase build sessions (latexmk delegated mode + explicit pipeline mode)
3.1 Export / Build Outputs
- ****: Explicit build target selection (pdf/dvi/ps/html/svg)
3.2 SyncTeX (PDF Preview Workflow)
- ****: SyncTeX artifact support for PDF builds (
.synctex.gzpublished as an artifact) - ****: Forward search (source → PDF) command
- ****: Inverse search (PDF → source) best-effort integration
3.3 UX & Feedback (Visuals)
- ****: Status Bar Element (Spinning icon + “Building…” text) for active builds.
- ****: Build Failure Notification (Toast with “Open Logs” action) for fatal errors.
-
UX-6: Integrated PDF Viewer via VS Code Custom Editor API (Webview-based) with SyncTeX.
- ****: Deterministic output for exported schemas
4.1 Performance
- ****: Published performance SLO targets for key LSP operations
- ****: Benchmarks include interactive latency and incremental update metrics
5. Operational and Compatibility Guarantees
- ****:
schema_version: 1.0for build/log event IR and diagnostic records - ****: Documented configuration keys and stability policy
- ****: Documented supported engines/runners and known limitations
- ****: Published compatibility matrix for engines/runners/targets/platforms
6. Future Scope (Post-v1.0.0)
The following features are deferred to future major/minor versions (e.g., v1.1.0+):
Language Platform
- ****: Basic environment/group structure recovery
- ****: Deep math semantics (matrix validation, math mode structure)
Build Orchestration
- ****: Bibliography and index tool support (biber/bibtex, makeindex/xindy) with rerun caps
- ****: Package manager integration (auto-install missing packages via tlmgr/miktex)
Export / Build Outputs
- ****: Artifact discovery and reporting as structured events
- ****: Ability to open/reveal primary artifact from the editor
- ****: Integrated PDF Viewer (Webview-based) with SyncTeX support
UX & Delighters
- ****: Math Hover Preview (render equations in tooltip without full compilation)
- ****: Input Delighters (Magic Comments
%!TEX, Auto-Fraction, Bracket Matching) - ****: Image Paste Wizard (Clipboard -> File + \includegraphics) \ \