jssm 5.157.17 → 5.158.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.157.17 at 7/2/2026, 10:57:19 PM
21
+ * Generated for version 5.158.0 at 7/3/2026, 11:48:59 AM
22
22
 
23
23
  -->
24
- # jssm 5.157.17
24
+ # jssm 5.158.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/) ·
@@ -179,6 +179,27 @@ if (result.kind === 'text') console.log(result.content);
179
179
 
180
180
 
181
181
 
182
+ <br/>
183
+
184
+ ## Static fence rendering (`jssm/fence`)
185
+
186
+ `jssm/fence` renders FSL code fences to static, editor-parity-highlighted HTML — no browser, no editor, no live machine required — for Markdown pipelines, static site generators, and doc tooling.
187
+
188
+ ```typescript
189
+ import { transform_markdown } from 'jssm/fence';
190
+
191
+ const html = await transform_markdown(markdown);
192
+ // every fsl/jssm fence becomes rendered, highlighted HTML
193
+ // everything else in the document passes through untouched
194
+ console.log(html);
195
+ ```
196
+
197
+ `render_fence_gif` walks a machine's main path (or every edge, if there is no main path) into a looping animated GIF, one Graphviz layout patched per frame: 70cs per-frame delay, loops forever, and a 64-frame walk cap by default, all overridable via options.
198
+
199
+ PNG, JPEG, and GIF output rasterize through the same optional backend as the CLI — install it with `npm install @resvg/resvg-wasm`.
200
+
201
+
202
+
182
203
  <br/>
183
204
 
184
205
  ## Web Components
@@ -312,7 +333,7 @@ That decision shows up everywhere downstream:
312
333
  or run `npm run benny` against your own machine.
313
334
 
314
335
  - **More thoroughly tested than any other JavaScript state-machine
315
- library.** 7,895 tests at 100.0% line coverage
336
+ library.** 7,998 tests at 100.0% line coverage
316
337
  ([report](https://coveralls.io/github/StoneCypher/jssm)), plus
317
338
  fuzz testing via `fast-check`, with parser test data across ten natural
318
339
  languages and Emoji.
@@ -445,11 +466,11 @@ If your contribution is missing here, please open an issue.
445
466
 
446
467
  <br/>
447
468
 
448
- ***7,895 tests***, run 82,937 times.
469
+ ***7,998 tests***, run 83,040 times.
449
470
 
450
- - 7,137 specs with 100.0% coverage
451
- - 758 fuzz tests with 52.8% coverage
452
- - 10,013 TypeScript lines - 0.8 tests per line, 8.3 generated tests per line
471
+ - 7,240 specs with 100.0% coverage
472
+ - 758 fuzz tests with 49.4% coverage
473
+ - 10,615 TypeScript lines - 0.8 tests per line, 7.8 generated tests per line
453
474
 
454
475
  [![Actions Status](https://github.com/StoneCypher/jssm/workflows/Node%20CI/badge.svg)](https://github.com/StoneCypher/jssm/actions)
455
476
  [![NPM version](https://img.shields.io/npm/v/jssm.svg)](https://www.npmjs.com/package/jssm)