Constwhere the page these links point at is served from
the boxes of the page a mark can point at
Everything a fragment does not carry as itself is escaped, so a configuration's brackets, braces and
quotes travel as %5B, %7B and %22 rather than as characters a chat client, a markdown reader or
a terminal cuts the address at. What is left is what FragmentSafe lists: a fragment is not a
query, so ,, : and ; stand in it as they are and keep a link readable. & and + are escaped
beyond that, the first because it separates the fields here and the second because a reader takes it
for a space. A link is also made not to end on punctuation, because that is where a chat client stops
reading it.
The link that opens the playground on exactly this: a script, what it points at, where its cursor sits, and how the page is laid out.
what a link can point at
The same marks, as short as they go: without repetition, without what another mark already covers, and with runs of plain lines written as ranges. A link is read by people as well as by the page, so this shortens rather than packs.
the inverse of Mark.compress: every range back to the lines it stands for
Checks whether a value has a valid mark syntax. This does not check whether the mark points at anything: a line past the end of the script is valid and simply marks nothing.
where a name stands in a line, as a name rather than as a substring of a longer one
The configuration keys as one field. A key is a.b.c=<json>, and the json is brackets, braces and quotes
that a fragment does not carry, so it travels packed like the script rather than as a run of %5B.
Where a criterion points in the given code, as the <line>:<column> the page opens the cursor on.
12@sum is the name sum in line 12, 12:5 that column, 12 the first name on the line.
The link a bug report carries, or undefined when the script is too long to travel in one. What
Playground.sanitize takes out never enters the link.
The same script with what is nobody's business taken out: the directories a path names, addresses,
and whatever a name like token or password was set to. This is what makes a script safe enough
to travel in a bug report, and it is best-effort: it is not a guarantee that nothing private is left.
The keys back out of that field, which older links wrote out plainly and which is read either way.
Everything about flowR's playground that is not the page itself: what a link to it carries, and how one is written. The page reads back exactly what Playground.link writes.