Skip to main content

Kirby VTT — a comic panel in the Kirby style: a caped, armoured figure lettered KV bursting forward through exploding stars and crackling energy.

kirby-sheet

Render a HERO Designer character through HD's own .hde export templates — byte for byte.

Hero Designer has no plain-text exporter. HTMLWriter is the only writer it has, and it substitutes <!--TOKEN--> markers into an export template. This reproduces that, so a sheet rendered here is the sheet HD would have rendered.

Status: the output engine. Reads a .hdc character through kirby-cost and writes it out as JSON, plain text, HTML, PDF, or back to .hdc. It also inspects .hde templates, reporting which tokens a template uses and which the renderer resolves.

The .hde template engine is gated byte-for-byte against HD itself.

Ships no Hero Games content

No templates, no rules text, no character files. Point it at a .hde you already have.

Development

python -m venv venv && source venv/bin/activate
pip install -e ../kirby-cost          # ALWAYS, and first
pip install -e ".[dev]"
python -m pytest tests/ -q

Install the sibling editable, and do it first. kirby-cost is published, so pip will happily resolve the dependency pin against PyPI and give you a release that is behind the checkout next door — same version number, different code. That is not a hypothetical: this package was built for a day against a stale 0.2.2 and read a character's STR as 5 instead of 15 before anyone noticed. Nothing fails loudly when it happens, because a stale dependency installs perfectly.

Tests that need Hero Designer skip when it is absent:

Variable What it names
KIRBY_SHEET_HDC a .hdc character
KIRBY_SHEET_ORACLE a headless Hero Designer CLI to compare against

The oracle is a harness around licensed Hero Designer source and is not distributable, so the tests that use it skip for everyone but the maintainer. The rest of the suite runs on a clean checkout.

Where this is going

This is one of three engines behind Kirby, a virtual tabletop for the HERO System in active development:

  • kirby-cost — reads a HERO 6E build and costs it, validated against Hero Designer
  • kirby-sheet — renders a character to JSON, text, HTML, PDF, or back to .hdc
  • kirby-combat — the combat engine: attacks, movement, mental combat, vehicles, mass combat, destructible terrain

What's still to come is the table itself — terrain with its own PD and ED, elevation and concealment that move OCV and DCV, and line of sight worked out from where a character is actually standing. Kirby plays characters; it does not create them. Character creation stays in Hero Designer.

Progress and notes at kirbyvtt.org.

Provenance

This is a port of licensed source code, purchased from Hero Games — the same provenance as kirby-cost, whose README sets it out in full.

The HERO Designer Source Code package is an official product Hero Games sells, offered precisely so people can build software that works with HD. The HTMLWriter behaviour reproduced here is cited against it line by line throughout this repository (e.g. HTMLWriter.swapValue (HTMLWriter.java:5636)). The purchase receipt and product page are retained by the maintainer and are deliberately not in this repository, which carries no Hero Games material of any kind.

Licence terms, and how this project sits inside them

Quoted from the product page:

  • You are welcome to change the code or utilize it however you want for your own personal use.
  • If the product you develop is distributed, you will need to pursue licensing with HERO Games -- the terms are exceedingly easy.
  • If the product you develop is intended for sale, there may be a licensing discussion needed with both HERO Games and the developer/owner of the HERO Designer source code. Generally speaking, use of the HERO Designer source code which does not replace or replicate the character generation process does not fall into this category.

This project follows those guidelines deliberately.

  • The source licence was purchased, at full price, from Hero Games' own store.
  • Use here is personal, which the first condition permits without conditions.
  • kirby-sheet does not replace or replicate the character generation process. It has no creation interface. It renders and re-expresses a character HD already built, and it cannot run without a .hde template and a .hdc file that only HD produces.
  • It is noncommercial — offered under PolyForm Noncommercial 1.0.0, not for sale — so the third condition's "intended for sale" case is not engaged.
  • The second condition is acknowledged, not hidden. This repository is public, which the terms treat as distribution. Nothing of Hero Games' is redistributed — not the templates, not the character files, not the rules text. Hero Games describe the licensing terms as "exceedingly easy", and if they want that arrangement formalised, contact the maintainer.

If Hero Games, or the owner of the HERO Designer source, sees any of this differently, we want to hear it — contact the maintainer and it will be acted on.

Copyright and trademark

HERO Designer is © 2002, 2003, 2006, 2009 by DOJ, Inc. d/b/a Hero Games. HERO System™ is DOJ, Inc.'s trademark for its roleplaying system. Game rules content remains the property of its copyright holders, and no claim is made to ownership of the HERO Designer application, the game rules, or the game mechanics. This project is an independent work and is not affiliated with or endorsed by DOJ, Inc. d/b/a Hero Games.

Licence

See LICENSE for the terms this code is offered under (PolyForm Noncommercial 1.0.0).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kirby_sheet-0.2.1.tar.gz (84.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kirby_sheet-0.2.1-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file kirby_sheet-0.2.1.tar.gz.

File metadata

  • Download URL: kirby_sheet-0.2.1.tar.gz
  • Upload date:
  • Size: 84.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for kirby_sheet-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9e6f69161993e03eeaf1bb2ea913cda6cd5d19897d4ef27ae0875716f6a79a7b
MD5 8f2df34d222285959e1e3e515183d046
BLAKE2b-256 2131c7d68a34962d9a87bbeac493c62b1ebd35eecdf9d678694b44ea348291ad

See more details on using hashes here.

File details

Details for the file kirby_sheet-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: kirby_sheet-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 55.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for kirby_sheet-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d9b5558c0f172f9609d67e9910f187fca97ec9617442ad96a38184a77819b27
MD5 dd181d21cba3980fc4bac773dec7ec26
BLAKE2b-256 5650ca3ee5a6208be5677a434a01cb915c34c9bbf0c9c8fec1a1781f78d12fc7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page