optolith-database-schema 0.37.0 → 0.39.0

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,29 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.39.0](https://github.com/elyukai/optolith-database-schema/compare/v0.38.0...v0.39.0) (2026-03-14)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * more translations for equipment and professions
11
+
12
+ ### Features
13
+
14
+ * more translations for equipment and professions ([960f1a9](https://github.com/elyukai/optolith-database-schema/commit/960f1a9a363593b8b16b0258f86338a546e0c674))
15
+
16
+ ## [0.38.0](https://github.com/elyukai/optolith-database-schema/compare/v0.37.0...v0.38.0) (2026-03-14)
17
+
18
+
19
+ ### ⚠ BREAKING CHANGES
20
+
21
+ * reconstruction and references can differ per edition
22
+
23
+ ### Features
24
+
25
+ * display names for new skill applications and uses ([e3eaca0](https://github.com/elyukai/optolith-database-schema/commit/e3eaca0c25f6597bed456f6ae2edd0ff4afd2dae))
26
+ * reconstruction and references can differ per edition ([8774da6](https://github.com/elyukai/optolith-database-schema/commit/8774da6c72786333b09235ee712d0864778dbbfe))
27
+
5
28
  ## [0.37.0](https://github.com/elyukai/optolith-database-schema/compare/v0.36.1...v0.37.0) (2026-03-14)
6
29
 
7
30
 
package/README.md CHANGED
@@ -15,3 +15,20 @@ If you want to contribute to the database schema itself, please open an issue or
15
15
  ## Usage
16
16
 
17
17
  If you want to use the database (or parts of it) in your own project (most likely to support Optolith export formats in your own application), you can use the TypeScript sources as a simple database reader, at least if you have a project targeting JavaScript interpreters as well. This way, you already have proper typings. You can extract the database from the installation folder of Optolith and then configure the database reader to your needs.
18
+
19
+ ## Semantic Versioning
20
+
21
+ The following situations are considered breaking changes:
22
+
23
+ - Underlying data must be changed in order to comply with the new schema. Examples:
24
+ - Existing optional properties are made required
25
+ - New required properties are added
26
+ - Properties or enumeration cases are removed
27
+ - Code that uses the data must be adjusted in order to use the new version. Examples:
28
+ - Existing required properties are made optional
29
+ - Enumeration cases are added
30
+ - Properties or enumeration cases are removed
31
+
32
+ This implies that breaking changes can occur quite frequently, even if the changes are very small.
33
+
34
+ A minor version bump can represent new optional properties, while patch version might represent adjustments in comments or display names for the editor.
package/gen/types.d.ts CHANGED
@@ -2457,6 +2457,8 @@ export interface Locale {
2457
2457
  "Reconstruction": string
2458
2458
  "References": string
2459
2459
  "Entertainment": string
2460
+ "Topics": string
2461
+ "Place of Publication": string
2460
2462
  "Failed": string
2461
2463
  "Progress": string
2462
2464
  "Incubation Time": string
@@ -2541,6 +2543,7 @@ export interface Locale {
2541
2543
  "The Twelve Blessings": string
2542
2544
  "except for {$list :list type=conjunction}": string & { __params: { "list": StringableTranslationParameter } }
2543
2545
  "depends on selected tradition": string
2546
+ "Additional Prerequisites": string
2544
2547
  "Enhancements": string
2545
2548
  "SR {$value}": string & { __params: { "value": StringableTranslationParameter } }
2546
2549
  ".input {$hiddenCount :number} {{Prerequisites}}": string & { __params: { "hiddenCount": number } }
@@ -20289,16 +20292,6 @@ export interface PlainBookRules {
20289
20292
  export interface BookRulesByEdition {
20290
20293
  editions: BookRulesOfEdition[]
20291
20294
 
20292
- /**
20293
- * Rules for reconstructing certain skills or abilities from the book.
20294
- */
20295
- reconstruction?: string
20296
-
20297
- /**
20298
- * References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.
20299
- */
20300
- references?: string
20301
-
20302
20295
  /**
20303
20296
  * Additional rules text that comes after all other rules.
20304
20297
  */
@@ -20315,6 +20308,16 @@ export interface BookRulesOfEdition {
20315
20308
  * The rules text.
20316
20309
  */
20317
20310
  text: string
20311
+
20312
+ /**
20313
+ * Rules for reconstructing certain skills or abilities from the book.
20314
+ */
20315
+ reconstruction?: string
20316
+
20317
+ /**
20318
+ * References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.
20319
+ */
20320
+ references?: string
20318
20321
  }
20319
20322
 
20320
20323
  export interface CeremonialItem {
@@ -1495,6 +1495,8 @@ export declare const Locale: DB.Entity<"Locale", {
1495
1495
  Reconstruction: null;
1496
1496
  References: null;
1497
1497
  Entertainment: null;
1498
+ Topics: null;
1499
+ "Place of Publication": null;
1498
1500
  Failed: null;
1499
1501
  Progress: null;
1500
1502
  "Incubation Time": null;
@@ -1579,6 +1581,7 @@ export declare const Locale: DB.Entity<"Locale", {
1579
1581
  "The Twelve Blessings": null;
1580
1582
  "except for {$list :list type=conjunction}": null;
1581
1583
  "depends on selected tradition": null;
1584
+ "Additional Prerequisites": null;
1582
1585
  Enhancements: null;
1583
1586
  "SR {$value}": null;
1584
1587
  ".input {$hiddenCount :number} {{Prerequisites}}": null;
@@ -1537,6 +1537,8 @@ export const Locale = DB.Entity(import.meta.url, {
1537
1537
  "Reconstruction": null,
1538
1538
  "References": null,
1539
1539
  "Entertainment": null,
1540
+ "Topics": null,
1541
+ "Place of Publication": null,
1540
1542
  // sex practices
1541
1543
  "Failed": null,
1542
1544
  // diseases
@@ -1629,6 +1631,7 @@ export const Locale = DB.Entity(import.meta.url, {
1629
1631
  "The Twelve Blessings": null,
1630
1632
  "except for {$list :list type=conjunction}": null,
1631
1633
  "depends on selected tradition": null,
1634
+ "Additional Prerequisites": null,
1632
1635
  // Enhancements
1633
1636
  "Enhancements": null,
1634
1637
  "SR {$value}": null,
@@ -36,6 +36,7 @@ export const NewSkillApplication = DB.Entity(import.meta.url, {
36
36
  }),
37
37
  });
38
38
  export const skill_applications = DB.Required({
39
+ displayName: "New Skill Applications",
39
40
  comment: "Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
40
41
  type: DB.ChildEntities(NewSkillApplication),
41
42
  });
@@ -73,6 +74,7 @@ export const SkillUse = DB.Entity(import.meta.url, {
73
74
  }),
74
75
  });
75
76
  export const skill_uses = DB.Required({
77
+ displayName: "Skill Uses",
76
78
  comment: "Registers uses, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
77
79
  type: DB.ChildEntities(SkillUse),
78
80
  });
@@ -152,9 +152,9 @@ export declare const Book: DB.Entity<"Book", {
152
152
  editions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"BookRulesOfEdition", DB.Object<{
153
153
  label: DB.MemberDecl<DB.String, true>;
154
154
  text: DB.MemberDecl<DB.String, true>;
155
+ reconstruction: DB.MemberDecl<DB.String, false>;
156
+ references: DB.MemberDecl<DB.String, false>;
155
157
  }>, []>>>, true>;
156
- reconstruction: DB.MemberDecl<DB.String, false>;
157
- references: DB.MemberDecl<DB.String, false>;
158
158
  textAfter: DB.MemberDecl<DB.String, false>;
159
159
  }>, []>>>;
160
160
  }, []>>, false>;
@@ -242,14 +242,6 @@ const BookRulesByEdition = DB.TypeAlias(import.meta.url, {
242
242
  editions: DB.Required({
243
243
  type: DB.Array(DB.IncludeIdentifier(BookRulesOfEdition), { minItems: 1 }),
244
244
  }),
245
- reconstruction: DB.Optional({
246
- comment: "Rules for reconstructing certain skills or abilities from the book.",
247
- type: DB.String({ minLength: 1, markdown: "block" }),
248
- }),
249
- references: DB.Optional({
250
- comment: "References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.",
251
- type: DB.String({ minLength: 1, markdown: "block" }),
252
- }),
253
245
  textAfter: DB.Optional({
254
246
  comment: "Additional rules text that comes after all other rules.",
255
247
  type: DB.String({ minLength: 1, markdown: "block" }),
@@ -267,5 +259,13 @@ const BookRulesOfEdition = DB.TypeAlias(import.meta.url, {
267
259
  comment: "The rules text.",
268
260
  type: DB.String({ minLength: 1, markdown: "block" }),
269
261
  }),
262
+ reconstruction: DB.Optional({
263
+ comment: "Rules for reconstructing certain skills or abilities from the book.",
264
+ type: DB.String({ minLength: 1, markdown: "block" }),
265
+ }),
266
+ references: DB.Optional({
267
+ comment: "References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.",
268
+ type: DB.String({ minLength: 1, markdown: "block" }),
269
+ }),
270
270
  }),
271
271
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.37.0",
3
+ "version": "0.39.0",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",