jssm 5.150.1 → 5.151.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,10 +18,10 @@ Please edit the file it's derived from, instead: `./src/md/readme_base.md`
18
18
 
19
19
 
20
20
 
21
- * Generated for version 5.150.1 at 6/28/2026, 10:20:13 AM
21
+ * Generated for version 5.151.0 at 6/28/2026, 12:55:57 PM
22
22
 
23
23
  -->
24
- # jssm 5.150.1
24
+ # jssm 5.151.0
25
25
 
26
26
  [**Try the live editor**](https://stonecypher.github.io/jssm-viz-demo/graph_explorer.html) ·
27
27
  [Documentation](https://stonecypher.github.io/jssm/docs/) ·
@@ -448,8 +448,8 @@ If your contribution is missing here, please open an issue.
448
448
  ***7,720 tests***, run 82,366 times.
449
449
 
450
450
  - 6,966 specs with 100.0% coverage
451
- - 754 fuzz tests with 57.0% coverage
452
- - 9,100 TypeScript lines - 0.8 tests per line, 9.1 generated tests per line
451
+ - 754 fuzz tests with 56.7% coverage
452
+ - 9,139 TypeScript lines - 0.8 tests per line, 9.0 generated tests per line
453
453
 
454
454
  [![Actions Status](https://github.com/StoneCypher/jssm/workflows/Node%20CI/badge.svg)](https://github.com/StoneCypher/jssm/actions)
455
455
  [![NPM version](https://img.shields.io/npm/v/jssm.svg)](https://www.npmjs.com/package/jssm)
@@ -3245,7 +3245,7 @@
3245
3245
  "name": "permalink_for",
3246
3246
  "return": {
3247
3247
  "type": {
3248
- "text": "string"
3248
+ "text": ""
3249
3249
  }
3250
3250
  },
3251
3251
  "parameters": [
@@ -3256,7 +3256,25 @@
3256
3256
  }
3257
3257
  }
3258
3258
  ],
3259
- "description": "A shareable URL for the given FSL: the current page URL with the source\r\nencoded in the hash (`#fsl=...`). A page that reads the hash on load can\r\nrestore the machine. Browser-only (uses `location`), like the rest of the\r\ntoolbar."
3259
+ "description": "A shareable URL for the given FSL: the current page URL with the source\r\ncompressed into the hash as `#m=<scheme><payload>`. The payload is URL-safe\r\nbase64, so no characters need percent-escaping; `<scheme>` is a single digit\r\n— `1` when DEFLATE made the source smaller, `0` for the raw bytes when it did\r\nnot — so a short machine's link is never longer than its uncompressed form.\r\nDecode with fsl_from_permalink. Browser-only (uses `location` and the\r\nplatform compression streams), like the rest of the toolbar."
3260
+ },
3261
+ {
3262
+ "kind": "function",
3263
+ "name": "fsl_from_permalink",
3264
+ "return": {
3265
+ "type": {
3266
+ "text": ""
3267
+ }
3268
+ },
3269
+ "parameters": [
3270
+ {
3271
+ "name": "url",
3272
+ "type": {
3273
+ "text": "string"
3274
+ }
3275
+ }
3276
+ ],
3277
+ "description": "Recover the FSL source from a permalink produced by permalink_for:\r\nread the `#m=<scheme><payload>` fragment, decode the URL-safe base64, and\r\ninflate when `<scheme>` is `1`. Accepts a full URL or a bare fragment, with\r\nor without the leading `#`."
3260
3278
  },
3261
3279
  {
3262
3280
  "kind": "function",
@@ -3543,6 +3561,14 @@
3543
3561
  "module": "src/ts/wc/fsl_toolbar_wc.ts"
3544
3562
  }
3545
3563
  },
3564
+ {
3565
+ "kind": "js",
3566
+ "name": "fsl_from_permalink",
3567
+ "declaration": {
3568
+ "name": "fsl_from_permalink",
3569
+ "module": "src/ts/wc/fsl_toolbar_wc.ts"
3570
+ }
3571
+ },
3546
3572
  {
3547
3573
  "kind": "js",
3548
3574
  "name": "embed_snippet_for",
@@ -23371,7 +23371,7 @@ var constants = /*#__PURE__*/Object.freeze({
23371
23371
  * Useful for runtime diagnostics and for embedding in serialized machine
23372
23372
  * snapshots so that deserializers can detect version-skew.
23373
23373
  */
23374
- const version = "5.150.1";
23374
+ const version = "5.151.0";
23375
23375
 
23376
23376
  // whargarbl lots of these return arrays could/should be sets
23377
23377
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
package/dist/cdn/viz.js CHANGED
@@ -23396,7 +23396,7 @@ var constants = /*#__PURE__*/Object.freeze({
23396
23396
  * Useful for runtime diagnostics and for embedding in serialized machine
23397
23397
  * snapshots so that deserializers can detect version-skew.
23398
23398
  */
23399
- const version = "5.150.1";
23399
+ const version = "5.151.0";
23400
23400
 
23401
23401
  // whargarbl lots of these return arrays could/should be sets
23402
23402
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -108,7 +108,7 @@ function parseFslArgs(argv, spec) {
108
108
  return { positional, flags, helpText };
109
109
  }
110
110
 
111
- const getVersion = () => "5.150.1";
111
+ const getVersion = () => "5.151.0";
112
112
  const SPEC = {
113
113
  flags: {
114
114
  help: { short: "h", boolean: true },