Skip to content

Glossary

Matan Lurey edited this page Oct 22, 2021 · 5 revisions

Here are some terms we use in the SWLegion TTS project, and what they mean:

JSON

JSON, or "JavaScript Object Notation", is a lightweight data-interchange format that is easy for humans to read and write, and easy for machines to parse and generate.

We use this format where possible to lower the barrier to entry for contributing collections of "things" to the mod, for example maps, cards, and more. JSON has an inherent advantage where it's possible to build tooling to simplify edits, it's possible to validate at build-time (i.e. using JSON Schema), and it's even possible to download/parse the files during runtime, avoiding a full rebuild of the mod for minor changes.

When editing JSON in the mod, our tools can help. See Editing JSON Safely and JSON Performance.

Lua

Lua is a powerful, efficient, lightweight, embeddable scripting language.

It's also what is provided by TTS in order to add scripting into a mod, so almost anything in the mod that isn't a physically configured object (and even many of those) have embedded Lua scripting. This powers everything from list building/import, unit activation, loading/saving maps, etc. If you're pressing a button and something happens, it's probably because of Lua.

NodeJS

NodeJS is a JavaScript runtime built on Chrome's V8 JavaScript engine.

When we were deciding how to implement tooling to ease development of the mod, we wanted to pick something that had a lower barrier to entry than a "serious" programming language (i.e. C++, Java), but also could be used for most tooling-style tasks - i.e. parsing files, combining them, performing validation, and other forms of mechanical work.

The majority of the "coding" in this repository, that isn't Lua, is JavaScript (well, TypeScript actually).

Reproducible

We can only fix or address issues that can be reproduced, or, a series of steps can be followed to observe the issue.

For example, saying:

"The movement tool isn't working"

... could be useful feedback, but we're unlikely to be able to fix or address it. We'd probably ask:

  • What do you mean by "not working"?
  • In what situations does it stop working? Is it always not working? Sometimes? Specific units?
  • Do others have the issue, or just you?

Instead, consider providing a reproducible issue, saying:

"When I use the reverse option moving Tauntauns at speed 3, I get a 'WWWURL Not Found' error and a box pops up."

"It happens every time."

TTS

Stands for Tabletop Simulator, the name of the app/game that is used by the SWLegion mod.

Note that the developers of TTS are Berserk Games, and

TypeScript

TypeScript is a strongly typed programming language which builds on JavaScript.

It's what we use for our build tooling. See also NodeJS.

Clone this wiki locally