@jjlmoya/utils-tabletop 1.6.0 → 1.8.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.
Files changed (47) hide show
  1. package/package.json +1 -1
  2. package/src/entries.ts +14 -1
  3. package/src/index.ts +1 -0
  4. package/src/tests/locale_completeness.test.ts +1 -1
  5. package/src/tests/tool_validation.test.ts +1 -1
  6. package/src/tool/investigation-board/i18n/de.ts +105 -22
  7. package/src/tool/investigation-board/i18n/en.ts +158 -76
  8. package/src/tool/investigation-board/i18n/es.ts +105 -22
  9. package/src/tool/investigation-board/i18n/fr.ts +105 -22
  10. package/src/tool/investigation-board/i18n/id.ts +105 -22
  11. package/src/tool/investigation-board/i18n/it.ts +105 -22
  12. package/src/tool/investigation-board/i18n/ja.ts +105 -22
  13. package/src/tool/investigation-board/i18n/ko.ts +105 -22
  14. package/src/tool/investigation-board/i18n/nl.ts +111 -28
  15. package/src/tool/investigation-board/i18n/pl.ts +116 -33
  16. package/src/tool/investigation-board/i18n/pt.ts +118 -35
  17. package/src/tool/investigation-board/i18n/ru.ts +120 -37
  18. package/src/tool/investigation-board/i18n/sv.ts +119 -36
  19. package/src/tool/investigation-board/i18n/tr.ts +113 -30
  20. package/src/tool/investigation-board/i18n/zh.ts +117 -34
  21. package/src/tool/lunar-tide-tracker/bibliography.astro +16 -0
  22. package/src/tool/lunar-tide-tracker/bibliography.ts +8 -0
  23. package/src/tool/lunar-tide-tracker/client.ts +264 -0
  24. package/src/tool/lunar-tide-tracker/component.astro +103 -0
  25. package/src/tool/lunar-tide-tracker/entry.ts +26 -0
  26. package/src/tool/lunar-tide-tracker/i18n/de.ts +156 -0
  27. package/src/tool/lunar-tide-tracker/i18n/en.ts +214 -0
  28. package/src/tool/lunar-tide-tracker/i18n/es.ts +157 -0
  29. package/src/tool/lunar-tide-tracker/i18n/fr.ts +156 -0
  30. package/src/tool/lunar-tide-tracker/i18n/id.ts +156 -0
  31. package/src/tool/lunar-tide-tracker/i18n/it.ts +156 -0
  32. package/src/tool/lunar-tide-tracker/i18n/ja.ts +156 -0
  33. package/src/tool/lunar-tide-tracker/i18n/ko.ts +214 -0
  34. package/src/tool/lunar-tide-tracker/i18n/nl.ts +214 -0
  35. package/src/tool/lunar-tide-tracker/i18n/pl.ts +214 -0
  36. package/src/tool/lunar-tide-tracker/i18n/pt.ts +214 -0
  37. package/src/tool/lunar-tide-tracker/i18n/ru.ts +214 -0
  38. package/src/tool/lunar-tide-tracker/i18n/sv.ts +214 -0
  39. package/src/tool/lunar-tide-tracker/i18n/tr.ts +214 -0
  40. package/src/tool/lunar-tide-tracker/i18n/zh.ts +214 -0
  41. package/src/tool/lunar-tide-tracker/index.ts +9 -0
  42. package/src/tool/lunar-tide-tracker/logic.test.ts +56 -0
  43. package/src/tool/lunar-tide-tracker/logic.ts +76 -0
  44. package/src/tool/lunar-tide-tracker/lunar-tide-tracker.css +494 -0
  45. package/src/tool/lunar-tide-tracker/seo.astro +16 -0
  46. package/src/tool/lunar-tide-tracker/types.ts +70 -0
  47. package/src/tools.ts +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-tabletop",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
package/src/entries.ts CHANGED
@@ -12,6 +12,8 @@ export { fantasyRunesTranslator } from './tool/fantasy-runes-translator/entry';
12
12
  export type { FantasyRunesTranslatorUI, FantasyRunesTranslatorLocaleContent } from './tool/fantasy-runes-translator/entry';
13
13
  export { investigationBoard } from './tool/investigation-board/entry';
14
14
  export type { InvestigationBoardUI, InvestigationBoardLocaleContent } from './tool/investigation-board/entry';
15
+ export { lunarTideTracker } from './tool/lunar-tide-tracker/entry';
16
+ export type { LunarTideUI, LunarTideLocaleContent } from './tool/lunar-tide-tracker/entry';
15
17
  export { tabletopCategory } from './category';
16
18
 
17
19
  import { diceRollerSimulator } from './tool/dice-roller-simulator/entry';
@@ -22,6 +24,17 @@ import { initiativeTracker } from './tool/rpg-initiative-tracker/entry';
22
24
  import { fantasyRunesTranslator } from './tool/fantasy-runes-translator/entry';
23
25
  import { decisionWheel } from './tool/decision-wheel/entry';
24
26
  import { investigationBoard } from './tool/investigation-board/entry';
27
+ import { lunarTideTracker } from './tool/lunar-tide-tracker/entry';
25
28
 
26
- export const ALL_ENTRIES = [diceRollerSimulator, boardGameTimer, firstPlayerSelector, scoreTracker, initiativeTracker, fantasyRunesTranslator, decisionWheel, investigationBoard];
29
+ export const ALL_ENTRIES = [
30
+ diceRollerSimulator,
31
+ boardGameTimer,
32
+ firstPlayerSelector,
33
+ scoreTracker,
34
+ initiativeTracker,
35
+ fantasyRunesTranslator,
36
+ decisionWheel,
37
+ investigationBoard,
38
+ lunarTideTracker,
39
+ ];
27
40
 
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ export { diceRollerSimulator, DICE_ROLLER_SIMULATOR_TOOL } from './tool/dice-rol
5
5
  export { boardGameTimer, BOARD_GAME_TIMER_TOOL } from './tool/board-game-timer';
6
6
  export { fantasyRunesTranslator, FANTASY_RUNES_TRANSLATOR_TOOL } from './tool/fantasy-runes-translator';
7
7
  export { investigationBoard, INVESTIGATION_BOARD_TOOL } from './tool/investigation-board';
8
+ export { lunarTideTracker, LUNAR_TIDE_TRACKER_TOOL } from './tool/lunar-tide-tracker';
8
9
 
9
10
 
10
11
  export type {
@@ -22,7 +22,7 @@ describe('Locale Completeness Validation', () => {
22
22
  });
23
23
 
24
24
  it('all tools registered', () => {
25
- expect(ALL_TOOLS.length).toBe(8);
25
+ expect(ALL_TOOLS.length).toBe(9);
26
26
  });
27
27
 
28
28
 
@@ -5,7 +5,7 @@ import { tabletopCategory } from '../data';
5
5
  describe('Tool Validation Suite', () => {
6
6
  describe('Library Registration', () => {
7
7
  it('should have tools in ALL_TOOLS', () => {
8
- expect(ALL_TOOLS.length).toBe(8);
8
+ expect(ALL_TOOLS.length).toBe(9);
9
9
  });
10
10
 
11
11
 
@@ -3,8 +3,8 @@ import type { InvestigationBoardLocaleContent } from '../entry';
3
3
 
4
4
  export const content: InvestigationBoardLocaleContent = {
5
5
  slug: "verschwoerungsbrett-ersteller",
6
- title: "Verschwörungsbrett Ersteller",
7
- description: "Entwerfen Sie interaktive Verschwörungsbretter und Ermittlungskarten. Verbinden Sie Charaktere, Hinweise, Orte und verfolgen Sie Beziehungen mit benutzerdefinierten Links.",
6
+ title: "Verschwörungsbrett Ersteller: Online Detektiv RPG Ermittlungskarten",
7
+ description: "Erstellen Sie interaktive Verschwörungsbretter und RPG-Ermittlungskarten. Verbinden Sie Verdächtige, Hinweise und Tatorte mit farbigen Fäden.",
8
8
  ui: {
9
9
  "title": "Verschwörungsbrett Ersteller",
10
10
  "addCard": "Karte hinzufügen",
@@ -39,8 +39,8 @@ export const content: InvestigationBoardLocaleContent = {
39
39
  "immersive": "Vollbild"
40
40
  },
41
41
  seo: [
42
- { type: 'title', text: "Verschwörungsbrett Ersteller für Tabletop und Detektiv RPG Spiele", level: 2 },
43
- { type: 'paragraph', html: "Erstellen Sie immersive Ermittlungskarten und Verschwörungsbretter für Ihre Tabletop-Rollenspiele. Ziehen Sie Hinweise, Orte und Charaktere per Drag-and-Drop und verbinden Sie diese mit benutzerdefinierten Fäden, um komplexe Geheimnisse zu visualisieren." },
42
+ { type: 'title', text: "Online Verschwörungsbrett Ersteller: Organisieren Sie Detektiv-RPG-Hinweise", level: 2 },
43
+ { type: 'paragraph', html: "Das Entwirren eines komplexen Geflechts aus Lügen, das Verfolgen von Alibis von Verdächtigen und das Verknüpfen von Beweisen am Tatort kann jede Detektiv-RPG-Gruppe überfordern. Egal, ob Sie eine Call of Cthulhu-Kampagne, ein Cyberpunk-Krimi-Spiel, ein Detektiv-Abenteuer in D&D leiten oder einen Thriller schreiben - unser Online-Verschwörungsbrett-Ersteller ist das ultimative Werkzeug. Ziehen, kategorisieren und verknüpfen Sie Hinweise, NPCs und physische Beweise auf einer unbegrenzten digitalen Korktafel. Nutzen Sie farbcodierte Beziehungsfäden, um sofort zu sehen, wie Verdächtige mit Tatorten, Alibis und geheimen Motiven zusammenhängen. So gehören unübersichtliche Papierzettel der Vergangenheit an und Ihre Spieler bleiben vollständig in die Ermittlung eingetaucht." },
44
44
  {
45
45
  type: 'stats',
46
46
  items: [
@@ -50,35 +50,94 @@ export const content: InvestigationBoardLocaleContent = {
50
50
  ],
51
51
  columns: 3
52
52
  },
53
- { type: 'title', text: "Wie man eine Ermittlungskarte aufbaut", level: 2 },
54
- { type: 'paragraph', html: "Fügen Sie benutzerdefinierte Karten hinzu, die Hinweise, Charaktere, Gegenstände und Orte darstellen. Ziehen Sie sie auf dem Raster in Position. Wählen Sie zwei Karten aus, um sie mit einem farbigen Beziehungsfaden zu verbinden. Doppelklicken Sie auf Knoten oder Fäden, um detaillierte Informationen anzuzeigen." }
55
- ],
56
- faq: [
53
+ { type: 'title', text: "Tipps zur Strukturierung Ihrer Detektiv-RPG-Ermittlungskarte", level: 2 },
54
+ { type: 'tip', title: "Die Drei Hinweise Regel", html: "Fügen Sie für jede Schlussfolgerung oder Deduktion, die die Spieler ziehen sollen, mindestens drei verschiedene Hinweise auf dem Ermittlungsbrett hinzu. Verbinden Sie diese mit benutzerdefinierten farbigen Fäden, um alternative Argumentationslinien aufzuzeigen. Verwenden Sie Charakterkarten für Verdächtige und Zeugen, Ortskarten für Tatorte und Gegenstandskarten für physische Beweise oder Dokumente. Halten Sie die Notizen stets mit den Entdeckungen der Spieler auf dem neuesten Stand." },
55
+ { type: 'title', text: "Digitale Verschwörungsbretter im Vergleich zu physischen Korktafeln mit rotem Faden", level: 2 },
57
56
  {
58
- question: "Wie füge ich Verbindungslinien hinzu?",
59
- answer: "Klicken Sie im Bedienfeld auf Verbindung hinzufügen, wählen Sie die Ausgangs- und Zielkarten aus, weisen Sie eine Textbeschriftung und eine Farbe zu und speichern Sie sie."
57
+ type: 'proscons',
58
+ title: "Digitale Verschwörungsbretter im Vergleich zu physischen Korktafeln mit rotem Faden",
59
+ items: [
60
+ { pro: "Unbegrenzte Brettgröße, um so viele Hinweise, Verdächtige und Charakterbeziehungen wie nötig ohne Platzmangel hinzuzufügen.", con: "Erfordert einen Bildschirm, ein Tablet oder ein digitales Gerät während der Spielrunde." },
61
+ { pro: "Sofortige Suche und Kategoriefilter, um bestimmte Zeugen oder Hinweise während der Runden sofort zu finden.", con: "Es fehlt das haptische Gefühl von echtem roten Faden und Pins an einer echten Wand." },
62
+ { pro: "Speichern, Laden und Teilen Sie Karten digital, ohne physischen Platz zwischen den Spieleabenden einzunehmen.", con: "Erfordert Internetzugang oder lokalen Speicher des Browsers, um den Zustand des Bretts zu sichern." }
63
+ ]
60
64
  },
65
+ { type: 'title', text: "Auswahl der Kartenkategorien für Ihre Ermittlungskarte", level: 3 },
61
66
  {
62
- question: "Kann ich Karten auf dem Handy ziehen?",
63
- answer: "Ja, das Board unterstützt Touch-Events, um Karten auf Smartphones und Tablets reibungslos zu ziehen und zu bewegen."
64
- }
65
- ],
66
- bibliography,
67
- howTo: [
67
+ type: 'comparative',
68
+ items: [
69
+ {
70
+ title: "Charakterknoten",
71
+ description: "Stellt NPCs, Verdächtige, Zeugen oder Organisationen dar. Heben Sie Beziehungen mit farbigen Linien hervor.",
72
+ icon: 'mdi:account-group',
73
+ highlight: true,
74
+ points: [
75
+ "Verdächtigen-Alibis und Motive verfolgen",
76
+ "Familien- und Fraktionsverbindungen verknüpfen",
77
+ "Zeugenaussagen im Detail festhalten"
78
+ ]
79
+ },
80
+ {
81
+ title: "Hinweisknoten",
82
+ description: "Stellt physische Beweise, Berichte, Alibis oder Gerüchte dar, die von den Spielern entdeckt wurden.",
83
+ icon: 'mdi:magnify',
84
+ highlight: false,
85
+ points: [
86
+ "Obduktionsberichte und forensische Analysen",
87
+ "Physische Beweismittel vom Tatort",
88
+ "Aufgeschnappte Gerüchte und Geheimnisse"
89
+ ]
90
+ },
91
+ {
92
+ title: "Ortsknoten",
93
+ description: "Tatorte, Häuser von Verdächtigen, geheime Verstecke oder Städte.",
94
+ icon: 'mdi:map-marker',
95
+ highlight: false,
96
+ points: [
97
+ "Tatortfotos und Umgebungskarten",
98
+ "Wohnorte wichtiger NPCs",
99
+ "Geheime Unterschlüpfe und Portale"
100
+ ]
101
+ }
102
+ ],
103
+ columns: 3
104
+ },
105
+ { type: 'title', text: "Glossar zur Verschwörungskartierung", level: 3 },
68
106
  {
69
- name: "Ermittlungskarten hinzufügen",
70
- text: "Erstellen Sie Karten, die NPCs, Hinweise, Tatorte oder Gegenstände darstellen."
107
+ type: 'glossary',
108
+ items: [
109
+ { term: "Ermittlungsknoten", definition: "Jede Karte auf dem Brett, die eine Person, einen Ort, einen Hinweis oder einen Gegenstand darstellt." },
110
+ { term: "Beziehungsfaden", definition: "Eine farbige Linie, die zwei Karten verbindet und zeigt, wie sie zusammenhängen (z. B. Verdächtig, Alibi, Eigentümer)." },
111
+ { term: "Vollbildmodus", definition: "Ein Layout, das die Steuerungselemente ausblendet, um den Arbeitsbereich auf Mobilgeräten oder Tablets zu maximieren." },
112
+ { term: "Hervorhebungspfad", definition: "Ein visueller Pfad, der nur die verbundenen Knoten einer ausgewählten Karte anzeigt und den Rest dimmt." }
113
+ ]
71
114
  },
72
115
  {
73
- name: "Beziehungen verknüpfen",
74
- text: "Erstellen Sie Verbindungslinien zwischen Karten, um zu zeigen, wie Hinweise zusammenhängen."
116
+ type: 'diagnostic',
117
+ variant: 'info',
118
+ title: "Leistungstipp für Mobilgeräte",
119
+ icon: 'mdi:information-outline',
120
+ badge: 'GRID TIP',
121
+ html: "Wenn das Ziehen von Knoten auf älteren Tablets langsam ist, aktivieren Sie den Vollbildmodus. Stellen Sie sicher, dass das Einrasten am Raster aktiviert ist (Karten rasten alle 15px ein), um das Brett mit minimalem Aufwand ordentlich zu halten."
75
122
  }
76
123
  ],
124
+ faq: [
125
+ { question: "Wie füge ich Verbindungslinien hinzu?", answer: "Klicken Sie auf Verbindung hinzufügen oder wählen Sie eine Karte aus, klicken Sie auf das Link-Symbol und wählen Sie die Zielkarte." },
126
+ { question: "Kann ich Karten auf dem Handy ziehen?", answer: "Ja, das Board unterstützt Touch-Events, um Karten auf Smartphones und Tablets reibungslos zu ziehen und zu bewegen." },
127
+ { question: "Kann ich benutzerdefinierte Kartenfarben verwenden?", answer: "Ja. Doppelklicken Sie auf eine Karte, wählen Sie Custom in der Kategorie und wählen Sie eine Highlight-Farbe." },
128
+ { question: "Speichert das Board meine Arbeit?", answer: "Ja. Ihr Fortschritt wird automatisch im lokalen Speicher Ihres Browsers unter dem aktuellen Brettnamen gespeichert." },
129
+ { question: "Wie kann ich zoomen und mich auf dem Brett bewegen?", answer: "Verwenden Sie Pinch-to-Zoom-Gesten oder das Mausrad zum Zoomen. Ziehen Sie den Hintergrund, um das Brett zu bewegen." }
130
+ ],
131
+ bibliography,
132
+ howTo: [
133
+ { name: "Ermittlungskarten hinzufügen", text: "Erstellen Sie Karten, die NPCs, Hinweise, Tatorte oder Gegenstände darstellen." },
134
+ { name: "Beziehungen verknüpfen", text: "Erstellen Sie Verbindungslinien zwischen Karten, um zu zeigen, wie Hinweise zusammenhängen." }
135
+ ],
77
136
  schemas: [
78
137
  {
79
138
  '@context': 'https://schema.org',
80
139
  '@type': 'SoftwareApplication',
81
- 'name': "Verschwörungsbrett Ersteller",
140
+ 'name': "Verschwörungsbrett Ersteller: Online Detektiv RPG Ermittlungskarten",
82
141
  'operatingSystem': 'All',
83
142
  'applicationCategory': 'UtilitiesApplication',
84
143
  'browserRequirements': 'Requires HTML5 SVG support. Requires JavaScript.'
@@ -92,7 +151,7 @@ export const content: InvestigationBoardLocaleContent = {
92
151
  'name': "Wie füge ich Verbindungslinien hinzu?",
93
152
  'acceptedAnswer': {
94
153
  '@type': 'Answer',
95
- 'text': "Klicken Sie im Bedienfeld auf Verbindung hinzufügen, wählen Sie die Ausgangs- und Zielkarten aus, weisen Sie eine Textbeschriftung und eine Farbe zu und speichern Sie sie."
154
+ 'text': "Klicken Sie auf Verbindung hinzufügen oder wählen Sie eine Karte aus, klicken Sie auf das Link-Symbol und wählen Sie die Zielkarte."
96
155
  }
97
156
  },
98
157
  {
@@ -102,6 +161,30 @@ export const content: InvestigationBoardLocaleContent = {
102
161
  '@type': 'Answer',
103
162
  'text': "Ja, das Board unterstützt Touch-Events, um Karten auf Smartphones und Tablets reibungslos zu ziehen und zu bewegen."
104
163
  }
164
+ },
165
+ {
166
+ '@type': 'Question',
167
+ 'name': "Kann ich benutzerdefinierte Kartenfarben verwenden?",
168
+ 'acceptedAnswer': {
169
+ '@type': 'Answer',
170
+ 'text': "Ja. Doppelklicken Sie auf eine Karte, wählen Sie Custom in der Kategorie und wählen Sie eine Highlight-Farbe."
171
+ }
172
+ },
173
+ {
174
+ '@type': 'Question',
175
+ 'name': "Speichert das Board meine Arbeit?",
176
+ 'acceptedAnswer': {
177
+ '@type': 'Answer',
178
+ 'text': "Ja. Ihr Fortschritt wird automatisch im lokalen Speicher Ihres Browsers unter dem aktuellen Brettnamen gespeichert."
179
+ }
180
+ },
181
+ {
182
+ '@type': 'Question',
183
+ 'name': "Wie kann ich zoomen und mich auf dem Brett bewegen?",
184
+ 'acceptedAnswer': {
185
+ '@type': 'Answer',
186
+ 'text': "Verwenden Sie Pinch-to-Zoom-Gesten oder das Mausrad zum Zoomen. Ziehen Sie den Hintergrund, um das Brett zu bewegen."
187
+ }
105
188
  }
106
189
  ]
107
190
  },
@@ -2,86 +2,145 @@ import { bibliography } from '../bibliography';
2
2
  import type { InvestigationBoardLocaleContent } from '../entry';
3
3
 
4
4
  export const content: InvestigationBoardLocaleContent = {
5
- slug: 'investigation-board',
6
- title: 'Conspiracy Board Maker',
7
- description: 'Design interactive conspiracy boards and investigation maps. Connect characters, clues, locations, and trace relationships with customized links.',
5
+ slug: "investigation-board",
6
+ title: "Conspiracy Board Maker: Online Detective RPG Clue & Relationship Map Organizer",
7
+ description: "Design interactive digital conspiracy boards, virtual cork boards with red string, and RPG investigation maps. Connect clues, suspects, and locations for tabletop mystery campaigns.",
8
8
  ui: {
9
- title: 'Conspiracy Board Maker',
10
- addCard: 'Add Card',
11
- searchPlaceholder: 'Search cards by name or clues',
12
- filterAll: 'All Categories',
13
- filterCharacter: 'Characters',
14
- filterClue: 'Clues',
15
- filterLocation: 'Locations',
16
- filterItem: 'Items',
17
- cardName: 'Card Name',
18
- cardCategory: 'Category',
19
- cardDescription: 'Description',
20
- cardNotes: 'Private Notes',
21
- cardTags: 'Tags separated by commas',
22
- cardColor: 'Card Highlight Color',
23
- save: 'Save Changes',
24
- delete: 'Delete',
25
- cancel: 'Cancel',
26
- clearBoard: 'Clear Board',
27
- connectionsTitle: 'Relationships Map',
28
- addConnection: 'Add Connection',
29
- connectionLabel: 'Relationship Label',
30
- connectionColor: 'Line Color',
31
- sourceCard: 'From Card',
32
- targetCard: 'To Card',
33
- close: 'Close',
34
- character: 'Character',
35
- clue: 'Clue',
36
- location: 'Location',
37
- item: 'Item',
38
- custom: 'Custom',
39
- immersive: 'Fullscreen',
40
- },
9
+ "title": "Conspiracy Board Maker",
10
+ "addCard": "Add Card",
11
+ "searchPlaceholder": "Search cards by name or clues",
12
+ "filterAll": "All Categories",
13
+ "filterCharacter": "Characters",
14
+ "filterClue": "Clues",
15
+ "filterLocation": "Locations",
16
+ "filterItem": "Items",
17
+ "cardName": "Card Name",
18
+ "cardCategory": "Category",
19
+ "cardDescription": "Description",
20
+ "cardNotes": "Private Notes",
21
+ "cardTags": "Tags separated by commas",
22
+ "cardColor": "Card Highlight Color",
23
+ "save": "Save Changes",
24
+ "delete": "Delete",
25
+ "cancel": "Cancel",
26
+ "clearBoard": "Clear Board",
27
+ "connectionsTitle": "Relationships Map",
28
+ "addConnection": "Add Connection",
29
+ "connectionLabel": "Relationship Label",
30
+ "connectionColor": "Line Color",
31
+ "sourceCard": "From Card",
32
+ "targetCard": "To Card",
33
+ "close": "Close",
34
+ "character": "Character",
35
+ "clue": "Clue",
36
+ "location": "Location",
37
+ "item": "Item",
38
+ "custom": "Custom",
39
+ "immersive": "Fullscreen"
40
+ },
41
41
  seo: [
42
- { type: 'title', text: 'Conspiracy Board Maker for Tabletop and Detective RPG Games', level: 2 },
43
- { type: 'paragraph', html: 'Create immersive investigation maps and conspiracy boards for your tabletop roleplaying games. Drag and drop clues, locations, and characters, then connect them with customized threads to visualize complex mysteries.' },
42
+ { type: 'title', text: "Online Conspiracy Board Maker: Organize Detective RPG Clues & Relationship Maps", level: 2 },
43
+ { type: 'paragraph', html: "Unraveling a complex web of lies, tracking suspect alibis, and connecting crime scene evidence can overwhelm any detective RPG group. Whether you are running a Call of Cthulhu campaign, a Cyberpunk murder mystery, a homebrew D&D detective quest, or writing a thriller novel, our online conspiracy board maker is the ultimate tool. Drag, drop, categorize, and link clues, NPCs, and physical evidence on an infinite digital cork board. Use color-coded relationship threads to instantly see how suspects relate to crime scenes, alibis, and hidden motives, eliminating messy paper notes and keeping players fully immersed in the investigation." },
44
44
  {
45
45
  type: 'stats',
46
46
  items: [
47
- { value: 'Unlimited', label: 'Nodes Board' },
48
- { value: '4', label: 'Categories' },
49
- { value: 'Drag and Drop', label: 'Interface' },
47
+ { value: "Unlimited", label: "Nodes Board" },
48
+ { value: "4", label: "Categories" },
49
+ { value: "Drag-and-Drop", label: "Interface" }
50
50
  ],
51
- columns: 3,
51
+ columns: 3
52
52
  },
53
- { type: 'title', text: 'How to Build an Investigation Map', level: 2 },
54
- { type: 'paragraph', html: 'Add custom cards representing clues, characters, items, and locations. Drag them into positions on the grid. Select two cards to link them with a colored relationship thread. Double click nodes or threads to view detailed information.' },
55
- ],
56
- faq: [
53
+ { type: 'title', text: "Tips for Structuring Your Detective RPG Mystery Board", level: 2 },
54
+ { type: 'tip', title: "The Three Clue Rule", html: "For every conclusion or deduction you want the players to make, add at least three distinct clues to the board. Connect them using custom colored threads to show alternative lines of reasoning. Use Character cards for suspects and witnesses, Locations for crime scenes, and Items for physical evidence or documents. Keep notes updated with player discoveries." },
55
+ { type: 'title', text: "Digital Conspiracy Boards vs Physical Cork Boards", level: 2 },
56
+ {
57
+ type: 'proscons',
58
+ title: "Digital Conspiracy Boards vs Physical Cork Boards",
59
+ items: [
60
+ { pro: "Infinite canvas size to add as many clues and character relationships as needed without space limits.", con: "Requires a screen, tablet, or digital device during the tabletop session." },
61
+ { pro: "Instant search and category filters to locate specific witnesses or clues during sessions.", con: "Lacks the tactile feel of physical red string and pins on a wall." },
62
+ { pro: "Save, load, and share maps digitally without taking up physical space between game nights.", con: "Requires internet access or local storage to persist the board state." }
63
+ ]
64
+ },
65
+ { type: 'title', text: "Choosing Card Categories for Your Mystery Map", level: 3 },
57
66
  {
58
- question: 'How do I add connection lines?',
59
- answer: 'Click Add Connection in the control panel, choose the source and target cards, assign a text label and color, and save it.',
67
+ type: 'comparative',
68
+ items: [
69
+ {
70
+ title: "Character Nodes",
71
+ description: "Used to represent NPCs, suspects, witnesses, or organizations. Highlight relationships with colored lines.",
72
+ icon: 'mdi:account-group',
73
+ highlight: true,
74
+ points: [
75
+ "Track suspect alibis and motives",
76
+ "Link family and faction ties",
77
+ "Record witness testimonies"
78
+ ]
79
+ },
80
+ {
81
+ title: "Clue Nodes",
82
+ description: "Represent physical evidence, autopsy reports, alibis, or rumors discovered by the players during the campaign.",
83
+ icon: 'mdi:magnify',
84
+ highlight: false,
85
+ points: [
86
+ "Autopsy and forensic reports",
87
+ "Physical items from crime scenes",
88
+ "Heard rumors and secrets"
89
+ ]
90
+ },
91
+ {
92
+ title: "Location Nodes",
93
+ description: "Crime scenes, suspect houses, local hideouts, or cities where events take place.",
94
+ icon: 'mdi:map-marker',
95
+ highlight: false,
96
+ points: [
97
+ "Crime scene photos and maps",
98
+ "Residences of key NPCs",
99
+ "Secret hideouts and portals"
100
+ ]
101
+ }
102
+ ],
103
+ columns: 3
60
104
  },
105
+ { type: 'title', text: "Conspiracy Mapping Terminology Glossary", level: 3 },
61
106
  {
62
- question: 'Can I drag cards on mobile?',
63
- answer: 'Yes, the board supports touch events to drag and move cards around smoothly on smartphones and tablets.',
107
+ type: 'glossary',
108
+ items: [
109
+ { term: "Node", definition: "Any card on the canvas representing a person, location, clue, or item." },
110
+ { term: "Relationship Thread", definition: "A colored line linking two cards, indicating how they are connected (e.g. Investigating, Alibi, Owner)." },
111
+ { term: "Immersive Mode", definition: "A fullscreen layout that hides control panels, maximizing canvas workspace on mobile or tablets." },
112
+ { term: "Highlight Path", definition: "A visual path showing only the connected nodes and lines of a selected card, dimming the rest of the board." }
113
+ ]
64
114
  },
115
+ {
116
+ type: 'diagnostic',
117
+ variant: 'info',
118
+ title: "Performance Tip for Mobile Devices",
119
+ icon: 'mdi:information-outline',
120
+ badge: 'GRID TIP',
121
+ html: "If dragging nodes feels slow on older tablets or phones, toggle the fullscreen mode to hide unnecessary menus. Make sure grid snapping is enabled (cards snap to every 15px) for consistent alignment with minimal effort."
122
+ }
123
+ ],
124
+ faq: [
125
+ { question: "How do I add cards?", answer: "Click Add Card in the control panel or long press on any empty space on the background canvas to open the context menu and select Add Card at that position." },
126
+ { question: "How do I connect two cards?", answer: "Click the link icon (chain) on a card, then click on the target card to create a connection. Or select Add Connection in the control panel to choose cards manually." },
127
+ { question: "Can I use custom card colors?", answer: "Yes. Open a card by double-clicking it, select Custom under the Category dropdown, pick your desired highlight color, and click Save Changes." },
128
+ { question: "Does the board save my work?", answer: "Yes. Your progress is saved automatically to your browser local storage under the current board name. You can create multiple boards using the dropdown selector." },
129
+ { question: "How do I zoom and pan the board?", answer: "Use pinch-to-zoom gestures or the mouse wheel to zoom in and out. Drag the background to pan the canvas around smoothly." }
65
130
  ],
66
131
  bibliography,
67
132
  howTo: [
68
- {
69
- name: 'Add Investigation Cards',
70
- text: 'Create cards representing NPCs, clues, crime scenes, or items.',
71
- },
72
- {
73
- name: 'Link Relationships',
74
- text: 'Create connection lines between cards to show how clues relate.',
75
- },
133
+ { name: "Add Investigation Cards", text: "Create cards representing NPCs, clues, crime scenes, or items." },
134
+ { name: "Link Relationships", text: "Create connection lines between cards to show how clues relate." }
76
135
  ],
77
136
  schemas: [
78
137
  {
79
138
  '@context': 'https://schema.org',
80
139
  '@type': 'SoftwareApplication',
81
- 'name': 'Conspiracy Board Maker',
140
+ 'name': "Conspiracy Board Maker: Online Detective RPG Clue & Relationship Map Organizer",
82
141
  'operatingSystem': 'All',
83
142
  'applicationCategory': 'UtilitiesApplication',
84
- 'browserRequirements': 'Requires HTML5 SVG support. Requires JavaScript.',
143
+ 'browserRequirements': 'Requires HTML5 SVG support. Requires JavaScript.'
85
144
  },
86
145
  {
87
146
  '@context': 'https://schema.org',
@@ -89,39 +148,62 @@ export const content: InvestigationBoardLocaleContent = {
89
148
  'mainEntity': [
90
149
  {
91
150
  '@type': 'Question',
92
- 'name': 'How do I add connection lines?',
151
+ 'name': "How do I add cards?",
93
152
  'acceptedAnswer': {
94
153
  '@type': 'Answer',
95
- 'text': 'Click Add Connection in the control panel, choose the source and target cards, assign a text label and color, and save it.',
96
- },
154
+ 'text': "Click Add Card in the control panel or long press on any empty space on the background canvas to open the context menu and select Add Card at that position."
155
+ }
97
156
  },
98
157
  {
99
158
  '@type': 'Question',
100
- 'name': 'Can I drag cards on mobile?',
159
+ 'name': "How do I connect two cards?",
101
160
  'acceptedAnswer': {
102
161
  '@type': 'Answer',
103
- 'text': 'Yes, the board supports touch events to drag and move cards around smoothly on smartphones and tablets.',
104
- },
162
+ 'text': "Click the link icon (chain) on a card, then click on the target card to create a connection. Or select Add Connection in the control panel to choose cards manually."
163
+ }
105
164
  },
106
- ],
165
+ {
166
+ '@type': 'Question',
167
+ 'name': "Can I use custom card colors?",
168
+ 'acceptedAnswer': {
169
+ '@type': 'Answer',
170
+ 'text': "Yes. Open a card by double-clicking it, select Custom under the Category dropdown, pick your desired highlight color, and click Save Changes."
171
+ }
172
+ },
173
+ {
174
+ '@type': 'Question',
175
+ 'name': "Does the board save my work?",
176
+ 'acceptedAnswer': {
177
+ '@type': 'Answer',
178
+ 'text': "Yes. Your progress is saved automatically to your browser local storage under the current board name. You can create multiple boards using the dropdown selector."
179
+ }
180
+ },
181
+ {
182
+ '@type': 'Question',
183
+ 'name': "How do I zoom and pan the board?",
184
+ 'acceptedAnswer': {
185
+ '@type': 'Answer',
186
+ 'text': "Use pinch-to-zoom gestures or the mouse wheel to zoom in and out. Drag the background to pan the canvas around smoothly."
187
+ }
188
+ }
189
+ ]
107
190
  },
108
191
  {
109
192
  '@context': 'https://schema.org',
110
193
  '@type': 'HowTo',
111
- 'name': 'How to Use the Conspiracy Board Maker',
194
+ 'name': "How to Use the Conspiracy Board Maker",
112
195
  'step': [
113
196
  {
114
197
  '@type': 'HowToStep',
115
- 'name': 'Add Investigation Cards',
116
- 'text': 'Create cards representing NPCs, clues, crime scenes, or items.',
198
+ 'name': "Add Investigation Cards",
199
+ 'text': "Create cards representing NPCs, clues, crime scenes, or items."
117
200
  },
118
201
  {
119
202
  '@type': 'HowToStep',
120
- 'name': 'Link Relationships',
121
- 'text': 'Create connection lines between cards to show how clues relate.',
122
- },
123
- ],
124
- },
125
- ],
126
-
203
+ 'name': "Link Relationships",
204
+ 'text': "Create connection lines between cards to show how clues relate."
205
+ }
206
+ ]
207
+ }
208
+ ]
127
209
  };