1.2.0-beta.3
Templar 1.2.0-beta.3
Section titled “Templar 1.2.0-beta.3”1.2.0-beta.3 replaces the earlier ruled-line correction paths with one fixed absolute baseline lattice shared by Reading View and Live Preview. It is the current beta candidate for the alignment work and preserves the existing note/template schema.
Alignment implementation
Section titled “Alignment implementation”- The grid origin is deterministic: configured top padding plus the measured body-font baseline. It is not derived from the first currently mounted child and does not change when a note scrolls or virtualizes content.
BaselineGridControlleris the single runtime owner for Reading and Live Preview. It performs bounded measurement/write settling, tracks dirty renderer owners, and records non-convergence instead of silently leaving unstable geometry.- Reading View corrects flow blocks and their occupied tails, including headings, paragraphs, lists, quotes, callouts, tables, code, dividers, embeds, diagrams, media, and explicit blank-line spacers. List lines and composite-container text receive visual-only fractional corrections without changing wrapping or outer flow height.
- Live Preview leaves ordinary CodeMirror
.cm-lineelements untouched. Only rendered widgets, virtual gaps, and the metadata prefix can receive dynamic rhythm corrections, preserving CodeMirror’s height map and cursor coordinates. - The diagnostic command has a compact status form and a detailed JSON copy form. The debug overlay draws the lattice and labelled entry/baseline/exit markers in a pointer-free SVG layer.
Automated verification
Section titled “Automated verification”The beta candidate passed:
- 50 Vitest files / 279 tests, including a mixed 10,000-block controller fixture and dirty-image incremental processing.
- Runtime, test, and tooling TypeScript checks; tracked-source ESLint; production build; mobile-bundle guard; and runtime privacy-policy guard.
- The all-template matrix: all 132 built-in styles across pageless A4, paged A4, paged Letter, and paged custom 480×640 and 1800×2400 flows. Every generated selector remained scoped and every compiled value was finite.
- Standard and stress benchmarks for the fixed controller and full renderer, including 5,000-block Letter and 10,000-block custom-page fixtures.
- Both dependency audit commands with no moderate-or-higher vulnerabilities.
Packaged Obsidian verification
Section titled “Packaged Obsidian verification”The rebuilt main.js, manifest.json, and styles.css were copied into the test vault and manually checked in Obsidian 1.13.7 against Obsidian Elements Test - Complete with the active Meeting Ledger pageless style. All reports below were taken after the bundle was reloaded and the view had settled; the public tolerance is 0.4 px.
| View / position | Text / blocks / widgets | Max baseline | Max exit | Failure count | Non-converged |
|---|---|---|---|---|---|
| Reading / top | 34 / 8 / 2 | 0.000 px | 0.000 px | 0 | none |
| Reading / middle | 40 / 14 / 2 | 0.000 px | 0.000 px | 0 | none |
| Reading / bottom | 28 / 29 / 2 | 0.000 px | 0.000 px | 0 | none |
| Live Preview / top | 34 / 41 / 1 | 0.001 px | 0.000 px | 0 | none |
| Live Preview / middle | 39 / 49 / 2 | 0.001 px | 0.000 px | 0 | none |
| Live Preview / bottom | 17 / 35 / 3 | 0.000 px | 0.001 px | 0 | none |
The detailed reports also showed stable bounded settling after scrolling. A temporary character was inserted into a visible Live Preview heading and undone; the note returned to its original source text and the post-undo diagnostic remained at zero failures. The debug overlay was enabled and disabled in Live Preview; its green ruled lines and marker labels were visible without intercepting pointer input.
The test note includes intentionally malformed Mermaid examples and references to unavailable community plugins. Those renderer errors are expected note content and are not reported as Templar alignment failures; renderer-owned internals are deliberately excluded from the host-note diagnostic.
Compatibility and beta limitations
Section titled “Compatibility and beta limitations”The manifest and versions.json continue to declare Obsidian 1.8.0 as the minimum supported version. The packaged interactive evidence in this environment is from Obsidian 1.13.7; an installed 1.8.x runtime was not available for a second desktop run. The mobile-bundle and privacy guards pass, but no usable iOS/Android device or simulator was available, so physical mobile smoke evidence remains pending before stable promotion.
Templar remains prerelease software. Back up important vaults before testing and include the detailed diagnostic output, Obsidian version, operating system/device, view mode, page template, and reproduction steps in alignment reports.
Install with BRAT
Section titled “Install with BRAT”Install Obsidian42 - BRAT, run BRAT: Add a beta plugin for testing, and enter K0g1/Templar. For a reproducible report, use BRAT: Add a beta plugin with frozen version based on a release tag and enter 1.2.0-beta.3. Manual installation uses the four assets attached to this release: main.js, manifest.json, styles.css, and SHA256SUMS.txt.