Everything in your world that has an identity — a character, a nation, a city, an ancient war, a divine plane — is represented in Chronos Atlas as an Entity (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.
Entidad). Instead of rigid, hardcoded forms, Chronos Atlas uses an Entity-Attribute-Value (EAV) model: each Entity has a fixed set of core fields (name, type, description) plus an unlimited number of dynamic attribute values whose definitions are stored separately as Archetypes (Plantillas). This means your character sheet for a fantasy novel can look completely different from the one for a sci-fi campaign, and both can evolve over time without any schema migrations.
Entity Types
EveryEntidad record carries a tipo string that places it into one of the built-in archetype categories. These categories determine which archetypes are offered in the Archetype Manager and how the entity is grouped in dashboards and filters.
Individual
Characters and persons. Any sentient being with an individual identity: heroes, villains, gods, historical figures. This is the most common entity type and typically carries the richest set of custom attributes (appearance, skills, backstory, etc.).
Collective
Factions, organizations, and groups. Empires, guilds, cults, armies, or any named group that acts as a unit in your world. Attributes often describe hierarchy, ideology, resources, and membership.
Territory
Locations and regions. Cities, countries, dungeons, planets, or any defined place. Attributes typically cover geography, climate, population, and political allegiance.
Event
Historical events and milestones. Battles, treaties, natural disasters, or any occurrence anchored to your world’s timeline. Events can be linked to multiple timeline folders via the
eventos_entidades table.Cosmic
Planes, dimensions, and metaphysical elements. The spirit world, astral planes, divine realms, or abstract forces. Particularly useful in high-fantasy or sci-fi settings with multi-layered cosmologies.
The Entidad Interface
The Entidad interface is the core domain type for all world entities, defined in src/features/App/domain/database.ts:
tipo— the archetype category string (e.g."Individual","Collective"). Drives whichPlantillarecords are offered on the entity’s dynamic form.contenido_json— a freeform JSON blob for module-specific data. In linguistics, for instance, this storessvgPathDataand glyph layer information.carpeta_id— the folder this entity belongs to. Can benullif the entity sits at the project root.borrado— soft-delete flag (0= active,1= trashed). Deleted entities are excluded from all normal queries but remain in the database until permanently purged.valores— optionally populated array ofValorrecords, representing all dynamic attribute values for this entity.
Plantilla (Template / Archetype)
A Plantilla defines a single custom attribute field — its name, data type, default value, and which entity types it applies to. Think of each Plantilla as a column definition that is evaluated at runtime rather than baked into the database schema.
tipo— the field widget type:text,short_text,number,date,select, etc. Drives which form control is rendered.metadata— a JSON string carrying extra configuration, such as the list of options for aselectfield.es_obligatorio— marks the field as required; the entity form will block saving if the value is empty.aplica_a_todo— whentrue, this archetype applies to every entity in the project regardless oftipo.tipo_objetivo— whenaplica_a_todoisfalse, restricts this field to entities of a specific type (e.g."Individual").categoria— a display grouping label used to visually section the dynamic form (e.g."Appearance","Combat Stats").orden— integer controlling the display order within a category.
Valor (Attribute Value)
A Valor is a single instantiated attribute value linking one Entidad to one Plantilla. Together, all Valor records for a given entity form its complete dynamic attribute profile.
plantilla field is optionally populated by the entityService.getValues() query, which performs a JOIN so that consumers receive the full field definition alongside the value — without needing a second database round-trip.
EntityUseCase Methods
All entity operations in the UI go through EntityUseCase, which delegates to entityService in the infrastructure layer. Components and hooks must never call the database directly.
delete performs a soft delete — it sets borrado = 1 rather than removing the row. Deleted entities are hidden in all standard queries but can be reviewed and restored from the Trash view.Creating a Custom Archetype
Custom archetypes let you attach new fields to any entity type in your project — without touching any code or schema files.Open the Archetype Manager
Navigate to Settings → Archetype Manager in the sidebar. You will see a list of all existing
Plantilla records for the current project.Create a new field
Click New Archetype. Fill in:
- Field name (
nombre) — the label shown on the entity form (e.g. “Alignment”). - Field type (
tipo) — choose fromtext,short_text,number,date, orselect. Forselect, add your options in the Metadata JSON field. - Category (
categoria) — optional grouping label to section the form. - Display order (
orden) — controls where the field appears relative to others in the same category.
Set scope and requirements
Toggle Applies to all entity types (
aplica_a_todo) if the field should appear on every entity. Otherwise, set a Target type (tipo_objetivo) to restrict it to a specific archetype category. Mark Required (es_obligatorio) if the field must be filled before saving.