FyreVM is an IF interpreter format for the Glulx virtual machine. The first implementation was written by Jesse McGrew in C# in 2007 as FyreVM-dotnet. It was then ported to TypeScript by Thilo Planz in 2015 as glulx-typescript with an implementation as FyreVM-web.
History with Textfyre
Differences from Standard Glulx
FyreVM implements the Channel IO system instead of Glk. The standard IF interpreter controls both the story output as well as its layout. Using FyreVM and Channel IO, only the story is managed and text emitted to key/value pairs (channels). Layout is delegated to the "client" or "container" hosting the FyreVM library. In the C# version this could be a console application, a windows application, a bot, or some client/server implementation (partially attempted - see zifmia). In the TypeScript version everything is hosted in a browser.
In FyreVM, the pieces of layout are emitted by context. So the score is in the score channel. The time is in the time channel. The main text is in the main channel. This allows the the HTML template designer to place the various channel emissions anywhere on the web page.
FyreVM-dotnet is now open sourced under an MIT license and can be used in any type of project without any additional license or permission. FyreVM-web is public domain. Glulx-Typescript is public domain, but the repository is managed by Thilo Planz.