The Timeline module is Chronos Atlas’s tool for mapping the chronological skeleton of your world. Whether you’re tracking a thousand-year empire’s rise and fall or a single character’s journey through a single year, Timelines let you place events on a named axis, arrange them in order, and link them back to the entities they involve. All timeline data is stored locally in SQLite WASM (SQLocal) inside the browser’s OPFS — no server required for authoring.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Fixius50/WorlBuilding-Writting-App/llms.txt
Use this file to discover all available pages before exploring further.
Timelines and Tracks
The Timeline module uses a three-level hierarchy built on top of the sharedCarpeta (folder) infrastructure:
- Universe — A top-level container (a
Carpetaof typeTIMELINEwith no parent) representing a broad historical scope, such as “General History of Aeldoria.” - Timeline (Track) — A child
Carpetanested inside a Universe, representing a specific narrative thread within that scope, such as “Character Arc – Aria” or “The Age of Wars.” - Event — An individual occurrence that belongs to a Timeline track.
Evento interface in the database layer:
fecha_simulada field accepts any string, making it compatible with both real-world date formats and fully invented calendar systems (e.g., "Year 412, Third Age"). The orden field controls the visual position of the event within its track, enabling manual drag-to-reorder sequencing independent of the simulated date string.
Multiple timelines can coexist within the same Universe, representing parallel histories. For example, a “World History” track and a “Character – Aria” track can both live under the “General History” Universe, letting you compare macro and micro perspectives side by side.
The Timeline Editor
The Timeline Editor renders each track as a horizontal lane with event cards arranged left-to-right by theirorden value. Key interactions include:
- Drag-to-reorder — Grab any event card and drop it to a new position within the lane. The
ordenfields of affected events are updated in SQLite immediately. - Event cards — Each card displays the event’s title and, if set, its
fecha_simulada. A subtle color indicator distinguishes events that have linked entities from those that do not. - Event Inspector panel — Clicking an event card opens an inline inspector that shows the full title, description, simulated date, and the list of entities linked to that event. All fields are editable in place, with changes persisted via
TimelineUseCase.updateEvent.
Custom Calendars
Each Timeline can be associated with a customCalendario defined in your project. A Calendario stores JSON-encoded month definitions (meses_json), weekday names (dias_semana_json), and an epoch start date (fecha_inicio_json). When a calendar is assigned to a timeline, the date picker in the event editor uses that calendar’s months and weekday cycle instead of the Gregorian calendar, letting you record events in the native date system of your fictional world.
Managing Universes and Tracks
The Timeline module exposes a full set of management methods viaTimelineUseCase:
| Operation | Method |
|---|---|
| Load all universes | TimelineUseCase.getUniverses(projectId) |
| Create a universe | TimelineUseCase.createUniverse(name, projectId) |
| Create a track | TimelineUseCase.createTimeline(name, projectId, universeId) |
| Rename a universe or track | TimelineUseCase.updateTimelineFolder(folderId, newName, projectId) |
| Delete a universe | TimelineUseCase.deleteUniverse(universeId) |
| Delete a track | TimelineUseCase.deleteTimeline(timelineId) |
Entity Linking
Events can be linked to one or more World Bible entities, creating a bidirectional relationship between your chronology and your entity library.TimelineUseCase.linkEntity associates an Entidad with an Evento by writing a join record, and TimelineUseCase.unlinkEntity removes that association.
This linkage powers the MiniTimeline component that appears in the Entity Inspector inside the World Bible. When you open any entity, the MiniTimeline sidebar panel queries TimelineUseCase.getEventsByEntity and renders a compact chronological view of every event that references that entity — giving you instant narrative context without leaving the entity’s page.
Event Management
Individual events within a track are managed through a dedicated set of methods:| Operation | Method |
|---|---|
| Load events for a track | TimelineUseCase.getByTimeline(timelineId) |
| Get a single event | TimelineUseCase.getEventById(eventId) |
| Create an event | TimelineUseCase.createEvent(data) |
| Update an event | TimelineUseCase.updateEvent(id, updates) |
| Delete an event | TimelineUseCase.deleteEvent(eventId) |
| Get events for an entity | TimelineUseCase.getEventsByEntity(entityId) |
| Link an entity to an event | TimelineUseCase.linkEntity(eventId, entityId) |
| Unlink an entity from an event | TimelineUseCase.unlinkEntity(eventId, entityId) |