Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Threadloom

Threadloom is a visual worldbuilding and narrative continuity engine designed for writers, game masters, and narrative designers. Unlike traditional documentation tools, Threadloom features a custom Logic Engine that automatically detects plot holes and continuity errors by evaluating timeline events against user-defined world rules.

This is just work done for a test, Users are allowed to do necessary changes according to their preferences or just use the prebuilt-project code if the users expectations are just to see the working idea. Please use a powerful IDE for this project. For e.g. - JETBRAIN's WebStorm or Micorsoft's VS Code.

More importantly before you proceed:

Threadloom Database and SQL Setup Guide

This document provides detailed instructions for setting up the PostgreSQL database, managing the schema, and using SQL to interact with the Threadloom data via DBeaver.

1. Prerequisites

Before proceeding, ensure you have the following installed on your system:

  • PostgreSQL (Version 14 or higher)
  • DBeaver (Community Edition is sufficient for visual database management)
  • Node.js (Version 18 or higher)

2. Creating the Database

You must create an empty database container before the application can generate tables.

  1. Open your terminal or command prompt.
  2. Access the PostgreSQL interactive terminal:
    psql -U postgres
    

Features

  • Interactive Entity Graph: Visually map characters, locations, and items using an infinite, draggable canvas powered by ReactFlow.
  • Custom Rule Builder: Define the physical and magical laws of your world using a visual, no-code interface.
  • Timeline Tracking: Plot narrative events chronologically and link them to specific entities.
  • Automated Continuity Checking: The backend Logic Engine evaluates new timeline events against established rules in real-time.
  • Dynamic Visual Feedback: When a continuity error is detected, the system automatically updates the database, and the frontend instantly reflects the warning by visually flagging the affected entity on the graph.

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • ReactFlow
  • Axios

Backend

  • Node.js
  • Express
  • TypeScript

Database & ORM

  • PostgreSQL
  • Drizzle ORM

How the Logic Engine Works

The core differentiator of Threadloom is its ability to evaluate narrative consistency. The workflow operates as follows:

  1. Entity Creation: A user creates an entity (e.g., a character) and assigns specific traits (e.g., vampire: true).
  2. Rule Definition: The user creates a logic rule (e.g., "Entities with the vampire trait cannot perform the walk_in_sunlight action").
  3. Event Logging: The user adds an event to the timeline (e.g., "Count Dracula walks in sunlight").
  4. Evaluation: The backend intercepts the event, retrieves the entity's traits, and checks them against the active rules.
  5. State Mutation: If a violation is found, the backend updates the entity's record in the database to include a warning flag.
  6. Visual Update: The frontend fetches the updated state, rendering the specific node on the graph with a warning state (e.g., a red border and glow).

Needs

  • Node.js (v18 or higher)
  • PostgreSQL (v14 or higher)
  • npm or yarn

Installation and Setup

Note: You can just download "create-threadloom.js" file & open your terminal in the folder which you've placed this file. Open your terminal in the folder where you saved it. Run node create-threadloom.js. The script will create a folder called threadloom-project containing the entire application structure, ready to be used on any machine.

3. Clone the Repository

git clone https://github.com/your-username/threadloom.git
cd threadloom
2. Frontend: `cd threadloom-frontend`, run `npm install`.
3. Run `npm run dev`in both folders.

About

a fully functional, AI-powered worldbuilding and continuity checking application from scratch

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages