Preview access
sigscape studio is in preview. Its basic functions are open to everyone; the rest of the studio opens with an invitation from the sigscape team.
What is open
Plot a spectrum, browse an exposure table, and tally a variant file into spectra in the page. These run without a runner and without an invitation. Everything else, including every function that computes on the local runner, is not shown until an invitation is entered: not on the Start board, not in the command palette, not as a step below another function, and no workflow that contains one. The documentation stays open.
What an invitation is
An invitation is a link, https://sigscape.org/?access=sigscape1.…, or the token after access=. The token names the e-mail address it was issued to, the day it was issued and, when the invitation is limited, its last valid day, and it is signed by the team. Opening the link enters it: the page verifies the signature with a public key it carries, keeps the token in this browser's storage, and drops it from the address bar. Nothing is sent anywhere to check it, and no account is created.
An invitation is personal to the address it names. It opens the studio in the browser it is entered in; enter it again in another browser or on another computer.
Entering and leaving
The first word of the status bar says what this browser is opened for: Preview · basic functions, or Invited · your address. Click it, or run Enter an invitation… from the command palette (⌘K), to paste a link or token. The same dialog shows the invitation this browser holds and offers Forget this invitation, which removes it from the browser.
An invitation that has ended, been withdrawn, or was issued for an earlier preview is refused with the reason, and the browser forgets it.
For scripts
sigscapeStudio.state().access reports the level (basic or invited) and the address; sigscapeStudio.enterInvitation(tokenOrLink) enters one and resolves to null, or to the reason it was refused. Functions that need an invitation are absent from commands() without one, and openTool or addStep on such a function returns false. The status word is [data-studio="access"] with data-level.