FantasmicForms: Fantasmic Forms: The Browser Tab That Compiles D&D Prep into XML

A single-file, schema-aware tool that turns tabletop chaos into downloadable XML without a backend, a login, or a build step.

7 min read • View on GitHub • More from gumyr

A wide editorial scene shows a Dungeon Master desk with dice, notes, and index cards surrounding a browser window that emits a clean XML scroll. The image frames the app as a compiler for tabletop prep, turning messy human notes into structured data.
Fantasmic Forms behaves less like a website and more like a tiny translation machine for D&D prep.
Key Takeaways

A Browser Tab That Behaves Like a Compiler

Fantasmic Forms is not trying to be a general purpose app. It is a browser based pipeline that takes D&D prep and turns it into XML that another system can actually consume. That sounds niche because it is niche. It is also the whole point.

The repo is built around a simple bet: if the domain is narrow enough, the best interface is one that maps directly onto the underlying data shape. In this case, the browser tab is the compiler, the schema is the language, and the downloaded file is the output.

Fantasmic Forms is an intuitive and adaptable web application tailored to streamline XML data input for D&D Virtual Tabletops (VTTs).

gumyr, Project Creator/Maintainer · Repository: gumyr/FantasmicForms

The XSD Is the Hidden Boss

The most important file in the repo is not the HTML, even though the HTML is where the work happens. It is dm_assist3.xsd, because that file defines the rules that make the whole app worth using. The form is just the friendly face on top of a stricter system.

The schema defines the shape of the UI, and the UI only exists to make valid XML easier to produce.

<xs:simpleType name="ACType">
  <xs:restriction base="xs:string">
    <xs:pattern value="\s*\d+(\s+.*)?"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="RechargeType">
  <xs:restriction base="xs:string">
    <xs:pattern value="(6|1-5-6)"/>
  </xs:restriction>
</xs:simpleType>

That is the real trick. The schema is not just validation after the fact, it is design input. It tells the UI what kind of values are acceptable, what shape nested content can take, and where a human needs guardrails instead of a blank textbox.

Why This Feels Like Game Prep, Not Data Entry

The styling matters more than it first appears. The parchment look, small caps, and sidebar layout all soften the fact that this is essentially structured data entry. Instead of feeling like admin work, the interface feels like part of the prep ritual.

A close editorial illustration shows a hand opening a shallow drawer organizer where each compartment holds a different kind of tabletop note, card, or token. The composition suggests that the app turns loose game notes into neatly separated data fields.
The interface succeeds because it makes rigid structure feel like a natural extension of tabletop organization.

How the App Moves From Fields to Files

The workflow is straightforward on purpose. Pick a content type, fill in the fields the schema expects, generate XML, then download the file. There is no account, no remote state, and no server round trip hiding in the middle.

That restraint changes the shape of the product. You can open the file directly in a browser, use it offline, and keep the entire workflow in one place. For a hobby tool that needs to be durable and portable, that is a serious feature, not a limitation.

What Fantasmic Forms Does Better Than Generic Form Tools

ApproachSetup costDomain specificityOffline useValidation strengthOutputBest for
Hand-edit XMLLow setup, high frictionPerfectly specificYesWeak unless you are carefulRaw XMLOne-off power users
Generic form buildersModerate setupLowSometimesStrong for common patterns, weak for niche rulesJSON, CSV, webhooksBroad surveys and CRUD apps
Fantasmic FormsOpen the file and start typingVery highYesStrong where the schema can express the ruleSchema shaped XMLD&D prep that needs importable files

This is why the project feels unusually well fitted to its job. It does not chase breadth. It compresses the annoying middle step between tabletop ideas and machine readable output, then strips away everything that would slow that path down.

Why a Single HTML File Still Matters

The single file architecture is not nostalgia. It is a durability strategy. When the entire app lives in one HTML document, the tool is easy to move, easy to inspect, and hard to break with infrastructure drift.

That matters most in a niche hobby workflow. If the value is concentrated in one repeatable task, the right abstraction may be smaller than a framework and more stubborn than a hosted service. Fantasmic Forms makes that argument with almost absurd restraint.