ttrpg-engine-dnd 0.1.0-alpha.0 → 0.1.0-alpha.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  Notable changes to this project. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The bump policy and pre-release roadmap are documented in [VERSIONING.md](VERSIONING.md).
4
4
 
5
+ ## 0.1.0-alpha.1 (2026-05-12)
6
+
7
+ Patch release. Documentation and attribution only; no API changes.
8
+
9
+ ### Added
10
+
11
+ - `NOTICE` file with full CC BY 4.0 attribution for SRD 5.2-derived starter-pack content. Shipped in the npm tarball alongside `LICENSE`.
12
+ - `docs/content-attribution.md`: item-by-item audit of the starter content pack against SRD 5.2, flagging confidently-covered material, likely-covered items worth verifying for commercial use, and not-confirmed items (Bastions, Epic Boons).
13
+ - `ContentPack` schema extended with optional `license`, `attribution`, and `derivedFrom` metadata fields. The starter pack carries `license: "CC-BY-4.0"` and a full attribution string.
14
+ - npm package now also ships under name `ttrpg-engine-dnd` (renamed from `dnd-engine` because the original name was an unpublished squat on npm). GitHub repo renamed to match.
15
+
16
+ ### Changed
17
+
18
+ - `LICENSE` restructured to explain dual licensing: engine code MIT, starter content pack CC BY 4.0.
19
+ - README "Intellectual property" section rewritten to point at the new attribution surface; Documentation table gains a row for IP / attribution.
20
+
5
21
  ## 0.1.0-alpha.0 (2026-05-12)
6
22
 
7
23
  First alpha. All six phases of the roadmap are complete except the optional `ttrpg-engine-core` extraction. Forty-six slices shipped across engine mechanics, state schemas, combat fill-in, adoption surface, and 2024 content.
package/LICENSE CHANGED
@@ -1,4 +1,9 @@
1
- MIT License
1
+ This package contains two categories of material under two licenses. See
2
+ NOTICE for the full attribution and the scope of each license.
3
+
4
+ ==============================================================================
5
+ Engine code: MIT License
6
+ ==============================================================================
2
7
 
3
8
  Copyright (c) 2026 Greg Carr
4
9
 
@@ -19,3 +24,15 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
24
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
25
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
26
  SOFTWARE.
27
+
28
+ ==============================================================================
29
+ Starter content pack: Creative Commons Attribution 4.0 International
30
+ ==============================================================================
31
+
32
+ The JSON content at src/content/packs/starter-pack.json contains material
33
+ derived from the Dungeons & Dragons System Reference Document 5.2 released
34
+ by Wizards of the Coast LLC under the Creative Commons Attribution 4.0
35
+ International License (CC BY 4.0). See NOTICE for the required attribution
36
+ and docs/content-attribution.md for an item-by-item audit.
37
+
38
+ https://creativecommons.org/licenses/by/4.0/legalcode
package/NOTICE ADDED
@@ -0,0 +1,61 @@
1
+ ttrpg-engine-dnd
2
+ Copyright (c) 2026 Greg Carr
3
+
4
+ This package contains two categories of material, governed by two licenses.
5
+
6
+ ==============================================================================
7
+ 1. Engine code (MIT License)
8
+ ==============================================================================
9
+
10
+ All TypeScript source code under `src/` (excluding the contents of
11
+ `src/content/packs/`) is original work by Greg Carr, licensed under the MIT
12
+ License. See LICENSE for the full text.
13
+
14
+ This category includes: the event-sourced state machine, all reducers and
15
+ planners, derivation functions, Zod schema definitions, the content pack
16
+ loader, the RNG abstraction, migration machinery, branded ID utilities, the
17
+ transcript formatter (in tests/), and every example. None of this material
18
+ incorporates copyrightable expression from Wizards of the Coast publications.
19
+
20
+ Game mechanics, rules, and procedures are not copyrightable under U.S. law
21
+ (see Baker v. Selden, 101 U.S. 99). The engine implements such mechanics in
22
+ original code.
23
+
24
+ ==============================================================================
25
+ 2. Starter content pack (CC BY 4.0)
26
+ ==============================================================================
27
+
28
+ The JSON content pack at `src/content/packs/starter-pack.json` contains
29
+ material derived from the Dungeons & Dragons System Reference Document 5.2
30
+ (SRD 5.2) released by Wizards of the Coast, LLC under the Creative Commons
31
+ Attribution 4.0 International License (CC BY 4.0):
32
+
33
+ https://creativecommons.org/licenses/by/4.0/legalcode
34
+
35
+ Attribution per CC BY 4.0:
36
+
37
+ Portions of the starter content pack are derived from the Dungeons &
38
+ Dragons System Reference Document 5.2, copyright Wizards of the Coast
39
+ LLC, used under the Creative Commons Attribution 4.0 International
40
+ License. The original SRD 5.2 is available from Wizards of the Coast.
41
+
42
+ The mechanical encodings (effect primitives, JSON structure, level table
43
+ shapes, etc.) are this package's own implementation; the material derived
44
+ from SRD 5.2 consists of names, structural rules, and numeric values present
45
+ in the SRD release.
46
+
47
+ Some entries in the starter pack reference 2024 PHB or DMG mechanics whose
48
+ inclusion in SRD 5.2 is not independently confirmed by this package's
49
+ authors. See `docs/content-attribution.md` for an item-by-item audit and
50
+ guidance for consumers extending the pack.
51
+
52
+ ==============================================================================
53
+ 3. Trademarks
54
+ ==============================================================================
55
+
56
+ "Dungeons & Dragons", "D&D", and related marks are trademarks of Wizards of
57
+ the Coast LLC. This project is not affiliated with, endorsed by, or sponsored
58
+ by Wizards of the Coast.
59
+
60
+ The package name `ttrpg-engine-dnd` uses generic descriptive terms; "dnd" is
61
+ used in the lowercase descriptive sense, not as a trademark of any product.
package/README.md CHANGED
@@ -53,6 +53,7 @@ Pick the doc that matches what you want:
53
53
  | Watch a full multi-act campaign run | [the showcase transcript](tests/golden/transcripts/showcase.transcript.md) |
54
54
  | Know what each version means (alpha / beta / rc / 1.0) | [VERSIONING.md](VERSIONING.md) |
55
55
  | Read the change history | [CHANGELOG.md](CHANGELOG.md) |
56
+ | Understand the IP / attribution situation | [NOTICE](NOTICE) and [docs/content-attribution.md](docs/content-attribution.md) |
56
57
 
57
58
  ## Why this engine
58
59
 
@@ -232,11 +233,15 @@ For a step-by-step walkthrough, see [docs/getting-started.md](docs/getting-start
232
233
 
233
234
  ## Intellectual property
234
235
 
235
- This library is original work. It contains zero text, statblocks, or content from the Wizards of the Coast D&D 5.5e rulebooks. The schemas describe the *shape* of D&D content (a spell has a level, a school, a list of mechanical effects) but no copyrighted content.
236
+ The package ships two categories of material under two licenses. See [NOTICE](NOTICE) for the full attribution and [docs/content-attribution.md](docs/content-attribution.md) for an item-by-item audit of the starter content pack.
236
237
 
237
- D&D content is published by Wizards of the Coast. The 2024 SRD (System Reference Document) is released under Creative Commons CC BY 4.0; portions of older 5e content are available under the OGL 1.0a. If you build a content pack to load into this engine, your pack is subject to those licenses, not this library's license. This library does not ship, distribute, or endorse any specific content pack.
238
+ **Engine code (MIT)**: all TypeScript source under `src/` (excluding `src/content/packs/`) is original work expressing public-domain game mechanics. The reducers, planners, schemas, derivations, and effect primitives are this package's own implementation; they incorporate no copyrightable expression from Wizards of the Coast publications.
238
239
 
239
- Dungeons & Dragons is a trademark of Wizards of the Coast LLC. This project is not affiliated with or endorsed by Wizards of the Coast.
240
+ **Starter content pack (CC BY 4.0)**: `src/content/packs/starter-pack.json` contains material derived from the Dungeons & Dragons System Reference Document 5.2, copyright Wizards of the Coast LLC, used under [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode). The mechanical encodings (JSON structure, effect-primitive vocabulary, level-table shapes) are this package's own work; the derived material consists of names, structural rules, and numeric values present in SRD 5.2. Most-but-not-all of the pack is confidently SRD-covered; see the audit doc for items (notably Bastions and Epic Boons) where SRD inclusion was not independently verified by the authors.
241
+
242
+ **Trademarks**: "Dungeons & Dragons", "D&D", and related marks are trademarks of Wizards of the Coast LLC. This project is not affiliated with or endorsed by Wizards of the Coast. The package name `ttrpg-engine-dnd` uses generic descriptive terms.
243
+
244
+ If you build your own content pack to load into this engine, your pack's license is your choice and is independent of this package.
240
245
 
241
246
  ## Contributing
242
247
 
@@ -244,4 +249,6 @@ See [CONTRIBUTING.md](CONTRIBUTING.md). The architecture is locked (see [CLAUDE.
244
249
 
245
250
  ## License
246
251
 
247
- [MIT](LICENSE). Copyright (c) 2026 Greg Carr.
252
+ Engine code: [MIT](LICENSE). Copyright (c) 2026 Greg Carr.
253
+
254
+ Starter content pack: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/legalcode) (derived from D&D SRD 5.2). See [NOTICE](NOTICE) for the required attribution.
@@ -4,6 +4,9 @@ export declare const ContentPackSchema: z.ZodObject<{
4
4
  id: z.ZodString;
5
5
  name: z.ZodString;
6
6
  version: z.ZodString;
7
+ license: z.ZodOptional<z.ZodString>;
8
+ attribution: z.ZodOptional<z.ZodString>;
9
+ derivedFrom: z.ZodOptional<z.ZodString>;
7
10
  species: z.ZodDefault<z.ZodArray<z.ZodObject<{
8
11
  id: z.ZodString;
9
12
  name: z.ZodString;
@@ -1352,6 +1355,9 @@ export declare const ContentPackSchema: z.ZodObject<{
1352
1355
  })[];
1353
1356
  description?: string | undefined;
1354
1357
  }[];
1358
+ license?: string | undefined;
1359
+ attribution?: string | undefined;
1360
+ derivedFrom?: string | undefined;
1355
1361
  }, {
1356
1362
  id: string;
1357
1363
  name: string;
@@ -1386,6 +1392,9 @@ export declare const ContentPackSchema: z.ZodObject<{
1386
1392
  preparedFormula?: string | undefined;
1387
1393
  } | undefined;
1388
1394
  }[] | undefined;
1395
+ license?: string | undefined;
1396
+ attribution?: string | undefined;
1397
+ derivedFrom?: string | undefined;
1389
1398
  species?: {
1390
1399
  speed: {
1391
1400
  walk?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/content/pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/content/pack.ts"],"names":[],"mappings":"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"}