browser

command
v0.27.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Rendered for js/wasm

Overview

Command browser exposes the tsvsheet engine to the browser as a set of STATELESS functions: the caller holds the .tsvt source, and each call parses it, applies one immutable engine operation, and returns the result as a JSON string. There is no server and no filesystem — SHEET(...) / "file"!A1 resolve to #REF! — but every other function, including the clock functions TODAY/NOW/ISNOW, works against the browser's own clock. A relative IMPORT* resolves against the seed store the page loads with seedData (see seed.go); an absolute URL is refused, so a sheet arriving in a shared link can never cause a network request.

go-tsvsheet's release CI builds this into the versioned tsvsheet.wasm asset that browser consumers (the docs playground, tsvsheet.js) pin. It is js/wasm-tagged, so it is invisible to the host quality gate.

The windowed capability at the browser boundary (spec 021): a document past the resident budget is view/compute-only in EVERY frontend, paged the same way, so the browser reads viewport windows exactly as the terminal pager does (R18).

One honest bound, stated because the mechanism cannot match the terminal's: the source arrives here as a JS string, so the document is already resident before these functions see it — backing a ReadAt with Blob.slice would need asynchronous reads, and the engine's source seam is synchronous. What windowing saves in a browser is the materialization and the render, which is what actually ends a tab; it does not save the read.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL