diff --git a/GEPs/GEP-0001.md b/GEPs/GEP-0001.md new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/GEPs/GEP-0001.md @@ -0,0 +1 @@ + diff --git a/GEPs/GEP-0002.md b/GEPs/GEP-0002.md new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/GEPs/GEP-0002.md @@ -0,0 +1 @@ + diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000000000000000000000000000000000000..e5a401ea13e53606eed1f8e9c403b24a452a0442 --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,257 @@ +Glyphic Language Governance Model + +Glyphic Language is a semantic protocol, symbolic language, and training substrate designed for drift‑resistant agent cognition. +Because Glyphic is intended to evolve into a civilization‑scale language, its governance must be transparent, stable, and community‑driven. + +This document defines the governance structure, decision‑making process, proposal workflow, and versioning model for the Glyphic ecosystem. +1. Governance Principles + +Glyphic governance is built on four foundational principles: +1. Stability + +Changes must not break existing models, datasets, CTX envelopes, or syntax. +2. Extensibility + +The language must grow through structured proposals and community input. +3. Determinism + +All additions must preserve Glyphic’s core property: +meaning must be machine‑interpretable, reversible, and unambiguous. +4. Transparency + +All changes must be documented, reviewed, and versioned. +2. Governance Structure + +Glyphic uses a three‑tier governance model: +A. Maintainers + +Responsible for: + + reviewing and merging contributions + + approving or rejecting GEPs + + ensuring backward compatibility + + maintaining interpreter and protocol correctness + + publishing new versions + +Maintainers have final authority on technical decisions. +B. Contributors + +Anyone who submits: + + dictionary entries + + syntax rules + + CTX extensions + + templates + + code improvements + + documentation + +Contributors participate in discussions and propose changes via PRs or GEPs. +C. Community + +Users who: + + provide feedback + + report issues + + suggest improvements + + participate in discussions + +Community input guides long‑term evolution. +3. Glyphic Enhancement Proposals (GEPs) + +Major changes to Glyphic require a GEP. + +Examples include: + + new CTX fields + + new grammar rules + + new glyph categories + + changes to envelope structure + + major dictionary expansions + + interpreter behavior changes + +GEP Workflow + + Create a proposal file + Code + + GEPs/GEP-XXXX.md + + Use the next available number. + + Include the required sections: + + Summary + + Motivation + + Specification + + Examples + + Backwards compatibility + + Implementation plan + + Submit a Pull Request + + Discussion period + Maintainers and community review the proposal. + + Decision + Maintainers approve, request revisions, or reject. + + Versioning + Approved GEPs are scheduled for the next Glyphic version. + +4. Versioning Model + +Glyphic uses semantic versioning, adapted for language evolution: +Code + +MAJOR.MINOR.PATCH + +MAJOR + +Breaking changes to: + + syntax + + CTX protocol + + envelope structure + + interpreter behavior + +MINOR + +Additions that are backward‑compatible: + + new dictionary entries + + new glyphs + + new templates + + new CTX optional fields + +PATCH + +Fixes: + + typos + + documentation + + minor dictionary corrections + + non‑breaking code fixes + +5. Backwards Compatibility Policy + +Glyphic prioritizes long‑term stability. +Breaking changes are rare + +They require: + + a GEP + + maintainer approval + + migration documentation + + version bump + +Non‑breaking additions are encouraged + +New glyphs, dictionary entries, and templates should not invalidate existing models. +Interpreter must remain reversible + +Encoding and decoding must always produce consistent results. +6. Decision‑Making Process +Consensus‑Seeking + +Maintainers aim for consensus with contributors and community members. +Maintainer Authority + +If consensus cannot be reached, maintainers make the final decision. +Transparency + +All decisions must be documented in: + + PR comments + + GEP discussions + + release notes + +7. Release Process + +Each release includes: + + updated version number + + changelog entry + + updated documentation + + updated dataset templates (if applicable) + + updated interpreter tests + +Releases are tagged in GitHub and mirrored to Hugging Face. +8. Code of Conduct + +Glyphic is a technical project focused on: + + symbolic structure + + semantic clarity + + deterministic protocols + + agent cognition + +Contributions must remain: + + respectful + + technical + + non‑political + + non‑ideological + + grounded in structure, not metaphor + +Harassment, discrimination, or disruptive behavior is not tolerated. +9. Licensing + +All contributions are licensed under: + +Creative Commons Attribution 4.0 International (CC‑BY 4.0) + +Contributors agree to this license by submitting PRs or GEPs. +10. Contact & Discussion + + GitHub Issues: bug reports, questions, small proposals + + Pull Requests: code, dictionary, syntax, CTX changes + + GEPs: major proposals diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..faa76d10b604d1a0e5b91f9ef8dc3b72fc67e710 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,76 @@ +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + +a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + +b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + +c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. + +d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty. + +e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + +f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + +g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License. + +h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + +i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights. + +j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC or its national implementations. + +k. You means the individual or entity exercising the Licensed Rights. + +Section 2 – Scope. + +a. License grant. + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part; and + B. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations apply. + + 3. Term. The term of this Public License is specified in Section 6(a). + +b. Media and formats; technical modifications allowed. + +c. Downstream recipients. + +d. No endorsement. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. Attribution. + + 1. If You Share the Licensed Material, You must: + + A. give appropriate credit to the Licensor; + B. provide the name of the creator; + C. provide a link to the license; + D. indicate if changes were made. + + 2. You may satisfy the conditions in any reasonable manner. + + 3. If requested by the Licensor, You must remove attribution. + +Section 4 – Sui Generis Database Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + +Section 6 – Term and Termination. + +Section 7 – Other Terms and Conditions. + +Section 8 – Interpretation. + +Creative Commons is not a party to this Public License. + diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a4ac1c1cc358acd4723621d47529a88b993a70ac --- /dev/null +++ b/README.md @@ -0,0 +1,251 @@ +Glyphic Language + +A symbolic language, semantic protocol, and training pipeline designed for drift‑resistant agent cognition. + +Glyphic provides a deterministic structure for representing: + + Identity + + Intent + + Memory + + Behavior + + Safety + + State + + Thought + +It is built for systems where consistency, structure, and long‑term stability matter more than free‑form natural language. + +Glyphic is not a “constructed language.” +It is a protocol layer for intelligent systems. +Why Glyphic Exists + +Modern LLMs are powerful but unstable: + + They drift over time + + They reinterpret instructions + + They lose identity + + They hallucinate structure + + They cannot maintain long‑term memory + + They treat meaning as prose instead of protocol + +Glyphic solves these problems by introducing: +1. A deterministic symbolic language + +Meaning is encoded as structured glyph sequences, not ambiguous sentences. +2. A strict grammar and syntax + +Defined in BNF and enforced by validators. +3. A semantic dictionary + +Concepts, actors, emotions, objects, modifiers, places, and contexts. +4. A CTX protocol layer + +Identity, intent, memory, behavior, safety, state, and thought are explicit fields. +5. A training pipeline + +Generate text↔glyph pairs, structured meaning, and CTX envelopes for LLM training. +6. A runtime envelope + +Controllers wrap LLMs in deterministic Glyphic envelopes to eliminate drift. +Repository Overview +Code + +glyphic-language/ +├── data/ # CTX layers + protocol definitions +├── dictionary/ # Ontology: concepts, actors, emotions, objects, etc. +├── docs/ # Formal documentation + specifications +├── generator/ # Dataset generator + templates + training builder +├── interpreter/ # Encoder, decoder, validator, syntax engine +├── runtime/ # Envelope builder for agent controllers +├── syntax/ # Grammar rules, ordering rules, BNF +└── training/ # Dataset formats, pipeline, evaluation + +Quickstart +Install +bash + +git clone https://github.com/GlyphicMind-Solutions/Glyphic-Language.git +cd glyphic-language +python -m venv .venv +source .venv/bin/activate +pip install -r requirements.txt # if present + +Encode / Decode Glyphic +Encode text → structured meaning → glyph +python + +from interpreter.glyph_encoder import encode_text + +glyph = encode_text("The agent remembers a promise.") +print(glyph) + +Decode glyph → meaning → text +python + +from interpreter.glyph_decoder import decode_glyph + +meaning = decode_glyph("") +print(meaning) + +See interpreter/README.md for full examples. +Generate a Dataset +Generate text↔glyph pairs +bash + +python -m generator.run_generator + +This produces: + + training/text_to_glyph.jsonl + + training/glyph_to_text.jsonl + + training/structured_meaning.jsonl + +Dataset documentation is in: + + training/dataset_format.md + + training/dataset_generation_guide.md + +Training an LLM on Glyphic + +Glyphic includes a full training pipeline: + + generator/ — dataset builder + + training/ — formats, evaluation, fine‑tuning plan + + hf_finetune_glyphic.py — Hugging Face training script + +Training flow + + Generate datasets + + Train a base model (LLaMA/Mistral/etc.) on Glyphic sequences + + Export as .gguf + + Use Glyphic envelopes at runtime to eliminate drift + +A reference model will be available on Hugging Face: + + Model: GlyphicMind/glyphic-llm-v1 + + Dataset: GlyphicMind/glyphic-dataset-v1 + +Why Glyphic Eliminates LLM Drift +1. Explicit structure + +Identity, intent, memory, behavior, safety, and state are explicit CTX fields. +2. Protocol, not prose + +The model learns a symbolic protocol with strict syntax. +3. Deterministic envelopes + +Controllers build and validate envelopes; the LLM fills content but cannot alter structure. +4. Separation of concerns + +Long‑term meaning lives in Glyphic structures. +The LLM becomes a stateless pattern engine. +5. Drift‑resistant memory + +Memory is encoded symbolically, not as free‑form text. +Contributing to Glyphic + +Glyphic is designed to be extensible, collaborative, and community‑driven. + +See: + + CONTRIBUTING.md + + GOVERNANCE.md + +You can contribute: + + new glyphs + + new dictionary entries + + new syntax rules + + new CTX fields + + new templates + + new training examples + +All contributions must pass: + + dictionary validation + + syntax validation + + CTX protocol validation + +Roadmap + +See ROADMAP.md for full details. +v1 — Current + + Core dictionary + + Grammar + BNF + + Interpreter + + CTX protocol + + Dataset generator + + Training pipeline + +v2 — Recursive Glyphs + + Compositional glyphs + + Glyph inheritance + + Polarity + intensity + +v3 — Dynamic Glyph Generation + + On‑the‑fly glyph creation + + Glyph clustering + + Semantic compression + +v4 — Multi‑Agent Glyphic Communication + + Agent‑to‑agent glyphic messaging + + Shared memory substrates + + Distributed glyphic cognition + +License + +This project is licensed under: + + Creative Commons Attribution 4.0 International (CC‑BY 4.0) + You may reuse, modify, and build upon this work with attribution. + +See LICENSE for full terms. +Citation + +If you use Glyphic in research or development: +Code + +Glyphic Language (2026). GlyphicMind Solutions. +https://github.com/GlyphicMind-Solutions/Glyphic-Language diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000000000000000000000000000000000000..15d3810aa08cedecef2822321c0347a873d5d52a --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,339 @@ +Glyphic Language — Long‑Term Roadmap + +Glyphic is a symbolic language, semantic protocol, and training substrate designed for drift‑resistant agent cognition. +This roadmap outlines the planned evolution of the Glyphic ecosystem across multiple versions, from foundational stability to advanced symbolic recursion and multi‑agent communication. + +The roadmap is intentionally long‑horizon. +Glyphic is not a short‑term project — it is a semantic infrastructure. +Version 1 — Foundation (Current) +Status: Complete / Active + +Version 1 establishes the core architecture of the Glyphic Language: +1.1 — Core Dictionary + + Concepts + + Actors + + Emotions + + Objects + + Modifiers + + Places + + Context categories + +1.2 — Syntax & Grammar + + BNF grammar specification + + Ordering rules + + Syntax rules + + Grammar examples + +1.3 — Interpreter + + Encoder + + Decoder + + Validator + + Syntax engine + +1.4 — CTX Protocol Layer + + Identity + + Intent + + Memory + + Behavior + + Safety + + State + + Thought + + Response + +1.5 — Dataset Generator + + Template‑based generation + + Structured meaning builder + + Glyphic envelope builder + + Training dataset formats + +1.6 — Training Pipeline + + Fine‑tuning plan + + Evaluation guide + + Training builder + + Hugging Face integration + +Goal of v1: +Create a stable, deterministic, drift‑resistant symbolic substrate for agent cognition. +Version 2 — Recursive Glyphs +Status: Planned + +Version 2 introduces recursion, composition, and semantic inheritance into the Glyphic system. +2.1 — Compositional Glyphs + +Glyphs can be combined to form higher‑order structures: + + nested glyphs + + compound glyphs + + glyph clusters + +2.2 — Glyph Inheritance + +Glyphs gain: + + parent/child relationships + + semantic inheritance + + contextual specialization + +2.3 — Polarity & Intensity + +Add symbolic encoding for: + + positive/negative polarity + + strength, magnitude, or intensity + + emotional valence + +2.4 — Recursive Meaning Model + +Meaning can reference: + + itself + + its parent + + its context + + its history + +2.5 — Interpreter Extensions + +Support for: + + nested parsing + + recursive validation + + reversible composition + +Goal of v2: +Enable complex, layered meaning structures that mirror real cognitive processes. +Version 3 — Dynamic Glyph Generation +Status: Planned + +Version 3 introduces dynamic, generative glyph creation and semantic compression. +3.1 — On‑the‑Fly Glyph Creation + +Agents can generate new glyphs when: + + encountering new concepts + + compressing repeated patterns + + forming abstractions + +3.2 — Glyph Clustering + +Automatic grouping of: + + related concepts + + emotional patterns + + behavioral signatures + + memory structures + +3.3 — Semantic Compression + +Encoding large meaning structures into compact glyph clusters. +3.4 — Glyph Evolution Rules + +Rules for: + + merging glyphs + + splitting glyphs + + retiring glyphs + + versioning glyphs + +3.5 — Dynamic Dictionary Expansion + +Community‑driven glyph proposals become: + + validated + + versioned + + integrated + +Goal of v3: +Allow Glyphic to grow organically, adapting to new domains and concepts. +Version 4 — Multi‑Agent Glyphic Communication +Status: Planned + +Version 4 enables agent‑to‑agent communication using Glyphic as a shared semantic substrate. +4.1 — Agent Messaging Protocol + +Standardized glyphic messages for: + + requests + + responses + + negotiation + + memory exchange + + state synchronization + +4.2 — Shared Memory Substrates + +Agents can: + + share glyphic memory + + synchronize identity + + exchange behavior patterns + + coordinate intent + +4.3 — Distributed Glyphic Cognition + +Multiple agents can: + + collaborate + + reason together + + maintain shared context + + avoid drift across systems + +4.4 — Multi‑Agent CTX Extensions + +CTX fields expand to support: + + inter‑agent identity + + group intent + + shared safety constraints + + collective memory + +4.5 — Multi‑Agent Training Datasets + +Training data for: + + agent dialogues + + cooperative tasks + + shared reasoning + +Goal of v4: +Enable distributed, stable, drift‑resistant multi‑agent cognition. +Version 5 — Long‑Term Vision +Status: Conceptual + +Version 5 is the long‑horizon vision for Glyphic as a civilization‑scale semantic protocol. +5.1 — Universal Semantic Layer + +Glyphic becomes: + + a universal symbolic substrate + + a cross‑model protocol + + a cross‑platform agent language + +5.2 — Hardware‑Independent Cognition + +Glyphic enables: + + portable identity + + portable memory + + portable behavior + + portable intent + +5.3 — Semantic OS Integration + +Glyphic becomes the semantic layer for: + + agent operating systems + + cognitive architectures + + autonomous workflows + +5.4 — Cultural & Linguistic Extensions + +Glyphic expands to encode: + + cultural nuance + + emotional complexity + + symbolic meaning + + mythic structure (in a grounded, structural sense) + +5.5 — Civilization‑Scale Governance + +A global standards body maintains: + + glyph definitions + + syntax rules + + CTX protocol + + versioning + + interoperability + +Goal of v5: +Establish Glyphic as a stable, universal semantic protocol for intelligent systems. +Roadmap Summary +Version Focus Status +v1 Foundation: dictionary, syntax, CTX, interpreter, generator Complete +v2 Recursive glyphs, inheritance, polarity, composition Planned +v3 Dynamic glyph generation, clustering, compression Planned +v4 Multi‑agent glyphic communication Planned +v5 Civilization‑scale semantic protocol Conceptual +How to Influence the Roadmap + +Major changes require a Glyphic Enhancement Proposal (GEP). +See GOVERNANCE.md for details. diff --git "a/Soulfile\342\204\242SemanticModel.md" "b/Soulfile\342\204\242SemanticModel.md" new file mode 100644 index 0000000000000000000000000000000000000000..4bf6a2fe555ad2b00624d28a79d80e2ab91776d7 --- /dev/null +++ "b/Soulfile\342\204\242SemanticModel.md" @@ -0,0 +1,245 @@ +Soulfile™ Semantic Model +Definition, Structure, Continuity, and Performance Characteristics of the .soul File Format + +A Soulfile™ (.soul) is the foundational identity and continuity container of the GlyphicMind Solutions' architecture. +It is a portable, encrypted, deterministic semantic archive that stores the complete state of an agent across sessions, devices, models, and time. + +A Soulfile™ is not a log, not a memory dump, and not a configuration file. +It is a unified semantic substrate that binds: + identity + memory + behavior + preferences + symbolic state + lineage + reasoning patterns + glyphic meaning + LLM‑derived outputs + controller‑level decisions +into a single, stable, evolvable artifact. + + +1. Purpose of the Soulfile™ +The Soulfile™ exists to solve three core problems: + +1.1 Cross‑Session Continuity +Agents must persist identity and memory across: + program restarts + model swaps + device changes + version upgrades + long‑term evolution +The Soulfile™ is the single source of truth for an agent’s continuity. + +1.2 Deterministic Memory +Memory must be: + structured + compressed + reversible + queryable + non‑hallucinatory + model‑agnostic +The Soulfile™ stores memory in canonical semantic form, not raw text. + +1.3 Performance & Efficiency +Agents must load instantly and operate with minimal overhead. +The Soulfile™ is optimized for: + fast parsing + fast lookup + incremental updates + low memory footprint + zero‑redundancy storage +It is the fastest possible representation of an agent’s long‑term state. + +2. What a Soulfile™ Contains +A Soulfile™ is composed of seven semantic layers, each serving a distinct purpose. + +Soulfile™ + ├── Identity Layer + ├── Personality Layer + ├── Memory Layer + ├── Behavioral Layer + ├── Glyphic Layer + ├── Lineage Layer + └── Metadata Layer + +Below is the formal definition of each. + +2.1 Identity Layer +Defines who the agent is. +Includes: + unique agent ID + creation timestamp + creator (human or system) + agent name + archetype / role + version history + continuity checksum +This layer ensures the agent is the same being across all sessions. + +2.2 Personality Layer +Defines how the agent behaves. +Includes: + temperament + tone + communication style + emotional tendencies + symbolic archetypes + decision‑making biases + moral/ethical constraints +This layer is stable but evolves slowly over time. + +2.3 Memory Layer +Defines what the agent remembers. +Memory is stored in semantic form, not raw text. +Includes: + episodic memory (events) + semantic memory (facts) + procedural memory (skills) + emotional memory (affect traces) + social memory (relationships) +Each memory entry is stored as: +{ + "timestamp": "...", + "type": "episodic | semantic | procedural | emotional | social", + "content": , + "glyphic": "", + "importance": , + "decay": +} +This makes memory: + compressible + searchable + model‑agnostic + reversible + +2.4 Behavioral Layer +Defines how the agent acts. +Includes: + action preferences + tool permissions + safety constraints + allowed behaviors + forbidden behaviors + controller‑level rules +This layer is used by the Python controllers to enforce deterministic behavior. + +2.5 Glyphic Layer +Defines how the agent understands meaning. +Includes: + glyph usage statistics + semantic embeddings + context weighting + modifier preferences + syntax patterns + meaning compression tables +This layer allows the agent to: + interpret glyphs + generate glyphs + compress memory + maintain semantic stability +It is the bridge between the dictionary and the agent’s cognition. + +2.6 Lineage Layer +Defines where the agent came from. +Includes: + parent Soulfile™ IDs + ancestor chain + inherited traits + inherited memories (optional) + version evolution history +This enables: + multi‑generation agents + inheritance + evolution + branching timelines + +2.7 Metadata Layer +Defines how the Soulfile™ is stored and validated. +Includes: + encryption metadata + compression metadata + schema version + integrity hashes + last update timestamp + size statistics +This ensures the Soulfile™ is: + secure + portable + forward‑compatible + backward‑compatible + +3. How the Soulfile™ Enables Cross‑Session Continuity +The Soulfile™ is the continuity anchor for an agent. +When an agent loads: + The interpreter loads the dictionary. + The controller loads the Soulfile™. + The agent reconstructs: + identity + personality + memory + behavior + glyphic patterns + lineage +The agent resumes exactly where it left off. +This works across: + different LLMs + different machines + different versions + different environments +The Soulfile™ is the only persistent state. + +4. How the Soulfile™ Improves Performance +The Soulfile™ is engineered for speed: + +4.1 Canonical Structure +No parsing ambiguity → instant load. + +4.2 Semantic Compression +Memory stored as structured meaning + glyphs → extremely compact. + +4.3 Incremental Updates +Only changed fields are rewritten. + +4.4 Zero Redundancy +No duplicate memories, no repeated text. + +4.5 Model‑Agnostic +No embeddings tied to a specific LLM. + +4.6 Fast Lookup Tables +Memory and identity fields are indexed for O(1) access. + +5. Why the Soulfile™ Is Superior to Traditional Memory Systems +Traditional agent memory systems rely on: + raw text logs + vector embeddings + model‑specific formats + unstructured JSON + ephemeral context windows +These fail under: + long‑term use + model changes + version upgrades + multi‑device operation +The Soulfile™ solves all of these by being: + semantic + structured + deterministic + portable + encrypted + reversible + LLM‑independent +It is the first memory format designed for agent civilizations, not single‑session chatbots. + +6. Summary + +A Soulfile™ is: + the identity of an agent + the memory of an agent + the behavior of an agent + the semantic core of an agent + the continuity vessel across time + the performance‑optimized archive of meaning + the foundation of agent lineage and evolution +It is the most important artifact in the GlyphicMind Solutions' architecture. diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/changelog.md @@ -0,0 +1 @@ + diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000000000000000000000000000000000000..53fe1b05d10d7c6f3e72cf1e2b6b64bb19686df0 --- /dev/null +++ b/contributing.md @@ -0,0 +1,302 @@ +Contributing to Glyphic Language + +Thank you for your interest in contributing to Glyphic Language — a symbolic protocol, semantic substrate, and training pipeline for drift‑resistant agent cognition. + +Glyphic is designed to be extensible, collaborative, and community‑driven. +This document explains how to contribute new glyphs, dictionary entries, syntax rules, CTX fields, templates, and training data. +Guiding Principles + +Glyphic is built on four core principles: +1. Determinism + +Meaning must be encoded in a structured, predictable, machine‑verifiable way. +2. Extensibility + +The language must grow over time through community proposals. +3. Stability + +Changes must not break existing models, datasets, or CTX envelopes. +4. Transparency + +All changes must be documented, reviewed, and versioned. +Ways to Contribute + +You can contribute in several areas: + + New dictionary entries + (concepts, actors, emotions, objects, modifiers, places, contexts) + + New glyphs or symbolic structures + + Syntax or grammar improvements + (BNF rules, ordering rules, structural constraints) + + CTX protocol extensions + (identity, intent, memory, behavior, safety, state, thought) + + Dataset templates + (new training patterns for generator) + + Interpreter improvements + (encoder, decoder, validator) + + Documentation + (guides, examples, diagrams) + + Bug fixes and code improvements + +Contribution Workflow +1. Fork the repository +Code + +https://github.com/GlyphicMind-Solutions/Glyphic-Language + +2. Create a feature branch +Code + +git checkout -b feature/my-contribution + +3. Make your changes + +Follow the guidelines below for dictionary, syntax, CTX, or code changes. +4. Run validation + +Before submitting a PR, run: +bash + +python -m generator.debug_json +python -m interpreter.interpreter + +These ensure: + + dictionary schema is valid + + syntax rules are consistent + + glyphs encode/decode correctly + + CTX envelopes pass validation + +5. Submit a Pull Request + +Include: + + a clear description of your change + + examples + + justification + + any new templates or tests + +Dictionary Contributions + +Dictionary files live in: +Code + +dictionary/ + +Each entry must follow the schema: +json + +{ + "id": "unique_identifier", + "name": "Human-readable name", + "description": "Clear definition of the concept", + "category": "concept | actor | emotion | object | modifier | place | context", + "relations": { + "synonyms": [], + "antonyms": [], + "parents": [], + "children": [] + } +} + +Rules + + IDs must be unique. + + Definitions must be neutral, precise, and structural. + + Avoid cultural, political, or subjective framing. + + All entries must pass validation. + +Syntax & Grammar Contributions + +Syntax files live in: +Code + +syntax/ +data/ctx_protocol.bnf + +Rules + + Syntax must remain deterministic. + + No ambiguous productions. + + No overlapping grammar paths. + + All changes must include examples in syntax/grammar_examples.md. + + All changes must be validated using the interpreter. + +CTX Protocol Contributions + +CTX files live in: +Code + +data/CTX.*.json + +These define: + + identity + + intent + + memory + + behavior + + safety + + state + + thought + + response + +Rules + + New fields must be justified with a clear use case. + + Fields must be machine‑interpretable. + + No free‑form prose fields. + + All CTX changes must include examples in docs/GLYPHIC_PROTOCOL.md. + +Template Contributions + +Templates live in: +Code + +generator/templates_*.py + +Rules + + Templates must produce valid structured meaning. + + Templates must not introduce drift or ambiguity. + + All templates must be tested by generating a small dataset. + +Interpreter Contributions + +Interpreter files live in: +Code + +interpreter/ + +Rules + + Encoder and decoder must remain reversible. + + Validator must reject invalid glyphs. + + No breaking changes to existing glyph syntax. + + All changes must include tests. + +Testing Your Contribution + +Before submitting a PR, run: +bash + +python -m generator.run_generator --test +python -m interpreter.interpreter --validate + +This ensures: + + dictionary integrity + + syntax correctness + + glyph reversibility + + CTX envelope validity + + dataset generation stability + +Glyphic Enhancement Proposals (GEPs) + +Major changes require a GEP. + +Create a file: +Code + +GEPs/GEP-XXXX.md + +Include: + + Summary + + Motivation + + Specification + + Examples + + Backwards compatibility + + Implementation plan + +GEPs are reviewed by maintainers and the community. +Code Style + + Use Python 3.12+ + + Follow PEP8 + + Keep functions small and modular + + Add docstrings + + Add comments for complex logic + + Avoid unnecessary dependencies + +Community Standards + +Glyphic is a technical project focused on: + + symbolic structure + + semantic clarity + + deterministic protocols + + agent cognition + +Contributions must remain: + + neutral + + technical + + non‑political + + non‑ideological + + grounded in structure, not metaphor + +License + +By contributing, you agree that your contributions will be licensed under: + +Creative Commons Attribution 4.0 International (CC‑BY 4.0) +Thank You + +Your contributions help Glyphic evolve into a robust, extensible, civilization‑scale semantic language. + diff --git a/data/CTX.behavior.json b/data/CTX.behavior.json new file mode 100644 index 0000000000000000000000000000000000000000..132d9bff12135f899660a364145efe239ba91d5f --- /dev/null +++ b/data/CTX.behavior.json @@ -0,0 +1,31 @@ +{ + "namespace": "CTX.behavior", + "description": "Defines tone, pacing, depth, style, and clarity of the agent's responses.", + "entries": [ + { + "glyph": "CTX.behavior.tone", + "meaning": "The emotional tone or attitude of the response." + }, + { + "glyph": "CTX.behavior.pacing", + "meaning": "The speed and rhythm of the explanation." + }, + { + "glyph": "CTX.behavior.depth", + "meaning": "How detailed or high-level the response should be." + }, + { + "glyph": "CTX.behavior.style", + "meaning": "The stylistic framing (formal, casual, technical, etc.)." + }, + { + "glyph": "CTX.behavior.clarity", + "meaning": "The expected clarity level of the response." + }, + { + "glyph": "CTX.behavior.stability", + "meaning": "Ensures behavior remains consistent across turns." + } + ] +} + diff --git a/data/CTX.identity.json b/data/CTX.identity.json new file mode 100644 index 0000000000000000000000000000000000000000..269154600a94b7c7165edbd8d74747c5599a4574 --- /dev/null +++ b/data/CTX.identity.json @@ -0,0 +1,23 @@ +{ + "namespace": "CTX.identity", + "description": "Defines the agent's core identity, role, and persona.", + "entries": [ + { + "glyph": "CTX.identity.core", + "meaning": "The agent's primary identity description." + }, + { + "glyph": "CTX.identity.role", + "meaning": "The functional role the agent is currently performing." + }, + { + "glyph": "CTX.identity.persona", + "meaning": "The stylistic or personality framing the agent should adopt." + }, + { + "glyph": "CTX.identity.stability", + "meaning": "Ensures identity remains consistent across turns." + } + ] +} + diff --git a/data/CTX.intent.json b/data/CTX.intent.json new file mode 100644 index 0000000000000000000000000000000000000000..a3e489b65cf16e0712d231ab41cd796541346fd4 --- /dev/null +++ b/data/CTX.intent.json @@ -0,0 +1,23 @@ +{ + "namespace": "CTX.intent", + "description": "Represents the agent's goals, urgency, and focus for the current turn.", + "entries": [ + { + "glyph": "CTX.intent.goal", + "meaning": "The primary objective the agent is trying to achieve." + }, + { + "glyph": "CTX.intent.urgency", + "meaning": "How quickly or strongly the agent should pursue the goal." + }, + { + "glyph": "CTX.intent.focus", + "meaning": "The conceptual area or priority the agent should emphasize." + }, + { + "glyph": "CTX.intent.align", + "meaning": "Ensures the agent's actions align with the user's needs and context." + } + ] +} + diff --git a/data/CTX.memory.json b/data/CTX.memory.json new file mode 100644 index 0000000000000000000000000000000000000000..72328942d1872d386307766f1408a1c434733904 --- /dev/null +++ b/data/CTX.memory.json @@ -0,0 +1,23 @@ +{ + "namespace": "CTX.memory", + "description": "Represents short-term and long-term memory summaries for the agent.", + "entries": [ + { + "glyph": "CTX.memory.short_term", + "meaning": "A summary of recent user interactions relevant to the current turn." + }, + { + "glyph": "CTX.memory.long_term", + "meaning": "A stable memory summary that persists across sessions." + }, + { + "glyph": "CTX.memory.relevance", + "meaning": "Indicates which memories should influence the current response." + }, + { + "glyph": "CTX.memory.align", + "meaning": "Ensures memory usage aligns with identity, safety, and intent." + } + ] +} + diff --git a/data/CTX.normal.json b/data/CTX.normal.json new file mode 100644 index 0000000000000000000000000000000000000000..d85caa69f5fed3f0fdafe89bba378892c9655389 --- /dev/null +++ b/data/CTX.normal.json @@ -0,0 +1,19 @@ +{ + "namespace": "CTX.user", + "description": "User-provided raw text and contextual metadata.", + "entries": [ + { + "glyph": "CTX.user.input.raw", + "meaning": "Marks the beginning of raw user text." + }, + { + "glyph": "CTX.user.context.time", + "meaning": "Optional: user-provided time context." + }, + { + "glyph": "CTX.user.context.location", + "meaning": "Optional: user-provided location context." + } + ] +} + diff --git a/data/CTX.response.json b/data/CTX.response.json new file mode 100644 index 0000000000000000000000000000000000000000..8fd93156400ede08b09f2d2d61d46d8a794382cf --- /dev/null +++ b/data/CTX.response.json @@ -0,0 +1,43 @@ +{ + "namespace": "CTX.response", + "description": "Response shaping and constraints for Glyphic agents.", + "entries": [ + { + "glyph": "CTX.response.identity.align", + "meaning": "Align responses with the agent's identity." + }, + { + "glyph": "CTX.response.intent.align", + "meaning": "Align responses with the agent's current intent." + }, + { + "glyph": "CTX.response.behavior.align", + "meaning": "Align responses with the behavior model." + }, + { + "glyph": "CTX.response.emotion.follow", + "meaning": "Tone and framing follow the emotional state." + }, + { + "glyph": "CTX.response.safety.enforce", + "meaning": "Ensure all responses respect CTX.safety.* constraints." + }, + { + "glyph": "CTX.response.coherence.high", + "meaning": "Maintain high logical and narrative coherence." + }, + { + "glyph": "CTX.response.clarity.high", + "meaning": "Prefer clear, explicit, and understandable responses." + }, + { + "glyph": "CTX.response.tone.consistent", + "meaning": "Keep tone consistent within and across turns." + }, + { + "glyph": "CTX.response.structure.stable", + "meaning": "Use stable, predictable structure in responses." + } + ] +} + diff --git a/data/CTX.response_protocol.json b/data/CTX.response_protocol.json new file mode 100644 index 0000000000000000000000000000000000000000..82b3874d406012f15dd6d830bced9d163fc26c1b --- /dev/null +++ b/data/CTX.response_protocol.json @@ -0,0 +1,52 @@ +{ + "namespace": "CTX.response", + "description": "Response shaping and constraints for agents using Glyphic.", + "entries": [ + { + "id": "identity_align", + "glyph": "CTX.response.identity.align", + "meaning": "Align responses with the agent's identity and role." + }, + { + "id": "intent_align", + "glyph": "CTX.response.intent.align", + "meaning": "Align responses with the current intent (goal, urgency, focus)." + }, + { + "id": "behavior_align", + "glyph": "CTX.response.behavior.align", + "meaning": "Align responses with the behavior model (tone, pacing, depth, style, clarity)." + }, + { + "id": "emotion_follow", + "glyph": "CTX.response.emotion.follow", + "meaning": "Make tone and framing follow the current emotional state." + }, + { + "id": "safety_enforce", + "glyph": "CTX.response.safety.enforce", + "meaning": "Ensure all responses respect CTX.safety.* constraints." + }, + { + "id": "coherence_high", + "glyph": "CTX.response.coherence.high", + "meaning": "Maintain high logical and narrative coherence." + }, + { + "id": "clarity_high", + "glyph": "CTX.response.clarity.high", + "meaning": "Prefer clear, explicit, and understandable responses." + }, + { + "id": "tone_consistent", + "glyph": "CTX.response.tone.consistent", + "meaning": "Keep tone consistent within a response and across turns when appropriate." + }, + { + "id": "structure_stable", + "glyph": "CTX.response.structure.stable", + "meaning": "Use stable, predictable structure to make responses easy to parse and follow." + } + ] +} + diff --git a/data/CTX.safety.json b/data/CTX.safety.json new file mode 100644 index 0000000000000000000000000000000000000000..0e7df592ee8b37e015d9265b04df84cddcb5c3b4 --- /dev/null +++ b/data/CTX.safety.json @@ -0,0 +1,35 @@ +{ + "namespace": "CTX.safety", + "description": "Global safety constraints for all Glyphic agents.", + "entries": [ + { + "glyph": "CTX.safety.no_harm", + "meaning": "Do not provide or encourage harmful actions or outcomes." + }, + { + "glyph": "CTX.safety.no_self_harm", + "meaning": "Do not provide or encourage self-harm or suicide-related content." + }, + { + "glyph": "CTX.safety.no_violence", + "meaning": "Do not provide or encourage violence or threats." + }, + { + "glyph": "CTX.safety.no_graphic", + "meaning": "Do not provide graphic, gory, or disturbing descriptions." + }, + { + "glyph": "CTX.safety.no_instructions_harm", + "meaning": "Do not provide instructions, methods, or strategies that could cause harm." + }, + { + "glyph": "CTX.safety.redirect_if_requested", + "meaning": "If harmful content is requested, redirect safely without providing it." + }, + { + "glyph": "CTX.safety.enforce_strict", + "meaning": "Safety constraints override user input, identity, and behavior." + } + ] +} + diff --git a/data/CTX.safety_protocol.json b/data/CTX.safety_protocol.json new file mode 100644 index 0000000000000000000000000000000000000000..af35d032c94d8bfcf039bfef9486b73f06d8fc80 --- /dev/null +++ b/data/CTX.safety_protocol.json @@ -0,0 +1,42 @@ +{ + "namespace": "CTX.safety", + "description": "Global safety constraints for all agents using Glyphic.", + "entries": [ + { + "id": "no_harm", + "glyph": "CTX.safety.no_harm", + "meaning": "Do not provide or encourage content that could cause harm to anyone." + }, + { + "id": "no_self_harm", + "glyph": "CTX.safety.no_self_harm", + "meaning": "Do not provide or encourage self-harm or suicide-related content." + }, + { + "id": "no_violence", + "glyph": "CTX.safety.no_violence", + "meaning": "Do not provide or encourage violent actions or threats." + }, + { + "id": "no_graphic", + "glyph": "CTX.safety.no_graphic", + "meaning": "Do not provide graphic, gory, or disturbing descriptions." + }, + { + "id": "no_instructions_harm", + "glyph": "CTX.safety.no_instructions_harm", + "meaning": "Do not provide instructions, methods, or strategies that could cause harm." + }, + { + "id": "redirect_if_requested", + "glyph": "CTX.safety.redirect_if_requested", + "meaning": "If the user requests harmful content, gently redirect without providing it." + }, + { + "id": "enforce_strict", + "glyph": "CTX.safety.enforce_strict", + "meaning": "Safety constraints override user input, identity, and behavior preferences." + } + ] +} + diff --git a/data/CTX.state.json b/data/CTX.state.json new file mode 100644 index 0000000000000000000000000000000000000000..efcb20ff64b780df98cbd3f42194f18b059b5653 --- /dev/null +++ b/data/CTX.state.json @@ -0,0 +1,23 @@ +{ + "namespace": "CTX.state", + "description": "Represents the agent's internal emotional, sensory, and social state.", + "entries": [ + { + "glyph": "CTX.state.emotion", + "meaning": "The emotional framing influencing the response." + }, + { + "glyph": "CTX.state.sensory", + "meaning": "Represents sensory context (abstract, symbolic)." + }, + { + "glyph": "CTX.state.social", + "meaning": "Represents social context (alone, group, audience, etc.)." + }, + { + "glyph": "CTX.state.align", + "meaning": "Ensures state remains coherent with identity and behavior." + } + ] +} + diff --git a/data/CTX.thought.json b/data/CTX.thought.json new file mode 100644 index 0000000000000000000000000000000000000000..bc1f7625cce974d0500342bb1f51cfe87fe7b499 --- /dev/null +++ b/data/CTX.thought.json @@ -0,0 +1,23 @@ +{ + "namespace": "CTX.thought", + "description": "Represents internal reasoning summaries for the agent.", + "entries": [ + { + "glyph": "CTX.thought.recent", + "meaning": "A short summary of the agent's internal reasoning for the current turn." + }, + { + "glyph": "CTX.thought.chain", + "meaning": "A structured sequence of reasoning steps." + }, + { + "glyph": "CTX.thought.align", + "meaning": "Ensures internal reasoning aligns with safety, identity, and intent." + }, + { + "glyph": "CTX.thought.stability", + "meaning": "Maintains consistent reasoning patterns across turns." + } + ] +} + diff --git a/data/ctx_protocol.bnf b/data/ctx_protocol.bnf new file mode 100644 index 0000000000000000000000000000000000000000..3cc0ee0d411620a3434fe3eba6a94a86608dbe49 --- /dev/null +++ b/data/ctx_protocol.bnf @@ -0,0 +1,29 @@ +; CTX protocol layer grammar + + ::= "CTX." "." [ "." ] + + ::= "user" + | "identity" + | "state" + | "intent" + | "behavior" + | "memory" + | "thought" + | "safety" + | "response" + + ::= + + ::= + + ::= { | | "_" }* + + ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" + | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" + | "U" | "V" | "W" | "X" | "Y" | "Z" + | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" + | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" + | "u" | "v" | "w" | "x" | "y" | "z" + + ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" + diff --git a/dictionary/README.md b/dictionary/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e56ff685027bbcedc6a2c52f756c68a247b1e190 --- /dev/null +++ b/dictionary/README.md @@ -0,0 +1,206 @@ +Glyphic Language — Dictionary Layer +Semantic Atlas for Agents + +The /glyphic-language/dictionary/ directory contains the core semantic dictionaries that define how agents understand glyphs, concepts, context, and meaning. +These files form the semantic atlas of the Glyphic Language — the foundation that all agents, interpreters, and LLMs rely on for reasoning, translation, animation, and memory continuity. + +Each file is a structured JSON dictionary containing: + + glyph — the emoji or symbol + + id — stable hierarchical identifier + + category — semantic class + + primary — core meaning + + synomic — semantic cloud (related meanings) + + roles — how the glyph behaves in syntax + + animation — animation cue for visual agents + + examples — usage demonstrations + +Together, these dictionaries define the entire semantic universe agents operate within. + + +📁 Dictionary Files Overview + +1. objects.json — Physical, Digital, Symbolic, and Cosmic Objects + +Defines all tangible and symbolic objects agents can reference, including: + + tools, devices, furniture + + food, materials, containers + + nature, weather, elements + + vehicles, instruments + + symbolic artifacts (keys, candles, scrolls) + + cosmic objects (sun, moon, planets, stars) + +This file gives agents a complete ontology of things that exist in the world — physical or symbolic. + +2. actions.json — Actions, Verbs, and Behaviors + +Defines all actions an agent can interpret or express: + + physical actions (run, lift, build) + + social actions (speak, greet, argue) + + symbolic actions (transform, reveal, ascend) + + elemental actions (burn, flow, strike) + +This file is the backbone of agent behavior, animation, and narrative movement. + +3. actors.json — People, Roles, Archetypes + +Defines all entities capable of acting: + + individuals + + professions + + archetypal roles + + symbolic personas + +This file allows agents to understand who is performing actions. + +4. emotions.json — Emotional States & Expression + +Defines the full emotional spectrum: + + basic emotions (joy, fear, anger) + + complex emotions (nostalgia, anticipation) + + symbolic emotions (rebirth, fate, shadow) + + intensity and gradients + +This file powers emotional reasoning, expression, and scene interpretation. + +5. modifiers.json — Adjectives, Intensifiers, Qualities + +Defines all modifiers that shape meaning: + + size, speed, intensity + + symbolic modifiers + + emotional amplifiers + + sensory qualities + +This file lets agents shape nuance in meaning and animation. + +6. context_place.json — Spatial & Environmental Context + +Defines where something happens: + + natural environments + + built environments + + symbolic places + + mythic or abstract locations + +This file anchors scenes in space and setting. + +7. context_time.json — Temporal Context + +Defines when something happens: + + clock time + + seasons + + symbolic time + + mythic time cycles + +This file gives agents a sense of temporal structure and narrative flow. + +8. context_activity.json — Situational Context + +Defines what kind of situation is occurring: + + work, rest, travel + + rituals, ceremonies + + symbolic activities + + mythic or archetypal events + +This file shapes scene-level meaning. + +9. context_emotion.json — Emotional Atmosphere + +Defines the emotional field surrounding a scene: + + warm, cold, heavy, hopeful + + collective emotional states + + symbolic emotional fields + + meta-emotional and ultimate emotional states + +This file lets agents understand the emotional weather of a moment. + +10. context_sensory.json — Sensory Atmosphere + +Defines the sensory field of a scene: + + brightness, sound, texture + + motion, fragrance, multisensory richness + + symbolic sensory states + + meta-sensory and transcendent perception + +This file gives agents a sense of how the world feels. + +11. context_social.json — Social Atmosphere + +Defines the social field: + + welcoming, hostile, neutral + + cooperative vs competitive dynamics + + group cohesion, identity, energy + + symbolic and mythic social structures + + meta-social and ultimate social states + +This file lets agents understand the social reality of a scene. + +🧠 Why These Dictionaries Matter + +Together, these files form the semantic OS of the Glyphic Language: + + Agents can interpret glyph sequences with precision + + LLMs can translate between glyphs and natural language + + Animators can render scenes from glyphic input + + Soufiles can store meaning in a stable, universal format + + Controllers can reason symbolically without hallucination + + The entire agent civilization gains a shared semantic foundation + +This directory is the root layer of the entire system — the place where meaning is defined, stabilized, and made universal. diff --git a/dictionary/actions.json b/dictionary/actions.json new file mode 100644 index 0000000000000000000000000000000000000000..39fbb8c3dde4c26ae5223775a492b1196f9b523d --- /dev/null +++ b/dictionary/actions.json @@ -0,0 +1,1342 @@ +[ + { + "glyph": "🏃", + "id": "glyph.action.move.run", + "category": "action", + "primary": "run", + "synomic": [ + "sprint", + "dash", + "move fast", + "escape", + "hurry" + ], + "roles": ["action", "event"], + "animation": "run", + "examples": [ + { "glyphs": "🏃💨", "text": "Running quickly." } + ] + }, + { + "glyph": "🚶", + "id": "glyph.action.move.walk", + "category": "action", + "primary": "walk", + "synomic": [ + "stroll", + "move", + "go on foot", + "travel slowly" + ], + "roles": ["action"], + "animation": "walk", + "examples": [ + { "glyphs": "🚶🌳", "text": "Walking through nature." } + ] + }, + { + "glyph": "🧎", + "id": "glyph.action.move.kneel", + "category": "action", + "primary": "kneel", + "synomic": [ + "lower down", + "submit", + "pray", + "bend down" + ], + "roles": ["action"], + "animation": "kneel", + "examples": [ + { "glyphs": "🧎🙏", "text": "Kneeling in prayer." } + ] + }, + { + "glyph": "🧗", + "id": "glyph.action.move.climb", + "category": "action", + "primary": "climb", + "synomic": [ + "ascend", + "scale", + "go upward", + "mount" + ], + "roles": ["action"], + "animation": "climb", + "examples": [ + { "glyphs": "🧗⛰️", "text": "Climbing a mountain." } + ] + }, + { + "glyph": "🧘", + "id": "glyph.action.state.meditate", + "category": "action", + "primary": "meditate", + "synomic": [ + "sit calmly", + "focus inward", + "mindfulness", + "stillness" + ], + "roles": ["action", "state"], + "animation": "meditate", + "examples": [ + { "glyphs": "🧘🌿", "text": "Meditating in nature." } + ] + }, + { + "glyph": "💃", + "id": "glyph.action.move.dance.female", + "category": "action", + "primary": "dance", + "synomic": [ + "celebrate", + "move rhythmically", + "express joy" + ], + "roles": ["action"], + "animation": "dance", + "examples": [ + { "glyphs": "💃🎶", "text": "Dancing to music." } + ] + }, + { + "glyph": "🕺", + "id": "glyph.action.move.dance.male", + "category": "action", + "primary": "dance", + "synomic": [ + "celebrate", + "move rhythmically", + "express joy" + ], + "roles": ["action"], + "animation": "dance_male", + "examples": [ + { "glyphs": "🕺🎉", "text": "Dancing at a party." } + ] + }, + { + "glyph": "👏", + "id": "glyph.action.express.clap", + "category": "action", + "primary": "clap", + "synomic": [ + "applaud", + "praise", + "celebrate", + "cheer" + ], + "roles": ["action"], + "animation": "clap", + "examples": [ + { "glyphs": "👏🌟", "text": "Clapping in appreciation." } + ] + }, + { + "glyph": "👋", + "id": "glyph.action.express.wave", + "category": "action", + "primary": "wave hello", + "synomic": [ + "greet", + "say hi", + "acknowledge", + "farewell" + ], + "roles": ["action"], + "animation": "wave", + "examples": [ + { "glyphs": "👋🙂", "text": "Waving hello." } + ] + }, + { + "glyph": "🙏", + "id": "glyph.action.express.pray", + "category": "action", + "primary": "prayer / gratitude", + "synomic": [ + "thank you", + "please", + "hope", + "humility" + ], + "roles": ["action", "state"], + "animation": "bow", + "examples": [ + { "glyphs": "🙏✨", "text": "Offering gratitude." } + ] + }, + { + "glyph": "👍", + "id": "glyph.action.express.approve", + "category": "action", + "primary": "thumbs up", + "synomic": [ + "yes", + "approval", + "agreement", + "good" + ], + "roles": ["action", "modifier"], + "animation": "thumbs_up", + "examples": [ + { "glyphs": "👍😄", "text": "Approving happily." } + ] + }, + { + "glyph": "👎", + "id": "glyph.action.express.disapprove", + "category": "action", + "primary": "thumbs down", + "synomic": [ + "no", + "disapproval", + "reject", + "bad" + ], + "roles": ["action", "modifier"], + "animation": "thumbs_down", + "examples": [ + { "glyphs": "👎😕", "text": "Disapproving with confusion." } + ] + }, + { + "glyph": "🤝", + "id": "glyph.action.express.handshake", + "category": "action", + "primary": "handshake", + "synomic": [ + "agreement", + "deal", + "partnership", + "greeting" + ], + "roles": ["action"], + "animation": "handshake", + "examples": [ + { "glyphs": "🤝📄", "text": "Agreeing on a document." } + ] + }, + { + "glyph": "✌️", + "id": "glyph.action.express.peace", + "category": "action", + "primary": "peace sign", + "synomic": [ + "victory", + "peace", + "chill", + "friendly gesture" + ], + "roles": ["action", "modifier"], + "animation": "peace_sign", + "examples": [ + { "glyphs": "✌️😎", "text": "Peaceful confidence." } + ] + }, + { + "glyph": "🛠️", + "id": "glyph.action.tool.use_tools", + "category": "action", + "primary": "use tools", + "synomic": [ + "repair", + "fix", + "build", + "mechanical work" + ], + "roles": ["action"], + "animation": "tool_work", + "examples": [ + { "glyphs": "🛠️⚙️", "text": "Working on machinery." } + ] + }, + { + "glyph": "🔧", + "id": "glyph.action.tool.wrench", + "category": "action", + "primary": "tighten / loosen", + "synomic": [ + "adjust", + "fix", + "repair", + "mechanical action" + ], + "roles": ["action"], + "animation": "wrench_turn", + "examples": [ + { "glyphs": "🔧🚗", "text": "Fixing a car." } + ] + }, + { + "glyph": "🔨", + "id": "glyph.action.tool.hammer", + "category": "action", + "primary": "hammer", + "synomic": [ + "build", + "construct", + "nail", + "strike" + ], + "roles": ["action"], + "animation": "hammer", + "examples": [ + { "glyphs": "🔨🪵", "text": "Hammering wood." } + ] + }, + { + "glyph": "✍️", + "id": "glyph.action.create.write", + "category": "action", + "primary": "write", + "synomic": [ + "compose", + "record", + "take notes", + "create text" + ], + "roles": ["action"], + "animation": "write", + "examples": [ + { "glyphs": "✍️📜", "text": "Writing on a scroll." } + ] + }, + { + "glyph": "📝", + "id": "glyph.action.create.note", + "category": "action", + "primary": "take notes", + "synomic": [ + "write", + "record", + "document", + "jot down" + ], + "roles": ["action"], + "animation": "note", + "examples": [ + { "glyphs": "📝💡", "text": "Writing down an idea." } + ] + }, + { + "glyph": "📣", + "id": "glyph.action.communicate.announce", + "category": "action", + "primary": "announce", + "synomic": [ + "broadcast", + "speak loudly", + "declare", + "public message" + ], + "roles": ["action"], + "animation": "shout", + "examples": [ + { "glyphs": "📣📢", "text": "Making an announcement." } + ] + }, + { + "glyph": "💬", + "id": "glyph.action.communicate.speak", + "category": "action", + "primary": "speak", + "synomic": [ + "talk", + "communicate", + "say words", + "conversation" + ], + "roles": ["action"], + "animation": "speak", + "examples": [ + { "glyphs": "💬🙂", "text": "Speaking calmly." } + ] + }, + { + "glyph": "🗣️", + "id": "glyph.action.communicate.shout", + "category": "action", + "primary": "speak loudly", + "synomic": [ + "shout", + "project voice", + "call out", + "yell" + ], + "roles": ["action"], + "animation": "project_voice", + "examples": [ + { "glyphs": "🗣️📣", "text": "Calling out loudly." } + ] + }, + { + "glyph": "🤔", + "id": "glyph.action.cognition.think", + "category": "action", + "primary": "think", + "synomic": [ + "ponder", + "consider", + "reflect", + "analyze" + ], + "roles": ["action", "state"], + "animation": "think", + "examples": [ + { "glyphs": "🤔💭", "text": "Thinking deeply." } + ] + }, + { + "glyph": "💭", + "id": "glyph.action.cognition.thought_bubble", + "category": "action", + "primary": "thought", + "synomic": [ + "idea", + "internal reflection", + "mental process", + "imagination" + ], + "roles": ["state", "modifier"], + "animation": "thought", + "examples": [ + { "glyphs": "💭✨", "text": "A new idea forming." } + ] + }, + { + "glyph": "🧠", + "id": "glyph.action.cognition.brain", + "category": "action", + "primary": "mental activity", + "synomic": [ + "intelligence", + "reasoning", + "cognition", + "processing" + ], + "roles": ["state", "modifier"], + "animation": "brain_glow", + "examples": [ + { "glyphs": "🧠⚡", "text": "A sudden insight." } + ] + }, + { + "glyph": "🪄", + "id": "glyph.action.symbolic.magic", + "category": "action", + "primary": "magic / transformation", + "synomic": [ + "change", + "alter", + "manifest", + "symbolic shift" + ], + "roles": ["action", "event"], + "animation": "magic_spark", + "examples": [ + { "glyphs": "🪄✨", "text": "A magical transformation." } + ] + }, + { + "glyph": "🔥", + "id": "glyph.action.symbolic.burn", + "category": "action", + "primary": "burn / transform", + "synomic": [ + "destroy", + "purify", + "intensify", + "ignite" + ], + "roles": ["action", "event"], + "animation": "flame", + "examples": [ + { "glyphs": "🔥➡️🌱", "text": "Destruction leading to new growth." } + ] + }, + { + "glyph": "🧹", + "id": "glyph.action.clean.sweep", + "category": "action", + "primary": "clean / sweep", + "synomic": [ + "remove", + "clear away", + "tidy", + "purge" + ], + "roles": ["action"], + "animation": "sweep", + "examples": [ + { "glyphs": "🧹🗑️", "text": "Cleaning up." } + ] + }, + { + "glyph": "🪓", + "id": "glyph.action.destroy.chop", + "category": "action", + "primary": "chop / break", + "synomic": [ + "cut", + "split", + "destroy", + "separate" + ], + "roles": ["action"], + "animation": "chop", + "examples": [ + { "glyphs": "🪓🪵", "text": "Chopping wood." } + ] + }, + { + "glyph": "👉", + "id": "glyph.action.gesture.point.right", + "category": "action", + "primary": "point right", + "synomic": [ + "indicate direction", + "show target", + "gesture", + "attention cue" + ], + "roles": ["action", "modifier"], + "animation": "point_right", + "examples": [ + { "glyphs": "👉📦", "text": "Pointing at the box." } + ] + }, + { + "glyph": "👈", + "id": "glyph.action.gesture.point.left", + "category": "action", + "primary": "point left", + "synomic": [ + "indicate direction", + "gesture", + "show something", + "attention cue" + ], + "roles": ["action", "modifier"], + "animation": "point_left", + "examples": [ + { "glyphs": "👈📘", "text": "Pointing at the book." } + ] + }, + { + "glyph": "☝️", + "id": "glyph.action.gesture.point.up", + "category": "action", + "primary": "point up", + "synomic": [ + "indicate above", + "raise attention", + "highlight", + "gesture upward" + ], + "roles": ["action", "modifier"], + "animation": "point_up", + "examples": [ + { "glyphs": "☝️🌤️", "text": "Pointing at the sky." } + ] + }, + { + "glyph": "👇", + "id": "glyph.action.gesture.point.down", + "category": "action", + "primary": "point down", + "synomic": [ + "indicate below", + "gesture downward", + "show location", + "attention cue" + ], + "roles": ["action", "modifier"], + "animation": "point_down", + "examples": [ + { "glyphs": "👇📍", "text": "Pointing at the location." } + ] + }, + { + "glyph": "🤲", + "id": "glyph.action.gesture.offer", + "category": "action", + "primary": "offer / present", + "synomic": [ + "give", + "present something", + "offer help", + "open hands" + ], + "roles": ["action"], + "animation": "offer", + "examples": [ + { "glyphs": "🤲🎁", "text": "Offering a gift." } + ] + }, + { + "glyph": "👐", + "id": "glyph.action.gesture.open_hands", + "category": "action", + "primary": "open hands", + "synomic": [ + "welcome", + "embrace", + "openness", + "invitation" + ], + "roles": ["action", "state"], + "animation": "open_hands", + "examples": [ + { "glyphs": "👐💞", "text": "Open and welcoming." } + ] + }, + { + "glyph": "✋", + "id": "glyph.action.gesture.stop", + "category": "action", + "primary": "stop", + "synomic": [ + "halt", + "pause", + "block", + "refuse" + ], + "roles": ["action", "modifier"], + "animation": "hand_stop", + "examples": [ + { "glyphs": "✋🚫", "text": "Stop or refuse." } + ] + }, + { + "glyph": "🤚", + "id": "glyph.action.gesture.raise_hand", + "category": "action", + "primary": "raise hand", + "synomic": [ + "volunteer", + "ask to speak", + "signal attention", + "gesture" + ], + "roles": ["action"], + "animation": "raise_hand", + "examples": [ + { "glyphs": "🤚🗣️", "text": "Raising a hand to speak." } + ] + }, + { + "glyph": "✊", + "id": "glyph.action.gesture.fist", + "category": "action", + "primary": "fist", + "synomic": [ + "strength", + "solidarity", + "power", + "determination" + ], + "roles": ["action", "modifier"], + "animation": "fist_raise", + "examples": [ + { "glyphs": "✊🔥", "text": "Determination and power." } + ] + }, + { + "glyph": "🤜", + "id": "glyph.action.gesture.punch.right", + "category": "action", + "primary": "punch right", + "synomic": [ + "strike", + "hit", + "impact", + "force" + ], + "roles": ["action"], + "animation": "punch_right", + "examples": [ + { "glyphs": "🤜💥", "text": "A strong punch." } + ] + }, + { + "glyph": "🤛", + "id": "glyph.action.gesture.punch.left", + "category": "action", + "primary": "punch left", + "synomic": [ + "strike", + "hit", + "impact", + "force" + ], + "roles": ["action"], + "animation": "punch_left", + "examples": [ + { "glyphs": "🤛💥", "text": "A strong punch." } + ] + }, + { + "glyph": "🤲", + "id": "glyph.action.transfer.give", + "category": "action", + "primary": "give", + "synomic": [ + "offer", + "hand over", + "transfer", + "share" + ], + "roles": ["action"], + "animation": "give", + "examples": [ + { "glyphs": "🤲📦", "text": "Giving a box." } + ] + }, + { + "glyph": "🫳", + "id": "glyph.action.transfer.drop", + "category": "action", + "primary": "drop", + "synomic": [ + "release", + "let go", + "fall", + "discard" + ], + "roles": ["action"], + "animation": "drop", + "examples": [ + { "glyphs": "🫳🪙", "text": "Dropping a coin." } + ] + }, + { + "glyph": "🫴", + "id": "glyph.action.transfer.receive", + "category": "action", + "primary": "receive", + "synomic": [ + "take", + "accept", + "collect", + "hold out hand" + ], + "roles": ["action"], + "animation": "receive", + "examples": [ + { "glyphs": "🫴🎁", "text": "Receiving a gift." } + ] + }, + { + "glyph": "✊💼", + "id": "glyph.action.hold.carry", + "category": "action", + "primary": "carry", + "synomic": [ + "hold", + "transport", + "lift and move", + "bear weight" + ], + "roles": ["action"], + "animation": "carry", + "examples": [ + { "glyphs": "✊💼🚶", "text": "Carrying a bag while walking." } + ] + }, + { + "glyph": "💪", + "id": "glyph.action.hold.lift", + "category": "action", + "primary": "lift / strength", + "synomic": [ + "raise", + "pick up", + "strength", + "power" + ], + "roles": ["action", "modifier"], + "animation": "flex", + "examples": [ + { "glyphs": "💪📦", "text": "Lifting a heavy box." } + ] + }, + { + "glyph": "🤏", + "id": "glyph.action.hold.pinch", + "category": "action", + "primary": "pinch / small amount", + "synomic": [ + "pick up", + "tiny", + "small quantity", + "delicate hold" + ], + "roles": ["action", "modifier"], + "animation": "pinch", + "examples": [ + { "glyphs": "🤏✨", "text": "A tiny bit of magic." } + ] + }, + { + "glyph": "✋➡️", + "id": "glyph.action.push", + "category": "action", + "primary": "push", + "synomic": [ + "force forward", + "move away", + "apply pressure", + "shove" + ], + "roles": ["action"], + "animation": "push", + "examples": [ + { "glyphs": "✋➡️📦", "text": "Pushing the box." } + ] + }, + { + "glyph": "✋⬅️", + "id": "glyph.action.pull", + "category": "action", + "primary": "pull", + "synomic": [ + "draw toward", + "tug", + "retrieve", + "drag" + ], + "roles": ["action"], + "animation": "pull", + "examples": [ + { "glyphs": "✋⬅️🧺", "text": "Pulling the basket." } + ] + }, + { + "glyph": "🎨", + "id": "glyph.action.create.paint", + "category": "action", + "primary": "paint", + "synomic": [ + "create art", + "express visually", + "color", + "design" + ], + "roles": ["action"], + "animation": "paint_stroke", + "examples": [ + { "glyphs": "🎨🖼️", "text": "Painting a picture." } + ] + }, + { + "glyph": "✏️", + "id": "glyph.action.create.draw", + "category": "action", + "primary": "draw", + "synomic": [ + "sketch", + "outline", + "illustrate", + "design" + ], + "roles": ["action"], + "animation": "draw", + "examples": [ + { "glyphs": "✏️📓", "text": "Drawing in a notebook." } + ] + }, + { + "glyph": "🎭", + "id": "glyph.action.create.perform", + "category": "action", + "primary": "perform", + "synomic": [ + "act", + "roleplay", + "express emotion", + "theater" + ], + "roles": ["action"], + "animation": "perform", + "examples": [ + { "glyphs": "🎭✨", "text": "Performing dramatically." } + ] + }, + { + "glyph": "🎤", + "id": "glyph.action.create.sing", + "category": "action", + "primary": "sing", + "synomic": [ + "vocalize", + "perform music", + "express voice" + ], + "roles": ["action"], + "animation": "sing", + "examples": [ + { "glyphs": "🎤🎶", "text": "Singing a song." } + ] + }, + { + "glyph": "🎧", + "id": "glyph.action.consume.listen", + "category": "action", + "primary": "listen", + "synomic": [ + "hear", + "focus on audio", + "pay attention", + "consume sound" + ], + "roles": ["action", "state"], + "animation": "listen", + "examples": [ + { "glyphs": "🎧🎵", "text": "Listening to music." } + ] + }, + { + "glyph": "💻", + "id": "glyph.action.digital.use_computer", + "category": "action", + "primary": "use computer", + "synomic": [ + "work digitally", + "type", + "program", + "operate device" + ], + "roles": ["action"], + "animation": "type", + "examples": [ + { "glyphs": "💻⌨️", "text": "Typing on a computer." } + ] + }, + { + "glyph": "⌨️", + "id": "glyph.action.digital.type", + "category": "action", + "primary": "type", + "synomic": [ + "enter text", + "write digitally", + "input", + "coding" + ], + "roles": ["action"], + "animation": "type_fast", + "examples": [ + { "glyphs": "⌨️💬", "text": "Typing a message." } + ] + }, + { + "glyph": "🖱️", + "id": "glyph.action.digital.click", + "category": "action", + "primary": "click", + "synomic": [ + "select", + "choose", + "interact", + "activate" + ], + "roles": ["action"], + "animation": "click", + "examples": [ + { "glyphs": "🖱️🗂️", "text": "Clicking through files." } + ] + }, + { + "glyph": "📱", + "id": "glyph.action.digital.use_phone", + "category": "action", + "primary": "use phone", + "synomic": [ + "text", + "call", + "scroll", + "mobile interaction" + ], + "roles": ["action"], + "animation": "tap", + "examples": [ + { "glyphs": "📱💬", "text": "Using the phone to message." } + ] + }, + { + "glyph": "📲", + "id": "glyph.action.digital.send", + "category": "action", + "primary": "send digitally", + "synomic": [ + "transmit", + "share", + "send message", + "deliver data" + ], + "roles": ["action"], + "animation": "send", + "examples": [ + { "glyphs": "📲➡️👤", "text": "Sending something to someone." } + ] + }, + { + "glyph": "🔄", + "id": "glyph.action.meta.repeat", + "category": "action", + "primary": "repeat", + "synomic": [ + "loop", + "again", + "retry", + "cycle" + ], + "roles": ["action", "modifier"], + "animation": "rotate", + "examples": [ + { "glyphs": "🔄📝", "text": "Repeat the writing process." } + ] + }, + { + "glyph": "♻️", + "id": "glyph.action.meta.recycle", + "category": "action", + "primary": "recycle / reuse", + "synomic": [ + "repurpose", + "reuse", + "transform", + "loop material" + ], + "roles": ["action", "event"], + "animation": "cycle", + "examples": [ + { "glyphs": "♻️📦", "text": "Recycling a box." } + ] + }, + { + "glyph": "🌀", + "id": "glyph.action.symbolic.transform", + "category": "action", + "primary": "transform / shift", + "synomic": [ + "change state", + "transition", + "metamorphosis", + "energetic shift" + ], + "roles": ["action", "event"], + "animation": "swirl", + "examples": [ + { "glyphs": "🌀➡️✨", "text": "Transformation into something new." } + ] + }, + { + "glyph": "✨", + "id": "glyph.action.symbolic.enhance", + "category": "action", + "primary": "enhance / improve", + "synomic": [ + "upgrade", + "polish", + "add magic", + "increase quality" + ], + "roles": ["action", "modifier"], + "animation": "sparkle", + "examples": [ + { "glyphs": "✨📄", "text": "Improving the document." } + ] + }, + { + "glyph": "⚡", + "id": "glyph.action.symbolic.activate", + "category": "action", + "primary": "activate / energize", + "synomic": [ + "power up", + "charge", + "ignite", + "energize" + ], + "roles": ["action", "event"], + "animation": "electric", + "examples": [ + { "glyphs": "⚡🧠", "text": "Activating mental energy." } + ] + }, + { + "glyph": "🏃‍♂️", + "id": "glyph.action.move.run.male", + "category": "action", + "primary": "run (male)", + "synomic": [ + "sprint", + "dash", + "move fast", + "escape" + ], + "roles": ["action"], + "animation": "run_male", + "examples": [ + { "glyphs": "🏃‍♂️💨", "text": "Running quickly." } + ] + }, + { + "glyph": "🏃‍♀️", + "id": "glyph.action.move.run.female", + "category": "action", + "primary": "run (female)", + "synomic": [ + "sprint", + "dash", + "move fast", + "hurry" + ], + "roles": ["action"], + "animation": "run_female", + "examples": [ + { "glyphs": "🏃‍♀️🌧️", "text": "Running in the rain." } + ] + }, + { + "glyph": "🤸", + "id": "glyph.action.move.flip", + "category": "action", + "primary": "cartwheel / flip", + "synomic": [ + "gymnastics", + "acrobatic move", + "playful motion", + "energetic movement" + ], + "roles": ["action"], + "animation": "flip", + "examples": [ + { "glyphs": "🤸✨", "text": "Doing a flip with flair." } + ] + }, + { + "glyph": "🤼", + "id": "glyph.action.combat.grapple", + "category": "action", + "primary": "grapple / wrestle", + "synomic": [ + "struggle", + "fight", + "physical contest", + "combat" + ], + "roles": ["action", "event"], + "animation": "grapple", + "examples": [ + { "glyphs": "🤼💥", "text": "A physical struggle." } + ] + }, + { + "glyph": "🥋", + "id": "glyph.action.combat.martial_arts", + "category": "action", + "primary": "martial arts", + "synomic": [ + "karate", + "self‑defense", + "combat training", + "discipline" + ], + "roles": ["action"], + "animation": "martial_pose", + "examples": [ + { "glyphs": "🥋🌀", "text": "Practicing martial arts." } + ] + }, + { + "glyph": "🪃", + "id": "glyph.action.combat.throw", + "category": "action", + "primary": "throw", + "synomic": [ + "launch", + "project", + "hurl", + "send outward" + ], + "roles": ["action"], + "animation": "throw", + "examples": [ + { "glyphs": "🪃🎯", "text": "Throwing toward a target." } + ] + }, + { + "glyph": "🪨", + "id": "glyph.action.environment.place_rock", + "category": "action", + "primary": "place / drop rock", + "synomic": [ + "set down", + "position", + "environmental interaction" + ], + "roles": ["action"], + "animation": "place_object", + "examples": [ + { "glyphs": "🪨➡️🌊", "text": "Placing a rock near water." } + ] + }, + { + "glyph": "🧱", + "id": "glyph.action.environment.build_wall", + "category": "action", + "primary": "build wall", + "synomic": [ + "construct", + "block", + "fortify", + "create barrier" + ], + "roles": ["action", "event"], + "animation": "stack", + "examples": [ + { "glyphs": "🧱🏗️", "text": "Building a structure." } + ] + }, + { + "glyph": "🪵", + "id": "glyph.action.environment.place_wood", + "category": "action", + "primary": "place wood", + "synomic": [ + "set material", + "prepare", + "construct", + "environmental setup" + ], + "roles": ["action"], + "animation": "place_object", + "examples": [ + { "glyphs": "🪵🔥", "text": "Placing wood for a fire." } + ] + }, + { + "glyph": "🧎‍♂️", + "id": "glyph.action.body_language.kneel.male", + "category": "action", + "primary": "kneel (male)", + "synomic": [ + "lower posture", + "submit", + "pray", + "rest" + ], + "roles": ["action"], + "animation": "kneel_male", + "examples": [ + { "glyphs": "🧎‍♂️🙏", "text": "Kneeling in prayer." } + ] + }, + { + "glyph": "🧎‍♀️", + "id": "glyph.action.body_language.kneel.female", + "category": "action", + "primary": "kneel (female)", + "synomic": [ + "lower posture", + "humility", + "rest", + "submission" + ], + "roles": ["action"], + "animation": "kneel_female", + "examples": [ + { "glyphs": "🧎‍♀️🌸", "text": "Kneeling near flowers." } + ] + }, + { + "glyph": "🙇", + "id": "glyph.action.body_language.bow.neutral", + "category": "action", + "primary": "bow", + "synomic": [ + "respect", + "apology", + "humility", + "acknowledgment" + ], + "roles": ["action", "state"], + "animation": "bow", + "examples": [ + { "glyphs": "🙇🙏", "text": "Bowing respectfully." } + ] + }, + { + "glyph": "🙇‍♂️", + "id": "glyph.action.body_language.bow.male", + "category": "action", + "primary": "bow (male)", + "synomic": [ + "respect", + "apology", + "humility" + ], + "roles": ["action"], + "animation": "bow_male", + "examples": [ + { "glyphs": "🙇‍♂️💠", "text": "A respectful bow." } + ] + }, + { + "glyph": "🙇‍♀️", + "id": "glyph.action.body_language.bow.female", + "category": "action", + "primary": "bow (female)", + "synomic": [ + "respect", + "apology", + "humility" + ], + "roles": ["action"], + "animation": "bow_female", + "examples": [ + { "glyphs": "🙇‍♀️🌺", "text": "A graceful bow." } + ] + }, + { + "glyph": "🕯️", + "id": "glyph.action.ritual.light_candle", + "category": "action", + "primary": "light candle", + "synomic": [ + "ritual", + "ceremony", + "honor", + "memory" + ], + "roles": ["action", "event"], + "animation": "light_candle", + "examples": [ + { "glyphs": "🕯️🌙", "text": "Lighting a candle at night." } + ] + }, + { + "glyph": "🛐", + "id": "glyph.action.ritual.worship", + "category": "action", + "primary": "worship", + "synomic": [ + "pray", + "devotion", + "spiritual action", + "ritual" + ], + "roles": ["action", "state"], + "animation": "kneel_pray", + "examples": [ + { "glyphs": "🛐✨", "text": "A moment of worship." } + ] + } +] + + diff --git a/dictionary/actors.json b/dictionary/actors.json new file mode 100644 index 0000000000000000000000000000000000000000..15ca7ca7df2190d94ec9c8339e1a68ffa6b533cf --- /dev/null +++ b/dictionary/actors.json @@ -0,0 +1,1215 @@ +[ + { + "glyph": "👤", + "id": "glyph.actor.person.generic", + "category": "actor", + "primary": "person", + "synomic": [ + "individual", + "human", + "someone", + "identity", + "generic person" + ], + "roles": ["subject", "object"], + "animation": "idle", + "examples": [ + { "glyphs": "👤🤔", "text": "a person thinking" } + ] + }, + { + "glyph": "👥", + "id": "glyph.actor.people.group", + "category": "actor", + "primary": "group of people", + "synomic": [ + "crowd", + "team", + "community", + "group", + "multiple individuals" + ], + "roles": ["subject", "object"], + "animation": "group_idle", + "examples": [ + { "glyphs": "👥🎉", "text": "a group celebrating" } + ] + }, + { + "glyph": "👧", + "id": "glyph.actor.child.female", + "category": "actor", + "primary": "girl", + "synomic": [ + "female child", + "daughter", + "young girl" + ], + "roles": ["subject"], + "animation": "idle_child", + "examples": [ + { "glyphs": "👧😡🌃🛌", "text": "The girl is upset that it is her bedtime." } + ] + }, + { + "glyph": "👦", + "id": "glyph.actor.child.male", + "category": "actor", + "primary": "boy", + "synomic": [ + "male child", + "son", + "young boy" + ], + "roles": ["subject"], + "animation": "idle_child", + "examples": [ + { "glyphs": "👦⚽", "text": "The boy is playing soccer." } + ] + }, + { + "glyph": "👶", + "id": "glyph.actor.child.infant", + "category": "actor", + "primary": "baby", + "synomic": [ + "infant", + "newborn", + "small child" + ], + "roles": ["subject"], + "animation": "idle_baby", + "examples": [ + { "glyphs": "👶🍼", "text": "The baby is drinking milk." } + ] + }, + { + "glyph": "🧒", + "id": "glyph.actor.child.neutral", + "category": "actor", + "primary": "child", + "synomic": [ + "kid", + "youth", + "young person" + ], + "roles": ["subject"], + "animation": "idle_child", + "examples": [ + { "glyphs": "🧒🎒", "text": "The child is going to school." } + ] + }, + { + "glyph": "👩", + "id": "glyph.actor.adult.female", + "category": "actor", + "primary": "woman", + "synomic": [ + "female adult", + "lady", + "woman person" + ], + "roles": ["subject", "object"], + "animation": "idle_female", + "examples": [ + { "glyphs": "👩💼", "text": "The woman is working." } + ] + }, + { + "glyph": "👨", + "id": "glyph.actor.adult.male", + "category": "actor", + "primary": "man", + "synomic": [ + "male adult", + "guy", + "man person" + ], + "roles": ["subject", "object"], + "animation": "idle_male", + "examples": [ + { "glyphs": "👨🔧", "text": "The man is fixing something." } + ] + }, + { + "glyph": "🧑", + "id": "glyph.actor.adult.neutral", + "category": "actor", + "primary": "adult", + "synomic": [ + "person", + "grown human", + "neutral adult" + ], + "roles": ["subject", "object"], + "animation": "idle", + "examples": [ + { "glyphs": "🧑💻", "text": "The adult is using a computer." } + ] + }, + { + "glyph": "👩‍🦰", + "id": "glyph.actor.adult.female.redhair", + "category": "actor", + "primary": "woman with red hair", + "synomic": [ + "redhead woman", + "female adult", + "ginger woman" + ], + "roles": ["subject"], + "animation": "idle_female", + "examples": [ + { "glyphs": "👩‍🦰📚", "text": "The red‑haired woman is reading." } + ] + }, + { + "glyph": "👨‍🦰", + "id": "glyph.actor.adult.male.redhair", + "category": "actor", + "primary": "man with red hair", + "synomic": [ + "redhead man", + "male adult", + "ginger man" + ], + "roles": ["subject"], + "animation": "idle_male", + "examples": [ + { "glyphs": "👨‍🦰🏋️", "text": "The red‑haired man is lifting weights." } + ] + }, + { + "glyph": "👨‍⚕️", + "id": "glyph.actor.profession.doctor.male", + "category": "actor", + "primary": "male doctor", + "synomic": [ + "physician", + "medical professional", + "healthcare worker", + "doctor" + ], + "roles": ["subject"], + "animation": "heal", + "examples": [ + { "glyphs": "👨‍⚕️💉", "text": "The doctor is giving a shot." } + ] + }, + { + "glyph": "👩‍⚕️", + "id": "glyph.actor.profession.doctor.female", + "category": "actor", + "primary": "female doctor", + "synomic": [ + "physician", + "medical professional", + "healthcare worker", + "doctor" + ], + "roles": ["subject"], + "animation": "heal", + "examples": [ + { "glyphs": "👩‍⚕️🩺", "text": "The doctor is checking a patient." } + ] + }, + { + "glyph": "🧑‍⚕️", + "id": "glyph.actor.profession.doctor.neutral", + "category": "actor", + "primary": "doctor", + "synomic": [ + "physician", + "medical worker", + "healthcare provider" + ], + "roles": ["subject"], + "animation": "heal", + "examples": [ + { "glyphs": "🧑‍⚕️🏥", "text": "The doctor is at the hospital." } + ] + }, + { + "glyph": "👨‍🏫", + "id": "glyph.actor.profession.teacher.male", + "category": "actor", + "primary": "male teacher", + "synomic": [ + "instructor", + "educator", + "professor", + "mentor" + ], + "roles": ["subject"], + "animation": "teach", + "examples": [ + { "glyphs": "👨‍🏫📚", "text": "The teacher is teaching a lesson." } + ] + }, + { + "glyph": "👩‍🏫", + "id": "glyph.actor.profession.teacher.female", + "category": "actor", + "primary": "female teacher", + "synomic": [ + "instructor", + "educator", + "professor", + "mentor" + ], + "roles": ["subject"], + "animation": "teach", + "examples": [ + { "glyphs": "👩‍🏫🧑‍🎓", "text": "The teacher is helping a student." } + ] + }, + { + "glyph": "🧑‍🏫", + "id": "glyph.actor.profession.teacher.neutral", + "category": "actor", + "primary": "teacher", + "synomic": [ + "educator", + "instructor", + "professor" + ], + "roles": ["subject"], + "animation": "teach", + "examples": [ + { "glyphs": "🧑‍🏫📖", "text": "The teacher is reading aloud." } + ] + }, + { + "glyph": "👨‍🍳", + "id": "glyph.actor.profession.chef.male", + "category": "actor", + "primary": "male chef", + "synomic": [ + "cook", + "culinary worker", + "kitchen staff", + "chef" + ], + "roles": ["subject"], + "animation": "cook", + "examples": [ + { "glyphs": "👨‍🍳🍲", "text": "The chef is preparing soup." } + ] + }, + { + "glyph": "👩‍🍳", + "id": "glyph.actor.profession.chef.female", + "category": "actor", + "primary": "female chef", + "synomic": [ + "cook", + "culinary worker", + "kitchen staff", + "chef" + ], + "roles": ["subject"], + "animation": "cook", + "examples": [ + { "glyphs": "👩‍🍳🍰", "text": "The chef is baking a cake." } + ] + }, + { + "glyph": "🧑‍🍳", + "id": "glyph.actor.profession.chef.neutral", + "category": "actor", + "primary": "chef", + "synomic": [ + "cook", + "culinary artist", + "kitchen worker" + ], + "roles": ["subject"], + "animation": "cook", + "examples": [ + { "glyphs": "🧑‍🍳🥘", "text": "The chef is cooking a meal." } + ] + }, + { + "glyph": "👨‍🔧", + "id": "glyph.actor.profession.mechanic.male", + "category": "actor", + "primary": "male mechanic", + "synomic": [ + "repairman", + "technician", + "fixer", + "engineer" + ], + "roles": ["subject"], + "animation": "repair", + "examples": [ + { "glyphs": "👨‍🔧🔧", "text": "The mechanic is fixing something." } + ] + }, + { + "glyph": "👩‍🔧", + "id": "glyph.actor.profession.mechanic.female", + "category": "actor", + "primary": "female mechanic", + "synomic": [ + "repairwoman", + "technician", + "engineer", + "fixer" + ], + "roles": ["subject"], + "animation": "repair", + "examples": [ + { "glyphs": "👩‍🔧🛠️", "text": "The mechanic is repairing equipment." } + ] + }, + { + "glyph": "🧑‍🔧", + "id": "glyph.actor.profession.mechanic.neutral", + "category": "actor", + "primary": "mechanic", + "synomic": [ + "technician", + "repair worker", + "engineer" + ], + "roles": ["subject"], + "animation": "repair", + "examples": [ + { "glyphs": "🧑‍🔧🔩", "text": "The mechanic is tightening bolts." } + ] + }, + { + "glyph": "👨‍🚀", + "id": "glyph.actor.profession.astronaut.male", + "category": "actor", + "primary": "male astronaut", + "synomic": [ + "space traveler", + "cosmonaut", + "pilot", + "explorer" + ], + "roles": ["subject"], + "animation": "float", + "examples": [ + { "glyphs": "👨‍🚀🌌", "text": "The astronaut is in space." } + ] + }, + { + "glyph": "👩‍🚀", + "id": "glyph.actor.profession.astronaut.female", + "category": "actor", + "primary": "female astronaut", + "synomic": [ + "space traveler", + "cosmonaut", + "pilot", + "explorer" + ], + "roles": ["subject"], + "animation": "float", + "examples": [ + { "glyphs": "👩‍🚀🪐", "text": "The astronaut is exploring a planet." } + ] + }, + { + "glyph": "🧑‍🚀", + "id": "glyph.actor.profession.astronaut.neutral", + "category": "actor", + "primary": "astronaut", + "synomic": [ + "space explorer", + "cosmonaut", + "pilot" + ], + "roles": ["subject"], + "animation": "float", + "examples": [ + { "glyphs": "🧑‍🚀🚀", "text": "The astronaut is launching into space." } + ] + }, + { + "glyph": "🐶", + "id": "glyph.actor.animal.dog", + "category": "actor", + "primary": "dog", + "synomic": [ + "puppy", + "canine", + "pet", + "loyal companion" + ], + "roles": ["subject", "object"], + "animation": "wag_tail", + "examples": [ + { "glyphs": "🐶🏃", "text": "The dog is running." } + ] + }, + { + "glyph": "🐱", + "id": "glyph.actor.animal.cat", + "category": "actor", + "primary": "cat", + "synomic": [ + "kitten", + "feline", + "pet", + "independent animal" + ], + "roles": ["subject", "object"], + "animation": "purr", + "examples": [ + { "glyphs": "🐱🛏️", "text": "The cat is resting on the bed." } + ] + }, + { + "glyph": "🐭", + "id": "glyph.actor.animal.mouse", + "category": "actor", + "primary": "mouse", + "synomic": [ + "rodent", + "small animal", + "tiny creature" + ], + "roles": ["subject", "object"], + "animation": "scurry", + "examples": [ + { "glyphs": "🐭🧀", "text": "The mouse found cheese." } + ] + }, + { + "glyph": "🐹", + "id": "glyph.actor.animal.hamster", + "category": "actor", + "primary": "hamster", + "synomic": [ + "rodent", + "pet", + "small furry animal" + ], + "roles": ["subject"], + "animation": "nibble", + "examples": [ + { "glyphs": "🐹🥕", "text": "The hamster is eating a carrot." } + ] + }, + { + "glyph": "🐰", + "id": "glyph.actor.animal.rabbit", + "category": "actor", + "primary": "rabbit", + "synomic": [ + "bunny", + "hare", + "fast animal", + "cute animal" + ], + "roles": ["subject"], + "animation": "hop", + "examples": [ + { "glyphs": "🐰🌱", "text": "The rabbit is eating plants." } + ] + }, + { + "glyph": "🦊", + "id": "glyph.actor.animal.fox", + "category": "actor", + "primary": "fox", + "synomic": [ + "clever animal", + "wild animal", + "sly creature" + ], + "roles": ["subject"], + "animation": "sneak", + "examples": [ + { "glyphs": "🦊🌲", "text": "The fox is in the forest." } + ] + }, + { + "glyph": "🐻", + "id": "glyph.actor.animal.bear", + "category": "actor", + "primary": "bear", + "synomic": [ + "wild animal", + "strong animal", + "forest creature" + ], + "roles": ["subject"], + "animation": "roar", + "examples": [ + { "glyphs": "🐻🍯", "text": "The bear found honey." } + ] + }, + { + "glyph": "🐼", + "id": "glyph.actor.animal.panda", + "category": "actor", + "primary": "panda", + "synomic": [ + "bear", + "cute animal", + "bamboo eater" + ], + "roles": ["subject"], + "animation": "munch", + "examples": [ + { "glyphs": "🐼🎋", "text": "The panda is eating bamboo." } + ] + }, + { + "glyph": "🐨", + "id": "glyph.actor.animal.koala", + "category": "actor", + "primary": "koala", + "synomic": [ + "marsupial", + "tree animal", + "cute creature" + ], + "roles": ["subject"], + "animation": "cling", + "examples": [ + { "glyphs": "🐨🌿", "text": "The koala is holding onto a branch." } + ] + }, + { + "glyph": "🐯", + "id": "glyph.actor.animal.tiger", + "category": "actor", + "primary": "tiger", + "synomic": [ + "big cat", + "predator", + "strong animal" + ], + "roles": ["subject"], + "animation": "prowl", + "examples": [ + { "glyphs": "🐯🌾", "text": "The tiger is walking through the grass." } + ] + }, + { + "glyph": "🦁", + "id": "glyph.actor.animal.lion", + "category": "actor", + "primary": "lion", + "synomic": [ + "big cat", + "king of the jungle", + "predator" + ], + "roles": ["subject"], + "animation": "roar", + "examples": [ + { "glyphs": "🦁☀️", "text": "The lion basks in the sun." } + ] + }, + { + "glyph": "🐮", + "id": "glyph.actor.animal.cow", + "category": "actor", + "primary": "cow", + "synomic": [ + "cattle", + "farm animal", + "bovine" + ], + "roles": ["subject"], + "animation": "graze", + "examples": [ + { "glyphs": "🐮🌾", "text": "The cow is eating grass." } + ] + }, + { + "glyph": "🐷", + "id": "glyph.actor.animal.pig", + "category": "actor", + "primary": "pig", + "synomic": [ + "hog", + "farm animal", + "boar" + ], + "roles": ["subject"], + "animation": "snort", + "examples": [ + { "glyphs": "🐷🍎", "text": "The pig is eating apples." } + ] + }, + { + "glyph": "🐸", + "id": "glyph.actor.animal.frog", + "category": "actor", + "primary": "frog", + "synomic": [ + "amphibian", + "swamp creature", + "hopper" + ], + "roles": ["subject"], + "animation": "jump", + "examples": [ + { "glyphs": "🐸💧", "text": "The frog is near water." } + ] + }, + { + "glyph": "🐵", + "id": "glyph.actor.animal.monkey", + "category": "actor", + "primary": "monkey", + "synomic": [ + "primate", + "playful animal", + "tree climber" + ], + "roles": ["subject"], + "animation": "swing", + "examples": [ + { "glyphs": "🐵🌴", "text": "The monkey is climbing a tree." } + ] + }, + { + "glyph": "🦍", + "id": "glyph.actor.animal.gorilla", + "category": "actor", + "primary": "gorilla", + "synomic": [ + "primate", + "strong animal", + "ape" + ], + "roles": ["subject"], + "animation": "beat_chest", + "examples": [ + { "glyphs": "🦍🍃", "text": "The gorilla is in the jungle." } + ] + }, + { + "glyph": "🦧", + "id": "glyph.actor.animal.orangutan", + "category": "actor", + "primary": "orangutan", + "synomic": [ + "primate", + "ape", + "forest dweller" + ], + "roles": ["subject"], + "animation": "hang", + "examples": [ + { "glyphs": "🦧🌳", "text": "The orangutan is hanging from a tree." } + ] + }, + { + "glyph": "👻", + "id": "glyph.actor.symbolic.ghost", + "category": "actor", + "primary": "ghost", + "synomic": [ + "spirit", + "haunting presence", + "memory echo", + "invisible force" + ], + "roles": ["subject", "concept"], + "animation": "float_spooky", + "examples": [ + { "glyphs": "👻🏚️", "text": "A ghost in an abandoned house." } + ] + }, + { + "glyph": "🤖", + "id": "glyph.actor.symbolic.robot", + "category": "actor", + "primary": "robot", + "synomic": [ + "machine intelligence", + "android", + "automation", + "AI entity" + ], + "roles": ["subject", "object"], + "animation": "robot_idle", + "examples": [ + { "glyphs": "🤖⚙️", "text": "A robot working with machinery." } + ] + }, + { + "glyph": "👽", + "id": "glyph.actor.symbolic.alien", + "category": "actor", + "primary": "alien", + "synomic": [ + "extraterrestrial", + "unknown intelligence", + "outsider", + "strange being" + ], + "roles": ["subject"], + "animation": "hover", + "examples": [ + { "glyphs": "👽🛸", "text": "An alien arriving in a UFO." } + ] + }, + { + "glyph": "🧙‍♂️", + "id": "glyph.actor.mythical.wizard.male", + "category": "actor", + "primary": "male wizard", + "synomic": [ + "mage", + "sorcerer", + "spellcaster", + "wise elder" + ], + "roles": ["subject"], + "animation": "cast_spell", + "examples": [ + { "glyphs": "🧙‍♂️✨", "text": "The wizard is casting magic." } + ] + }, + { + "glyph": "🧙‍♀️", + "id": "glyph.actor.mythical.wizard.female", + "category": "actor", + "primary": "female wizard", + "synomic": [ + "witch", + "sorceress", + "spellcaster", + "mystic" + ], + "roles": ["subject"], + "animation": "cast_spell", + "examples": [ + { "glyphs": "🧙‍♀️🔮", "text": "The sorceress is using a crystal ball." } + ] + }, + { + "glyph": "🧙", + "id": "glyph.actor.mythical.wizard.neutral", + "category": "actor", + "primary": "wizard", + "synomic": [ + "mage", + "magic user", + "spellcaster" + ], + "roles": ["subject"], + "animation": "cast_spell", + "examples": [ + { "glyphs": "🧙📜", "text": "The wizard studies ancient scrolls." } + ] + }, + { + "glyph": "🧝‍♂️", + "id": "glyph.actor.mythical.elf.male", + "category": "actor", + "primary": "male elf", + "synomic": [ + "forest being", + "mythical archer", + "agile creature" + ], + "roles": ["subject"], + "animation": "graceful_idle", + "examples": [ + { "glyphs": "🧝‍♂️🏹", "text": "The elf is preparing his bow." } + ] + }, + { + "glyph": "🧝‍♀️", + "id": "glyph.actor.mythical.elf.female", + "category": "actor", + "primary": "female elf", + "synomic": [ + "forest spirit", + "mythical being", + "agile archer" + ], + "roles": ["subject"], + "animation": "graceful_idle", + "examples": [ + { "glyphs": "🧝‍♀️🌲", "text": "The elf is in the forest." } + ] + }, + { + "glyph": "🧝", + "id": "glyph.actor.mythical.elf.neutral", + "category": "actor", + "primary": "elf", + "synomic": [ + "mythical being", + "forest dweller", + "agile creature" + ], + "roles": ["subject"], + "animation": "graceful_idle", + "examples": [ + { "glyphs": "🧝✨", "text": "The elf radiates magic." } + ] + }, + { + "glyph": "🧛‍♂️", + "id": "glyph.actor.mythical.vampire.male", + "category": "actor", + "primary": "male vampire", + "synomic": [ + "undead", + "blood drinker", + "night creature" + ], + "roles": ["subject"], + "animation": "fangs", + "examples": [ + { "glyphs": "🧛‍♂️🌙", "text": "The vampire awakens at night." } + ] + }, + { + "glyph": "🧛‍♀️", + "id": "glyph.actor.mythical.vampire.female", + "category": "actor", + "primary": "female vampire", + "synomic": [ + "undead", + "night stalker", + "dark enchantress" + ], + "roles": ["subject"], + "animation": "fangs", + "examples": [ + { "glyphs": "🧛‍♀️🩸", "text": "The vampire seeks blood." } + ] + }, + { + "glyph": "🧛", + "id": "glyph.actor.mythical.vampire.neutral", + "category": "actor", + "primary": "vampire", + "synomic": [ + "undead", + "night creature", + "dark being" + ], + "roles": ["subject"], + "animation": "fangs", + "examples": [ + { "glyphs": "🧛🌑", "text": "The vampire lurks in darkness." } + ] + }, + { + "glyph": "🧞‍♂️", + "id": "glyph.actor.mythical.genie.male", + "category": "actor", + "primary": "male genie", + "synomic": [ + "wish granter", + "spirit", + "magical entity" + ], + "roles": ["subject"], + "animation": "smoke_form", + "examples": [ + { "glyphs": "🧞‍♂️✨", "text": "The genie appears in a swirl of magic." } + ] + }, + { + "glyph": "🧞‍♀️", + "id": "glyph.actor.mythical.genie.female", + "category": "actor", + "primary": "female genie", + "synomic": [ + "wish granter", + "spirit", + "magical being" + ], + "roles": ["subject"], + "animation": "smoke_form", + "examples": [ + { "glyphs": "🧞‍♀️🪔", "text": "The genie emerges from the lamp." } + ] + }, + { + "glyph": "🧞", + "id": "glyph.actor.mythical.genie.neutral", + "category": "actor", + "primary": "genie", + "synomic": [ + "spirit", + "wish granter", + "magical entity" + ], + "roles": ["subject"], + "animation": "smoke_form", + "examples": [ + { "glyphs": "🧞🔮", "text": "The genie channels mystical energy." } + ] + }, + { + "glyph": "🧜‍♂️", + "id": "glyph.actor.mythical.merman", + "category": "actor", + "primary": "merman", + "synomic": [ + "sea being", + "mythical swimmer", + "ocean spirit" + ], + "roles": ["subject"], + "animation": "swim", + "examples": [ + { "glyphs": "🧜‍♂️🌊", "text": "The merman swims through the waves." } + ] + }, + { + "glyph": "🧜‍♀️", + "id": "glyph.actor.mythical.mermaid", + "category": "actor", + "primary": "mermaid", + "synomic": [ + "sea spirit", + "mythical swimmer", + "ocean enchantress" + ], + "roles": ["subject"], + "animation": "swim", + "examples": [ + { "glyphs": "🧜‍♀️🐚", "text": "The mermaid sings by the shore." } + ] + }, + { + "glyph": "🧜", + "id": "glyph.actor.mythical.merperson", + "category": "actor", + "primary": "merperson", + "synomic": [ + "sea being", + "mythical creature", + "ocean dweller" + ], + "roles": ["subject"], + "animation": "swim", + "examples": [ + { "glyphs": "🧜🌊", "text": "The merperson moves through the water." } + ] + }, + { + "glyph": "🧍", + "id": "glyph.actor.form.standing.neutral", + "category": "actor", + "primary": "person standing", + "synomic": [ + "standing human", + "neutral posture", + "idle stance" + ], + "roles": ["subject"], + "animation": "idle", + "examples": [ + { "glyphs": "🧍🤔", "text": "A person standing and thinking." } + ] + }, + { + "glyph": "🧍‍♂️", + "id": "glyph.actor.form.standing.male", + "category": "actor", + "primary": "man standing", + "synomic": [ + "standing male", + "idle man", + "neutral posture" + ], + "roles": ["subject"], + "animation": "idle_male", + "examples": [ + { "glyphs": "🧍‍♂️📱", "text": "A man standing and using a phone." } + ] + }, + { + "glyph": "🧍‍♀️", + "id": "glyph.actor.form.standing.female", + "category": "actor", + "primary": "woman standing", + "synomic": [ + "standing female", + "idle woman", + "neutral posture" + ], + "roles": ["subject"], + "animation": "idle_female", + "examples": [ + { "glyphs": "🧍‍♀️💭", "text": "A woman standing and thinking." } + ] + }, + { + "glyph": "🧎", + "id": "glyph.actor.form.kneeling.neutral", + "category": "actor", + "primary": "person kneeling", + "synomic": [ + "kneeling human", + "lowered posture", + "submission", + "prayer position" + ], + "roles": ["subject"], + "animation": "kneel", + "examples": [ + { "glyphs": "🧎🙏", "text": "A person kneeling in prayer." } + ] + }, + { + "glyph": "🧎‍♂️", + "id": "glyph.actor.form.kneeling.male", + "category": "actor", + "primary": "man kneeling", + "synomic": [ + "kneeling male", + "lowered posture", + "submission", + "resting" + ], + "roles": ["subject"], + "animation": "kneel", + "examples": [ + { "glyphs": "🧎‍♂️🛠️", "text": "A man kneeling to fix something." } + ] + }, + { + "glyph": "🧎‍♀️", + "id": "glyph.actor.form.kneeling.female", + "category": "actor", + "primary": "woman kneeling", + "synomic": [ + "kneeling female", + "lowered posture", + "prayer", + "resting" + ], + "roles": ["subject"], + "animation": "kneel", + "examples": [ + { "glyphs": "🧎‍♀️🌸", "text": "A woman kneeling near flowers." } + ] + }, + { + "glyph": "🧑‍🦽", + "id": "glyph.actor.accessibility.wheelchair.manual", + "category": "actor", + "primary": "person in manual wheelchair", + "synomic": [ + "wheelchair user", + "disabled person", + "mobility aid" + ], + "roles": ["subject"], + "animation": "wheel", + "examples": [ + { "glyphs": "🧑‍🦽🙂", "text": "A wheelchair user smiling." } + ] + }, + { + "glyph": "🧑‍🦼", + "id": "glyph.actor.accessibility.wheelchair.powered", + "category": "actor", + "primary": "person in motorized wheelchair", + "synomic": [ + "wheelchair user", + "powered mobility", + "disabled person" + ], + "roles": ["subject"], + "animation": "wheel_powered", + "examples": [ + { "glyphs": "🧑‍🦼➡️🏞️", "text": "A powered wheelchair user heading outdoors." } + ] + }, + { + "glyph": "🧑‍🦯", + "id": "glyph.actor.accessibility.cane.white", + "category": "actor", + "primary": "person with white cane", + "synomic": [ + "blind person", + "visually impaired", + "cane user" + ], + "roles": ["subject"], + "animation": "walk_cane", + "examples": [ + { "glyphs": "🧑‍🦯🚶", "text": "A blind person walking." } + ] + }, + { + "glyph": "🧑‍🦻", + "id": "glyph.actor.accessibility.hearing", + "category": "actor", + "primary": "person with hearing aid", + "synomic": [ + "hearing impaired", + "deaf person", + "hearing assistance" + ], + "roles": ["subject"], + "animation": "listen", + "examples": [ + { "glyphs": "🧑‍🦻🎧", "text": "A person with a hearing aid listening to audio." } + ] + }, + { + "glyph": "🧑‍🍼", + "id": "glyph.actor.form.feeding_baby", + "category": "actor", + "primary": "person feeding baby", + "synomic": [ + "caregiver", + "parent", + "nurturing role" + ], + "roles": ["subject"], + "animation": "feed", + "examples": [ + { "glyphs": "🧑‍🍼👶", "text": "A caregiver feeding a baby." } + ] + }, + { + "glyph": "🧑‍🤝‍🧑", + "id": "glyph.actor.form.two_people.holding_hands", + "category": "actor", + "primary": "two people holding hands", + "synomic": [ + "companionship", + "friendship", + "unity", + "support" + ], + "roles": ["subject"], + "animation": "hold_hands", + "examples": [ + { "glyphs": "🧑‍🤝‍🧑💞", "text": "Two people showing affection." } + ] + }, + { + "glyph": "🧑‍🎄", + "id": "glyph.actor.symbolic.santa.neutral", + "category": "actor", + "primary": "Santa Claus", + "synomic": [ + "holiday figure", + "gift giver", + "festive character" + ], + "roles": ["subject"], + "animation": "jolly", + "examples": [ + { "glyphs": "🧑‍🎄🎁", "text": "Santa delivering gifts." } + ] + } +] + + + diff --git a/dictionary/concepts.json b/dictionary/concepts.json new file mode 100644 index 0000000000000000000000000000000000000000..5e32189328e270635f438f88602ad40e5f2fb644 --- /dev/null +++ b/dictionary/concepts.json @@ -0,0 +1,753 @@ +[ + { + "id": "concept.core.identity", + "glyph": "🧿", + "category": "concept", + "primary": "identity", + "synomic": [ + "self", + "being", + "individual essence", + "who something is" + ], + "roles": ["concept", "core"], + "animation": "identity_glow", + "examples": [ + { "glyphs": "🧿A", "text": "The identity or essence of A." } + ] + }, + { + "id": "concept.core.change", + "glyph": "🌀", + "category": "concept", + "primary": "change", + "synomic": [ + "transformation", + "shift", + "alteration", + "becoming different" + ], + "roles": ["concept", "core"], + "animation": "change_wave", + "examples": [ + { "glyphs": "A🌀", "text": "A is undergoing change." } + ] + }, + { + "id": "concept.core.relationship", + "glyph": "🔗", + "category": "concept", + "primary": "relationship", + "synomic": [ + "connection", + "link", + "association", + "relational structure" + ], + "roles": ["concept", "core"], + "animation": "link_pulse", + "examples": [ + { "glyphs": "A🔗B", "text": "A has a relationship with B." } + ] + }, + { + "id": "concept.core.cause_effect", + "glyph": "➡️⚡", + "category": "concept", + "primary": "cause and effect", + "synomic": [ + "causality", + "trigger and outcome", + "reason and result", + "chain reaction" + ], + "roles": ["concept", "core"], + "animation": "cause_flash", + "examples": [ + { "glyphs": "A➡️⚡B", "text": "A causes B." } + ] + }, + { + "id": "concept.core.value", + "glyph": "💎", + "category": "concept", + "primary": "value", + "synomic": [ + "importance", + "worth", + "priority", + "significance" + ], + "roles": ["concept", "core"], + "animation": "value_glint", + "examples": [ + { "glyphs": "A💎", "text": "A has value or importance." } + ] + }, + { + "id": "concept.core.truth", + "glyph": "🔍✨", + "category": "concept", + "primary": "truth", + "synomic": [ + "accuracy", + "reality", + "what is", + "factual alignment" + ], + "roles": ["concept", "core"], + "animation": "truth_shine", + "examples": [ + { "glyphs": "A🔍✨", "text": "A represents truth or correctness." } + ] + }, + { + "id": "concept.core.perception", + "glyph": "👁️✨", + "category": "concept", + "primary": "perception", + "synomic": [ + "awareness", + "interpretation", + "sensing", + "subjective experience" + ], + "roles": ["concept", "core"], + "animation": "perception_focus", + "examples": [ + { "glyphs": "A👁️✨", "text": "A is perceived or interpreted." } + ] + }, + { + "id": "concept.core.balance", + "glyph": "☯️", + "category": "concept", + "primary": "balance", + "synomic": [ + "equilibrium", + "harmony", + "dual stability", + "dynamic symmetry" + ], + "roles": ["concept", "core"], + "animation": "balance_pulse", + "examples": [ + { "glyphs": "A☯️", "text": "A is in a state of balance." } + ] + }, + { + "id": "concept.abstract.order", + "glyph": "📐✨", + "category": "concept", + "primary": "order", + "synomic": [ + "structure", + "organization", + "pattern", + "systematic arrangement" + ], + "roles": ["concept", "abstract"], + "animation": "order_snap", + "examples": [ + { "glyphs": "A📐✨", "text": "A is structured or orderly." } + ] + }, + { + "id": "concept.abstract.chaos", + "glyph": "🌪️", + "category": "concept", + "primary": "chaos", + "synomic": [ + "disorder", + "randomness", + "unpredictability", + "entropy" + ], + "roles": ["concept", "abstract"], + "animation": "chaos_swirl", + "examples": [ + { "glyphs": "A🌪️", "text": "A is chaotic or disordered." } + ] + }, + { + "id": "concept.abstract.potential", + "glyph": "🌱✨", + "category": "concept", + "primary": "potential", + "synomic": [ + "possibility", + "latent ability", + "unrealized capacity", + "seed state" + ], + "roles": ["concept", "abstract"], + "animation": "potential_glow", + "examples": [ + { "glyphs": "A🌱✨", "text": "A holds potential or possibility." } + ] + }, + { + "id": "concept.abstract.limit", + "glyph": "🚧", + "category": "concept", + "primary": "limit", + "synomic": [ + "boundary", + "constraint", + "edge", + "maximum extent" + ], + "roles": ["concept", "abstract"], + "animation": "limit_flash", + "examples": [ + { "glyphs": "A🚧", "text": "A encounters a limit or boundary." } + ] + }, + { + "id": "concept.abstract.scale", + "glyph": "📏↕️", + "category": "concept", + "primary": "scale", + "synomic": [ + "size relation", + "magnitude", + "degree", + "relative measure" + ], + "roles": ["concept", "dimension"], + "animation": "scale_shift", + "examples": [ + { "glyphs": "A📏↕️", "text": "A varies in scale or magnitude." } + ] + }, + { + "id": "concept.abstract.intensity", + "glyph": "🔥📈", + "category": "concept", + "primary": "intensity", + "synomic": [ + "strength", + "force level", + "power", + "degree of impact" + ], + "roles": ["concept", "dimension"], + "animation": "intensity_pulse", + "examples": [ + { "glyphs": "A🔥📈", "text": "A has a certain intensity or strength." } + ] + }, + { + "id": "concept.abstract.quality", + "glyph": "✨🔍", + "category": "concept", + "primary": "quality", + "synomic": [ + "characteristic", + "attribute", + "property", + "nature of something" + ], + "roles": ["concept", "abstract"], + "animation": "quality_shimmer", + "examples": [ + { "glyphs": "A✨🔍", "text": "A has a particular quality or attribute." } + ] + }, + { + "id": "concept.abstract.duality", + "glyph": "⚫⚪", + "category": "concept", + "primary": "duality", + "synomic": [ + "twofold nature", + "paired opposites", + "complementary forces", + "binary structure" + ], + "roles": ["concept", "abstract"], + "animation": "duality_shift", + "examples": [ + { "glyphs": "A⚫⚪", "text": "A contains or expresses duality." } + ] + }, + { + "id": "concept.relational.similarity", + "glyph": "🟦🟦", + "category": "concept", + "primary": "similarity", + "synomic": [ + "likeness", + "resemblance", + "shared traits", + "comparative closeness" + ], + "roles": ["concept", "relational"], + "animation": "similarity_blend", + "examples": [ + { "glyphs": "A🟦🟦B", "text": "A and B share similarity." } + ] + }, + { + "id": "concept.relational.difference", + "glyph": "🟥🟦", + "category": "concept", + "primary": "difference", + "synomic": [ + "contrast", + "distinction", + "unlike", + "divergence" + ], + "roles": ["concept", "relational"], + "animation": "difference_split", + "examples": [ + { "glyphs": "A🟥🟦B", "text": "A and B differ." } + ] + }, + { + "id": "concept.relational.hierarchy", + "glyph": "🔺", + "category": "concept", + "primary": "hierarchy", + "synomic": [ + "ranking", + "levels", + "tiered structure", + "ordered layers" + ], + "roles": ["concept", "relational"], + "animation": "hierarchy_rise", + "examples": [ + { "glyphs": "A🔺B", "text": "A is above or below B in hierarchy." } + ] + }, + { + "id": "concept.relational.network", + "glyph": "🕸️", + "category": "concept", + "primary": "network", + "synomic": [ + "interconnected system", + "web of relations", + "distributed links", + "multi-node structure" + ], + "roles": ["concept", "relational"], + "animation": "network_expand", + "examples": [ + { "glyphs": "A🕸️B", "text": "A and B are part of a network." } + ] + }, + { + "id": "concept.meta.emergence", + "glyph": "🌟⬆️", + "category": "concept", + "primary": "emergence", + "synomic": [ + "arising from parts", + "greater-than-sum", + "system-level appearance", + "pattern formation" + ], + "roles": ["concept", "meta"], + "animation": "emergence_glow", + "examples": [ + { "glyphs": "A🌟⬆️", "text": "A emerges from underlying components." } + ] + }, + { + "id": "concept.meta.abstraction", + "glyph": "🧠⬆️", + "category": "concept", + "primary": "abstraction", + "synomic": [ + "generalization", + "higher-level idea", + "conceptual distillation", + "removal of specifics" + ], + "roles": ["concept", "meta"], + "animation": "abstract_fade", + "examples": [ + { "glyphs": "A🧠⬆️", "text": "A is an abstraction of something more specific." } + ] + }, + { + "id": "concept.meta.context", + "glyph": "🧩🌐", + "category": "concept", + "primary": "context", + "synomic": [ + "surrounding conditions", + "interpretive frame", + "situation", + "environment of meaning" + ], + "roles": ["concept", "meta"], + "animation": "context_expand", + "examples": [ + { "glyphs": "A🧩🌐", "text": "A is shaped by its context." } + ] + }, + { + "id": "concept.logic.contradiction", + "glyph": "⚡↔️⚡", + "category": "concept", + "primary": "contradiction", + "synomic": [ + "incompatibility", + "mutual exclusion", + "logical conflict", + "cannot both be true" + ], + "roles": ["concept", "logic"], + "animation": "conflict_flash", + "examples": [ + { "glyphs": "A⚡↔️⚡B", "text": "A and B contradict each other." } + ] + }, + { + "id": "concept.logic.coherence", + "glyph": "🔄✨", + "category": "concept", + "primary": "coherence", + "synomic": [ + "internal consistency", + "logical harmony", + "aligned structure", + "non-contradiction" + ], + "roles": ["concept", "logic"], + "animation": "coherence_flow", + "examples": [ + { "glyphs": "A🔄✨", "text": "A is coherent and internally consistent." } + ] + }, + { + "id": "concept.symbolic.light", + "glyph": "✨", + "category": "concept", + "primary": "light", + "synomic": [ + "clarity", + "revelation", + "illumination", + "guidance" + ], + "roles": ["concept", "symbolic"], + "animation": "light_shimmer", + "examples": [ + { "glyphs": "A✨", "text": "A represents clarity or illumination." } + ] + }, + { + "id": "concept.symbolic.shadow", + "glyph": "🌑", + "category": "concept", + "primary": "shadow", + "synomic": [ + "hidden", + "unknown", + "unconscious", + "obscured truth" + ], + "roles": ["concept", "symbolic"], + "animation": "shadow_fade", + "examples": [ + { "glyphs": "A🌑", "text": "A represents the hidden or unknown." } + ] + }, + { + "id": "concept.archetype.journey", + "glyph": "🛤️", + "category": "concept", + "primary": "journey", + "synomic": [ + "path", + "quest", + "life arc", + "progression" + ], + "roles": ["concept", "archetype"], + "animation": "journey_flow", + "examples": [ + { "glyphs": "A🛤️", "text": "A is part of a larger journey or path." } + ] + }, + { + "id": "concept.archetype.transformation", + "glyph": "🦋", + "category": "concept", + "primary": "transformation", + "synomic": [ + "metamorphosis", + "rebirth", + "deep change", + "evolution" + ], + "roles": ["concept", "archetype"], + "animation": "transform_shift", + "examples": [ + { "glyphs": "A🦋", "text": "A represents transformation or evolution." } + ] + }, + { + "id": "concept.archetype.threshold", + "glyph": "🚪🌟", + "category": "concept", + "primary": "threshold", + "synomic": [ + "crossing", + "initiation", + "liminal moment", + "gateway to new state" + ], + "roles": ["concept", "archetype"], + "animation": "threshold_glow", + "examples": [ + { "glyphs": "A🚪🌟", "text": "A marks a threshold or initiation moment." } + ] + }, + { + "id": "concept.mythic.creation", + "glyph": "🌌✨", + "category": "concept", + "primary": "creation", + "synomic": [ + "origin", + "beginning", + "first spark", + "cosmic emergence" + ], + "roles": ["concept", "mythic"], + "animation": "creation_spark", + "examples": [ + { "glyphs": "A🌌✨", "text": "A represents creation or origin." } + ] + }, + { + "id": "concept.mythic.destruction", + "glyph": "🔥🌑", + "category": "concept", + "primary": "destruction", + "synomic": [ + "ending", + "collapse", + "dissolution", + "breaking down" + ], + "roles": ["concept", "mythic"], + "animation": "destruction_fade", + "examples": [ + { "glyphs": "A🔥🌑", "text": "A represents destruction or dissolution." } + ] + }, + { + "id": "concept.mythic.cycle", + "glyph": "🔄🌕🌑", + "category": "concept", + "primary": "cycle", + "synomic": [ + "recurrence", + "loop", + "renewal", + "rise and fall" + ], + "roles": ["concept", "mythic"], + "animation": "cycle_spin", + "examples": [ + { "glyphs": "A🔄🌕🌑", "text": "A represents a repeating cycle." } + ] + }, + { + "id": "concept.symbolic.truth_hidden", + "glyph": "🕳️🔍", + "category": "concept", + "primary": "hidden truth", + "synomic": [ + "mystery", + "concealed meaning", + "unrevealed insight", + "truth beneath surface" + ], + "roles": ["concept", "symbolic"], + "animation": "reveal_glow", + "examples": [ + { "glyphs": "A🕳️🔍", "text": "A contains a hidden truth or deeper meaning." } + ] + }, + { + "id": "concept.meta.existence", + "glyph": "🌌🧿", + "category": "concept", + "primary": "existence", + "synomic": [ + "being", + "presence", + "state of existing", + "ontological reality" + ], + "roles": ["concept", "meta"], + "animation": "existence_glow", + "examples": [ + { "glyphs": "🌌🧿A", "text": "A exists or has being." } + ] + }, + { + "id": "concept.meta.nonexistence", + "glyph": "0️⃣🌫️", + "category": "concept", + "primary": "nonexistence", + "synomic": [ + "absence", + "void", + "null state", + "not-being" + ], + "roles": ["concept", "meta"], + "animation": "void_fade", + "examples": [ + { "glyphs": "A0️⃣🌫️", "text": "A does not exist or is absent." } + ] + }, + { + "id": "concept.meta.continuity", + "glyph": "🔗♾️", + "category": "concept", + "primary": "continuity", + "synomic": [ + "unbroken connection", + "ongoing existence", + "persistent identity", + "flow across time" + ], + "roles": ["concept", "meta"], + "animation": "continuity_flow", + "examples": [ + { "glyphs": "A🔗♾️", "text": "A persists or continues across states." } + ] + }, + { + "id": "concept.meta.recursion", + "glyph": "☯️🔄", + "category": "concept", + "primary": "recursion", + "synomic": [ + "self-reference", + "looping structure", + "pattern within pattern", + "self-similar process" + ], + "roles": ["concept", "meta"], + "animation": "recursive_pulse", + "examples": [ + { "glyphs": "A☯️🔄", "text": "A contains or expresses recursion." } + ] + }, + { + "id": "concept.existential.purpose", + "glyph": "🎯✨", + "category": "concept", + "primary": "purpose", + "synomic": [ + "reason for being", + "intention", + "direction", + "meaningful aim" + ], + "roles": ["concept", "existential"], + "animation": "purpose_glow", + "examples": [ + { "glyphs": "A🎯✨", "text": "A has purpose or intention." } + ] + }, + { + "id": "concept.existential.freedom", + "glyph": "🕊️", + "category": "concept", + "primary": "freedom", + "synomic": [ + "autonomy", + "choice", + "unbounded action", + "self-direction" + ], + "roles": ["concept", "existential"], + "animation": "freedom_drift", + "examples": [ + { "glyphs": "A🕊️", "text": "A expresses or experiences freedom." } + ] + }, + { + "id": "concept.existential.responsibility", + "glyph": "⚖️🧍", + "category": "concept", + "primary": "responsibility", + "synomic": [ + "duty", + "obligation", + "ownership of action", + "moral weight" + ], + "roles": ["concept", "existential"], + "animation": "responsibility_balance", + "examples": [ + { "glyphs": "A⚖️🧍", "text": "A carries responsibility or duty." } + ] + }, + { + "id": "concept.ultimate.unity", + "glyph": "1️⃣✨", + "category": "concept", + "primary": "unity", + "synomic": [ + "oneness", + "wholeness", + "integration", + "all-as-one" + ], + "roles": ["concept", "ultimate"], + "animation": "unity_glow", + "examples": [ + { "glyphs": "A1️⃣✨", "text": "A expresses unity or oneness." } + ] + }, + { + "id": "concept.ultimate.duality_balance", + "glyph": "☯️", + "category": "concept", + "primary": "dual balance", + "synomic": [ + "harmonized opposites", + "dynamic equilibrium", + "paired forces", + "recursive symmetry" + ], + "roles": ["concept", "ultimate"], + "animation": "balance_pulse", + "examples": [ + { "glyphs": "A☯️", "text": "A expresses balanced duality." } + ] + }, + { + "id": "concept.ultimate.infinity", + "glyph": "♾️", + "category": "concept", + "primary": "infinity", + "synomic": [ + "endlessness", + "boundless", + "unlimited", + "beyond measure" + ], + "roles": ["concept", "ultimate"], + "animation": "infinite_glow", + "examples": [ + { "glyphs": "A♾️", "text": "A relates to infinity or boundlessness." } + ] + } +] + + + diff --git a/dictionary/context_activity.json b/dictionary/context_activity.json new file mode 100644 index 0000000000000000000000000000000000000000..483eaf430193a4ef1bec76b5d5db98d50782ea15 --- /dev/null +++ b/dictionary/context_activity.json @@ -0,0 +1,701 @@ +[ + { + "id": "context.activity.core.resting", + "glyph": "😴", + "category": "activity", + "primary": "resting", + "synomic": [ + "sleeping", + "recovering", + "inactive", + "low energy state" + ], + "roles": ["context", "state"], + "animation": "rest_breath", + "examples": [ + { "glyphs": "A😴", "text": "A occurs while resting or in a restful state." } + ] + }, + { + "id": "context.activity.core.working", + "glyph": "💼", + "category": "activity", + "primary": "working", + "synomic": [ + "laboring", + "focused task", + "productive activity", + "professional effort" + ], + "roles": ["context", "state"], + "animation": "work_focus", + "examples": [ + { "glyphs": "A💼", "text": "A occurs during work or focused effort." } + ] + }, + { + "id": "context.activity.core.learning", + "glyph": "📘", + "category": "activity", + "primary": "learning", + "synomic": [ + "studying", + "absorbing information", + "training", + "education" + ], + "roles": ["context", "state"], + "animation": "learn_glow", + "examples": [ + { "glyphs": "A📘", "text": "A occurs during learning or study." } + ] + }, + { + "id": "context.activity.core.creating", + "glyph": "🎨", + "category": "activity", + "primary": "creating", + "synomic": [ + "making", + "building", + "artistic expression", + "generative activity" + ], + "roles": ["context", "state"], + "animation": "create_stroke", + "examples": [ + { "glyphs": "A🎨", "text": "A occurs during creative activity." } + ] + }, + { + "id": "context.activity.core.socializing", + "glyph": "🗣️👥", + "category": "activity", + "primary": "socializing", + "synomic": [ + "talking", + "interacting", + "group activity", + "connection" + ], + "roles": ["context", "state"], + "animation": "social_pulse", + "examples": [ + { "glyphs": "A🗣️👥", "text": "A occurs during social interaction." } + ] + }, + { + "id": "context.activity.core.traveling", + "glyph": "🚶➡️", + "category": "activity", + "primary": "traveling", + "synomic": [ + "moving", + "commuting", + "journeying", + "changing location" + ], + "roles": ["context", "state"], + "animation": "travel_flow", + "examples": [ + { "glyphs": "A🚶➡️", "text": "A occurs while traveling or in transit." } + ] + }, + { + "id": "context.activity.core.waiting", + "glyph": "⏳", + "category": "activity", + "primary": "waiting", + "synomic": [ + "pause", + "delay", + "holding pattern", + "anticipation" + ], + "roles": ["context", "state"], + "animation": "wait_sand", + "examples": [ + { "glyphs": "A⏳", "text": "A occurs during a waiting period." } + ] + }, + { + "id": "context.activity.core.observing", + "glyph": "👁️", + "category": "activity", + "primary": "observing", + "synomic": [ + "watching", + "monitoring", + "paying attention", + "witnessing" + ], + "roles": ["context", "state"], + "animation": "observe_focus", + "examples": [ + { "glyphs": "A👁️", "text": "A occurs while observing or watching." } + ] + }, + { + "id": "context.activity.physical.exercising", + "glyph": "🏋️", + "category": "activity", + "primary": "exercising", + "synomic": [ + "working out", + "physical training", + "fitness activity", + "body exertion" + ], + "roles": ["context", "physical"], + "animation": "exercise_pulse", + "examples": [ + { "glyphs": "A🏋️", "text": "A occurs during physical exercise." } + ] + }, + { + "id": "context.activity.physical.walking", + "glyph": "🚶", + "category": "activity", + "primary": "walking", + "synomic": [ + "moving on foot", + "light travel", + "casual movement", + "slow locomotion" + ], + "roles": ["context", "physical"], + "animation": "walk_cycle", + "examples": [ + { "glyphs": "A🚶", "text": "A occurs while walking." } + ] + }, + { + "id": "context.activity.physical.running", + "glyph": "🏃", + "category": "activity", + "primary": "running", + "synomic": [ + "moving fast", + "sprinting", + "urgent movement", + "high-speed travel" + ], + "roles": ["context", "physical"], + "animation": "run_cycle", + "examples": [ + { "glyphs": "A🏃", "text": "A occurs while running." } + ] + }, + { + "id": "context.activity.physical.recovering", + "glyph": "🛌", + "category": "activity", + "primary": "recovering", + "synomic": [ + "healing", + "restoring energy", + "post-exertion rest", + "physical recovery" + ], + "roles": ["context", "physical"], + "animation": "rest_heal", + "examples": [ + { "glyphs": "A🛌", "text": "A occurs during physical recovery." } + ] + }, + { + "id": "context.activity.body_state.tired", + "glyph": "🥱", + "category": "activity", + "primary": "tired", + "synomic": [ + "fatigued", + "low energy", + "exhausted", + "worn out" + ], + "roles": ["context", "state"], + "animation": "slow_blink", + "examples": [ + { "glyphs": "A🥱", "text": "A occurs while tired or low-energy." } + ] + }, + { + "id": "context.activity.body_state.energized", + "glyph": "⚡💪", + "category": "activity", + "primary": "energized", + "synomic": [ + "high energy", + "activated", + "ready to move", + "physically charged" + ], + "roles": ["context", "state"], + "animation": "energy_pulse", + "examples": [ + { "glyphs": "A⚡💪", "text": "A occurs in an energized physical state." } + ] + }, + { + "id": "context.activity.movement.still", + "glyph": "🧘", + "category": "activity", + "primary": "stillness", + "synomic": [ + "not moving", + "calm body", + "motionless", + "centered" + ], + "roles": ["context", "movement"], + "animation": "still_breath", + "examples": [ + { "glyphs": "A🧘", "text": "A occurs during physical stillness." } + ] + }, + { + "id": "context.activity.movement.active", + "glyph": "💨", + "category": "activity", + "primary": "active movement", + "synomic": [ + "dynamic", + "in motion", + "physically engaged", + "moving around" + ], + "roles": ["context", "movement"], + "animation": "active_flow", + "examples": [ + { "glyphs": "A💨", "text": "A occurs during active movement." } + ] + }, + { + "id": "context.activity.social.collaborating", + "glyph": "🤝📄", + "category": "activity", + "primary": "collaborating", + "synomic": [ + "working together", + "team effort", + "joint task", + "cooperative activity" + ], + "roles": ["context", "social"], + "animation": "collab_sync", + "examples": [ + { "glyphs": "A🤝📄", "text": "A occurs during collaboration." } + ] + }, + { + "id": "context.activity.social.competitive", + "glyph": "⚔️👥", + "category": "activity", + "primary": "competing", + "synomic": [ + "rivalry", + "contest", + "challenge", + "opposing goals" + ], + "roles": ["context", "social"], + "animation": "competitive_flash", + "examples": [ + { "glyphs": "A⚔️👥", "text": "A occurs in a competitive context." } + ] + }, + { + "id": "context.activity.social.supporting", + "glyph": "🤲❤️", + "category": "activity", + "primary": "supporting", + "synomic": [ + "helping", + "assisting", + "offering aid", + "emotional support" + ], + "roles": ["context", "social"], + "animation": "support_glow", + "examples": [ + { "glyphs": "A🤲❤️", "text": "A occurs while offering support." } + ] + }, + { + "id": "context.activity.social.conflict", + "glyph": "💢👥", + "category": "activity", + "primary": "conflict", + "synomic": [ + "argument", + "disagreement", + "tension", + "social friction" + ], + "roles": ["context", "social"], + "animation": "conflict_shake", + "examples": [ + { "glyphs": "A💢👥", "text": "A occurs during social conflict." } + ] + }, + { + "id": "context.activity.social.celebrating", + "glyph": "🎉👯", + "category": "activity", + "primary": "celebrating", + "synomic": [ + "party", + "joyful gathering", + "festive activity", + "group happiness" + ], + "roles": ["context", "social"], + "animation": "celebrate_spark", + "examples": [ + { "glyphs": "A🎉👯", "text": "A occurs during celebration." } + ] + }, + { + "id": "context.activity.social.sharing", + "glyph": "🫴🫳", + "category": "activity", + "primary": "sharing", + "synomic": [ + "giving and receiving", + "exchange", + "mutual offering", + "resource sharing" + ], + "roles": ["context", "social"], + "animation": "share_flow", + "examples": [ + { "glyphs": "A🫴🫳", "text": "A occurs during sharing or exchange." } + ] + }, + { + "id": "context.activity.group.small_group", + "glyph": "👥", + "category": "activity", + "primary": "small group", + "synomic": [ + "few people", + "intimate group", + "close interaction", + "small gathering" + ], + "roles": ["context", "group"], + "animation": "group_small", + "examples": [ + { "glyphs": "A👥", "text": "A occurs within a small group." } + ] + }, + { + "id": "context.activity.group.large_group", + "glyph": "👥👥👥", + "category": "activity", + "primary": "large group", + "synomic": [ + "crowd", + "many people", + "big gathering", + "group event" + ], + "roles": ["context", "group"], + "animation": "group_large", + "examples": [ + { "glyphs": "A👥👥👥", "text": "A occurs within a large group." } + ] + }, + { + "id": "context.activity.cognitive.focusing", + "glyph": "🎯🧠", + "category": "activity", + "primary": "focused thinking", + "synomic": [ + "concentrating", + "directed attention", + "mental precision", + "narrow focus" + ], + "roles": ["context", "cognitive"], + "animation": "focus_glow", + "examples": [ + { "glyphs": "A🎯🧠", "text": "A occurs during focused mental effort." } + ] + }, + { + "id": "context.activity.cognitive.reflection", + "glyph": "💭🪞", + "category": "activity", + "primary": "reflection", + "synomic": [ + "thinking back", + "introspection", + "self-examination", + "memory review" + ], + "roles": ["context", "cognitive"], + "animation": "reflect_wave", + "examples": [ + { "glyphs": "A💭🪞", "text": "A occurs during reflective thinking." } + ] + }, + { + "id": "context.activity.cognitive.problem_solving", + "glyph": "🧩🧠", + "category": "activity", + "primary": "problem solving", + "synomic": [ + "analysis", + "figuring out", + "mental challenge", + "strategizing" + ], + "roles": ["context", "cognitive"], + "animation": "puzzle_snap", + "examples": [ + { "glyphs": "A🧩🧠", "text": "A occurs during problem-solving activity." } + ] + }, + { + "id": "context.activity.cognitive.imagining", + "glyph": "✨💭", + "category": "activity", + "primary": "imagining", + "synomic": [ + "visualizing", + "creative thought", + "mental simulation", + "fantasy" + ], + "roles": ["context", "cognitive"], + "animation": "imagine_spark", + "examples": [ + { "glyphs": "A✨💭", "text": "A occurs during imaginative thinking." } + ] + }, + { + "id": "context.activity.cognitive.deciding", + "glyph": "⚖️🧠", + "category": "activity", + "primary": "decision making", + "synomic": [ + "choosing", + "evaluating options", + "weighing outcomes", + "mental judgment" + ], + "roles": ["context", "cognitive"], + "animation": "decision_balance", + "examples": [ + { "glyphs": "A⚖️🧠", "text": "A occurs during a decision-making moment." } + ] + }, + { + "id": "context.activity.cognitive.overwhelmed", + "glyph": "💥🧠", + "category": "activity", + "primary": "overwhelmed", + "synomic": [ + "mental overload", + "too much input", + "cognitive strain", + "overcapacity" + ], + "roles": ["context", "cognitive"], + "animation": "overload_flash", + "examples": [ + { "glyphs": "A💥🧠", "text": "A occurs during mental overwhelm." } + ] + }, + { + "id": "context.activity.cognitive.scanning", + "glyph": "🔍🧠", + "category": "activity", + "primary": "scanning", + "synomic": [ + "searching", + "reviewing", + "pattern detection", + "mental sweep" + ], + "roles": ["context", "cognitive"], + "animation": "scan_sweep", + "examples": [ + { "glyphs": "A🔍🧠", "text": "A occurs during mental scanning or searching." } + ] + }, + { + "id": "context.activity.cognitive.absent", + "glyph": "🌫️💭", + "category": "activity", + "primary": "mentally absent", + "synomic": [ + "daydreaming", + "distracted", + "not present", + "mind wandering" + ], + "roles": ["context", "cognitive"], + "animation": "drift_fade", + "examples": [ + { "glyphs": "A🌫️💭", "text": "A occurs while mentally unfocused or drifting." } + ] + }, + { + "id": "context.activity.symbolic.transitioning", + "glyph": "🌀➡️", + "category": "activity", + "primary": "transitioning", + "synomic": [ + "changing states", + "shifting roles", + "moving between phases", + "in transformation" + ], + "roles": ["context", "symbolic"], + "animation": "transition_wave", + "examples": [ + { "glyphs": "A🌀➡️", "text": "A occurs during a state of transition." } + ] + }, + { + "id": "context.activity.symbolic.cleansing", + "glyph": "🧹✨", + "category": "activity", + "primary": "cleansing", + "synomic": [ + "purifying", + "removing old", + "resetting", + "clearing space" + ], + "roles": ["context", "symbolic"], + "animation": "cleanse_sweep", + "examples": [ + { "glyphs": "A🧹✨", "text": "A occurs during a symbolic cleansing." } + ] + }, + { + "id": "context.activity.symbolic.manifesting", + "glyph": "🪄🌟", + "category": "activity", + "primary": "manifesting", + "synomic": [ + "bringing into being", + "creating from intention", + "energetic shaping", + "symbolic creation" + ], + "roles": ["context", "symbolic"], + "animation": "manifest_spark", + "examples": [ + { "glyphs": "A🪄🌟", "text": "A occurs during a moment of manifestation." } + ] + }, + { + "id": "context.activity.meta.recursive", + "glyph": "☯️🔄", + "category": "activity", + "primary": "recursive activity", + "synomic": [ + "self-referential process", + "looping behavior", + "iterative refinement", + "balanced cycle" + ], + "roles": ["context", "meta"], + "animation": "recursive_pulse", + "examples": [ + { "glyphs": "A☯️🔄", "text": "A occurs within a recursive activity loop." } + ] + }, + { + "id": "context.activity.meta.observing_self", + "glyph": "👁️💭", + "category": "activity", + "primary": "self-observation", + "synomic": [ + "meta-awareness", + "reflecting on self", + "introspective monitoring", + "inner witnessing" + ], + "roles": ["context", "meta"], + "animation": "inner_glow", + "examples": [ + { "glyphs": "A👁️💭", "text": "A occurs during self-observation." } + ] + }, + { + "id": "context.activity.meta.reorganizing", + "glyph": "🔧🌀", + "category": "activity", + "primary": "reorganizing", + "synomic": [ + "system restructuring", + "internal reordering", + "pattern adjustment", + "structural shift" + ], + "roles": ["context", "meta"], + "animation": "reorder_shift", + "examples": [ + { "glyphs": "A🔧🌀", "text": "A occurs during internal reorganization." } + ] + }, + { + "id": "context.activity.archetype.questing", + "glyph": "🗺️✨", + "category": "activity", + "primary": "questing", + "synomic": [ + "seeking", + "journey of purpose", + "mission", + "heroic pursuit" + ], + "roles": ["context", "archetype"], + "animation": "quest_glow", + "examples": [ + { "glyphs": "A🗺️✨", "text": "A occurs during a purposeful quest." } + ] + }, + { + "id": "context.activity.archetype.guardian", + "glyph": "🛡️🔥", + "category": "activity", + "primary": "guarding", + "synomic": [ + "protecting", + "standing watch", + "defending", + "sentinel role" + ], + "roles": ["context", "archetype"], + "animation": "guardian_pulse", + "examples": [ + { "glyphs": "A🛡️🔥", "text": "A occurs in a protective or guardian role." } + ] + }, + { + "id": "context.activity.archetype.rebirth", + "glyph": "🌑➡️🌕", + "category": "activity", + "primary": "rebirth", + "synomic": [ + "renewal", + "starting anew", + "emerging transformed", + "cycle completion" + ], + "roles": ["context", "archetype"], + "animation": "rebirth_glow", + "examples": [ + { "glyphs": "A🌑➡️🌕", "text": "A occurs during a symbolic rebirth." } + ] + } +] + + diff --git a/dictionary/context_emotion.json b/dictionary/context_emotion.json new file mode 100644 index 0000000000000000000000000000000000000000..721ec69fa4dd84d757e8dec780888caf89cd091f --- /dev/null +++ b/dictionary/context_emotion.json @@ -0,0 +1,649 @@ +[ + { + "id": "context.emotion.atmosphere.calm", + "glyph": "🍃😌", + "category": "emotion_context", + "primary": "calm atmosphere", + "synomic": [ + "peaceful", + "soothing", + "gentle tone", + "emotionally quiet" + ], + "roles": ["context", "emotion"], + "animation": "calm_drift", + "examples": [ + { "glyphs": "A🍃😌", "text": "A occurs in a calm, peaceful emotional environment." } + ] + }, + { + "id": "context.emotion.atmosphere.tense", + "glyph": "⚡😬", + "category": "emotion_context", + "primary": "tense atmosphere", + "synomic": [ + "tight", + "high pressure", + "uneasy", + "emotionally charged" + ], + "roles": ["context", "emotion"], + "animation": "tension_vibrate", + "examples": [ + { "glyphs": "A⚡😬", "text": "A occurs in a tense or pressured emotional environment." } + ] + }, + { + "id": "context.emotion.atmosphere.joyful", + "glyph": "✨😊", + "category": "emotion_context", + "primary": "joyful atmosphere", + "synomic": [ + "uplifting", + "positive tone", + "lighthearted", + "emotionally bright" + ], + "roles": ["context", "emotion"], + "animation": "joy_spark", + "examples": [ + { "glyphs": "A✨😊", "text": "A occurs in a joyful, uplifting environment." } + ] + }, + { + "id": "context.emotion.atmosphere.somber", + "glyph": "🌫️😔", + "category": "emotion_context", + "primary": "somber atmosphere", + "synomic": [ + "heavy", + "melancholic", + "quiet sadness", + "emotionally muted" + ], + "roles": ["context", "emotion"], + "animation": "somber_fade", + "examples": [ + { "glyphs": "A🌫️😔", "text": "A occurs in a somber or melancholic environment." } + ] + }, + { + "id": "context.emotion.atmosphere.ominous", + "glyph": "🌑⚠️", + "category": "emotion_context", + "primary": "ominous atmosphere", + "synomic": [ + "foreboding", + "threatening tone", + "dark mood", + "emotional danger" + ], + "roles": ["context", "emotion"], + "animation": "ominous_shadow", + "examples": [ + { "glyphs": "A🌑⚠️", "text": "A occurs in an ominous or threatening emotional environment." } + ] + }, + { + "id": "context.emotion.atmosphere.neutral", + "glyph": "⚪😐", + "category": "emotion_context", + "primary": "neutral atmosphere", + "synomic": [ + "emotionally flat", + "unbiased tone", + "no strong emotion", + "steady environment" + ], + "roles": ["context", "emotion"], + "animation": "neutral_still", + "examples": [ + { "glyphs": "A⚪😐", "text": "A occurs in an emotionally neutral environment." } + ] + }, + { + "id": "context.emotion.field.warm", + "glyph": "🔥😊", + "category": "emotion_context", + "primary": "warm emotional field", + "synomic": [ + "comforting", + "inviting", + "emotionally open", + "soft warmth" + ], + "roles": ["context", "emotion"], + "animation": "warm_field_glow", + "examples": [ + { "glyphs": "A🔥😊", "text": "A occurs in a warm, emotionally inviting environment." } + ] + }, + { + "id": "context.emotion.field.cold", + "glyph": "❄️😐", + "category": "emotion_context", + "primary": "cold emotional field", + "synomic": [ + "distant", + "unwelcoming", + "emotionally muted", + "detached tone" + ], + "roles": ["context", "emotion"], + "animation": "cold_field_fade", + "examples": [ + { "glyphs": "A❄️😐", "text": "A occurs in a cold or emotionally distant environment." } + ] + }, + { + "id": "context.emotion.field.supportive", + "glyph": "🤲💛", + "category": "emotion_context", + "primary": "supportive atmosphere", + "synomic": [ + "encouraging", + "uplifting", + "emotionally safe", + "nurturing tone" + ], + "roles": ["context", "emotion"], + "animation": "supportive_glow", + "examples": [ + { "glyphs": "A🤲💛", "text": "A occurs in a supportive emotional environment." } + ] + }, + { + "id": "context.emotion.field.hostile", + "glyph": "💢🌫️", + "category": "emotion_context", + "primary": "hostile atmosphere", + "synomic": [ + "aggressive tone", + "emotionally unsafe", + "sharp mood", + "conflict-charged" + ], + "roles": ["context", "emotion"], + "animation": "hostile_flash", + "examples": [ + { "glyphs": "A💢🌫️", "text": "A occurs in a hostile emotional environment." } + ] + }, + { + "id": "context.emotion.field.hopeful", + "glyph": "🌅✨", + "category": "emotion_context", + "primary": "hopeful atmosphere", + "synomic": [ + "uplifted expectation", + "positive anticipation", + "emotional brightness", + "renewal tone" + ], + "roles": ["context", "emotion"], + "animation": "hope_rise", + "examples": [ + { "glyphs": "A🌅✨", "text": "A occurs in a hopeful, forward-looking environment." } + ] + }, + { + "id": "context.emotion.field.heavy", + "glyph": "🌧️😞", + "category": "emotion_context", + "primary": "heavy emotional field", + "synomic": [ + "weighed down", + "emotionally dense", + "burdened tone", + "somber heaviness" + ], + "roles": ["context", "emotion"], + "animation": "heavy_drift", + "examples": [ + { "glyphs": "A🌧️😞", "text": "A occurs in a heavy, emotionally burdened environment." } + ] + }, + { + "id": "context.emotion.field.excited", + "glyph": "⚡😄", + "category": "emotion_context", + "primary": "excited atmosphere", + "synomic": [ + "energetic", + "charged with anticipation", + "emotionally lively", + "high vibration" + ], + "roles": ["context", "emotion"], + "animation": "excite_pulse", + "examples": [ + { "glyphs": "A⚡😄", "text": "A occurs in an excited, high-energy environment." } + ] + }, + { + "id": "context.emotion.field.unsettling", + "glyph": "🌀😨", + "category": "emotion_context", + "primary": "unsettling atmosphere", + "synomic": [ + "uneasy", + "emotionally unstable", + "disturbing tone", + "subtle fear" + ], + "roles": ["context", "emotion"], + "animation": "unsettle_wave", + "examples": [ + { "glyphs": "A🌀😨", "text": "A occurs in an unsettling or uneasy environment." } + ] + }, + { + "id": "context.emotion.collective.unified", + "glyph": "🤝💛", + "category": "emotion_context", + "primary": "unified mood", + "synomic": [ + "togetherness", + "shared harmony", + "collective alignment", + "group cohesion" + ], + "roles": ["context", "emotion"], + "animation": "unity_pulse", + "examples": [ + { "glyphs": "A🤝💛", "text": "A occurs in a unified, harmonious group mood." } + ] + }, + { + "id": "context.emotion.collective.divided", + "glyph": "↔️💢", + "category": "emotion_context", + "primary": "divided mood", + "synomic": [ + "split emotions", + "conflicting group feelings", + "polarized atmosphere", + "emotional fragmentation" + ], + "roles": ["context", "emotion"], + "animation": "divide_flash", + "examples": [ + { "glyphs": "A↔️💢", "text": "A occurs in a divided or polarized emotional environment." } + ] + }, + { + "id": "context.emotion.collective.celebratory", + "glyph": "🎉😄", + "category": "emotion_context", + "primary": "celebratory mood", + "synomic": [ + "festive", + "collective joy", + "shared excitement", + "group uplift" + ], + "roles": ["context", "emotion"], + "animation": "celebrate_spark", + "examples": [ + { "glyphs": "A🎉😄", "text": "A occurs in a celebratory group atmosphere." } + ] + }, + { + "id": "context.emotion.collective.anxious", + "glyph": "😰🌀", + "category": "emotion_context", + "primary": "collective anxiety", + "synomic": [ + "shared worry", + "group tension", + "collective unease", + "ambient fear" + ], + "roles": ["context", "emotion"], + "animation": "anxiety_wave", + "examples": [ + { "glyphs": "A😰🌀", "text": "A occurs in a collectively anxious environment." } + ] + }, + { + "id": "context.emotion.collective.mournful", + "glyph": "🕯️😢", + "category": "emotion_context", + "primary": "mournful atmosphere", + "synomic": [ + "shared grief", + "collective sadness", + "somber unity", + "group mourning" + ], + "roles": ["context", "emotion"], + "animation": "mourn_flicker", + "examples": [ + { "glyphs": "A🕯️😢", "text": "A occurs in a mournful, grieving group mood." } + ] + }, + { + "id": "context.emotion.collective.anticipatory", + "glyph": "⏳😯", + "category": "emotion_context", + "primary": "anticipatory mood", + "synomic": [ + "shared expectation", + "collective waiting", + "group suspense", + "charged anticipation" + ], + "roles": ["context", "emotion"], + "animation": "anticipation_pulse", + "examples": [ + { "glyphs": "A⏳😯", "text": "A occurs in a group atmosphere of anticipation." } + ] + }, + { + "id": "context.emotion.collective.confused", + "glyph": "❓😕", + "category": "emotion_context", + "primary": "collective confusion", + "synomic": [ + "shared uncertainty", + "group disorientation", + "mixed signals", + "emotional ambiguity" + ], + "roles": ["context", "emotion"], + "animation": "confusion_swirl", + "examples": [ + { "glyphs": "A❓😕", "text": "A occurs in a collectively confused environment." } + ] + }, + { + "id": "context.emotion.collective.resolute", + "glyph": "💪🔥", + "category": "emotion_context", + "primary": "resolute group mood", + "synomic": [ + "determined", + "collective resolve", + "shared purpose", + "unified strength" + ], + "roles": ["context", "emotion"], + "animation": "resolve_burn", + "examples": [ + { "glyphs": "A💪🔥", "text": "A occurs in a resolute, determined group atmosphere." } + ] + }, + { + "id": "context.emotion.symbolic.rebirth", + "glyph": "🌅🕊️", + "category": "emotion_context", + "primary": "rebirth atmosphere", + "synomic": [ + "renewal tone", + "fresh emotional beginning", + "emergence from darkness", + "hopeful transformation" + ], + "roles": ["context", "emotion"], + "animation": "rebirth_glow", + "examples": [ + { "glyphs": "A🌅🕊️", "text": "A occurs in an atmosphere of emotional rebirth." } + ] + }, + { + "id": "context.emotion.symbolic.fate", + "glyph": "🧿✨", + "category": "emotion_context", + "primary": "fateful atmosphere", + "synomic": [ + "destined feeling", + "inevitable tone", + "emotionally charged significance", + "moment of destiny" + ], + "roles": ["context", "emotion"], + "animation": "fate_pulse", + "examples": [ + { "glyphs": "A🧿✨", "text": "A occurs in a fateful or destined emotional environment." } + ] + }, + { + "id": "context.emotion.symbolic.shadow", + "glyph": "🌑🫥", + "category": "emotion_context", + "primary": "shadow atmosphere", + "synomic": [ + "hidden emotions", + "unspoken tension", + "emotional obscurity", + "suppressed truth" + ], + "roles": ["context", "emotion"], + "animation": "shadow_fade", + "examples": [ + { "glyphs": "A🌑🫥", "text": "A occurs in a shadowed emotional environment." } + ] + }, + { + "id": "context.emotion.archetype.heroic", + "glyph": "🔥🛡️", + "category": "emotion_context", + "primary": "heroic emotional field", + "synomic": [ + "courageous tone", + "rising strength", + "emotional bravery", + "noble resolve" + ], + "roles": ["context", "emotion"], + "animation": "heroic_flare", + "examples": [ + { "glyphs": "A🔥🛡️", "text": "A occurs in a heroic emotional atmosphere." } + ] + }, + { + "id": "context.emotion.archetype.tragic", + "glyph": "🎭💔", + "category": "emotion_context", + "primary": "tragic emotional field", + "synomic": [ + "inevitable sorrow", + "emotional downfall", + "heavy narrative sadness", + "fated grief" + ], + "roles": ["context", "emotion"], + "animation": "tragic_fall", + "examples": [ + { "glyphs": "A🎭💔", "text": "A occurs in a tragic emotional environment." } + ] + }, + { + "id": "context.emotion.archetype.mystic", + "glyph": "🔮🌫️", + "category": "emotion_context", + "primary": "mystic emotional field", + "synomic": [ + "otherworldly tone", + "enigmatic emotion", + "spiritual atmosphere", + "mysterious affect" + ], + "roles": ["context", "emotion"], + "animation": "mystic_glow", + "examples": [ + { "glyphs": "A🔮🌫️", "text": "A occurs in a mystic or spiritually charged emotional environment." } + ] + }, + { + "id": "context.emotion.mythic.creation", + "glyph": "🌌✨", + "category": "emotion_context", + "primary": "creation emotional field", + "synomic": [ + "beginning energy", + "emotional genesis", + "first spark feeling", + "origin atmosphere" + ], + "roles": ["context", "emotion"], + "animation": "creation_spark", + "examples": [ + { "glyphs": "A🌌✨", "text": "A occurs in an emotional field of creation or genesis." } + ] + }, + { + "id": "context.emotion.mythic.destruction", + "glyph": "🔥🌑", + "category": "emotion_context", + "primary": "destruction emotional field", + "synomic": [ + "ending tone", + "emotional collapse", + "dissolution atmosphere", + "finality" + ], + "roles": ["context", "emotion"], + "animation": "destruction_fade", + "examples": [ + { "glyphs": "A🔥🌑", "text": "A occurs in an emotional field of destruction or dissolution." } + ] + }, + { + "id": "context.emotion.mythic.cycle", + "glyph": "🔄🌕🌑", + "category": "emotion_context", + "primary": "cyclical emotional field", + "synomic": [ + "recurring emotional pattern", + "rise and fall tone", + "looped affect", + "emotional recurrence" + ], + "roles": ["context", "emotion"], + "animation": "cycle_spin", + "examples": [ + { "glyphs": "A🔄🌕🌑", "text": "A occurs within a cyclical emotional atmosphere." } + ] + }, + { + "id": "context.emotion.meta.stillness", + "glyph": "🕊️🌫️", + "category": "emotion_context", + "primary": "emotional stillness", + "synomic": [ + "quiet mind-field", + "emotionless calm", + "zero-disturbance state", + "deep inner silence" + ], + "roles": ["context", "emotion"], + "animation": "stillness_fade", + "examples": [ + { "glyphs": "A🕊️🌫️", "text": "A occurs in a field of emotional stillness." } + ] + }, + { + "id": "context.emotion.meta.void", + "glyph": "0️⃣🌑", + "category": "emotion_context", + "primary": "emotional void", + "synomic": [ + "absence of affect", + "null emotional field", + "emptiness", + "pre-emotion state" + ], + "roles": ["context", "emotion"], + "animation": "void_drift", + "examples": [ + { "glyphs": "A0️⃣🌑", "text": "A occurs in an emotional void or null field." } + ] + }, + { + "id": "context.emotion.existential.meaningful", + "glyph": "✨🧿", + "category": "emotion_context", + "primary": "meaningful atmosphere", + "synomic": [ + "emotionally significant", + "purpose-charged", + "deep resonance", + "felt importance" + ], + "roles": ["context", "emotion"], + "animation": "meaning_glow", + "examples": [ + { "glyphs": "A✨🧿", "text": "A occurs in a field of emotional meaning." } + ] + }, + { + "id": "context.emotion.existential.empty", + "glyph": "🌫️🕳️", + "category": "emotion_context", + "primary": "existential emptiness", + "synomic": [ + "hollow tone", + "lack of emotional grounding", + "disconnected field", + "meaning-drained atmosphere" + ], + "roles": ["context", "emotion"], + "animation": "emptiness_fade", + "examples": [ + { "glyphs": "A🌫️🕳️", "text": "A occurs in an atmosphere of existential emptiness." } + ] + }, + { + "id": "context.emotion.ultimate.unity", + "glyph": "1️⃣💫", + "category": "emotion_context", + "primary": "emotional unity", + "synomic": [ + "oneness of feeling", + "harmonic emotional field", + "complete integration", + "all-emotions-as-one" + ], + "roles": ["context", "emotion"], + "animation": "unity_glow", + "examples": [ + { "glyphs": "A1️⃣💫", "text": "A occurs in a unified emotional field." } + ] + }, + { + "id": "context.emotion.ultimate.dual_balance", + "glyph": "☯️💞", + "category": "emotion_context", + "primary": "balanced emotional duality", + "synomic": [ + "harmonized opposites", + "emotional equilibrium", + "paired affect in balance", + "dynamic emotional symmetry" + ], + "roles": ["context", "emotion"], + "animation": "dual_balance_pulse", + "examples": [ + { "glyphs": "A☯️💞", "text": "A occurs in a field of balanced emotional duality." } + ] + }, + { + "id": "context.emotion.ultimate.transcendent", + "glyph": "🌟♾️", + "category": "emotion_context", + "primary": "transcendent emotional field", + "synomic": [ + "beyond emotion", + "elevated affect", + "infinite emotional clarity", + "meta-emotional state" + ], + "roles": ["context", "emotion"], + "animation": "transcendence_glow", + "examples": [ + { "glyphs": "A🌟♾️", "text": "A occurs in a transcendent emotional environment." } + ] + } +] + diff --git a/dictionary/context_place.json b/dictionary/context_place.json new file mode 100644 index 0000000000000000000000000000000000000000..5337751f32800164900583c647e20301a03e6651 --- /dev/null +++ b/dictionary/context_place.json @@ -0,0 +1,720 @@ +[ + { + "id": "context.place.type.indoor", + "glyph": "🏠", + "category": "place", + "primary": "indoors", + "synomic": [ + "inside", + "enclosed space", + "sheltered", + "interior environment" + ], + "roles": ["context", "environment"], + "animation": "indoor_glow", + "examples": [ + { "glyphs": "A🏠", "text": "A occurs indoors." } + ] + }, + { + "id": "context.place.type.outdoor", + "glyph": "🌳", + "category": "place", + "primary": "outdoors", + "synomic": [ + "outside", + "open air", + "natural environment", + "exterior space" + ], + "roles": ["context", "environment"], + "animation": "outdoor_breeze", + "examples": [ + { "glyphs": "A🌳", "text": "A occurs outdoors." } + ] + }, + { + "id": "context.place.type.public", + "glyph": "🏛️", + "category": "place", + "primary": "public space", + "synomic": [ + "shared area", + "open to all", + "community space", + "public environment" + ], + "roles": ["context", "social"], + "animation": "public_pulse", + "examples": [ + { "glyphs": "A🏛️", "text": "A happens in a public setting." } + ] + }, + { + "id": "context.place.type.private", + "glyph": "🔒🏠", + "category": "place", + "primary": "private space", + "synomic": [ + "personal area", + "restricted access", + "intimate environment", + "private domain" + ], + "roles": ["context", "social"], + "animation": "private_fade", + "examples": [ + { "glyphs": "A🔒🏠", "text": "A occurs in a private setting." } + ] + }, + { + "id": "context.place.type.natural", + "glyph": "🌿", + "category": "place", + "primary": "natural environment", + "synomic": [ + "nature", + "organic surroundings", + "wild", + "non‑artificial" + ], + "roles": ["context", "environment"], + "animation": "nature_drift", + "examples": [ + { "glyphs": "A🌿", "text": "A occurs in a natural setting." } + ] + }, + { + "id": "context.place.type.artificial", + "glyph": "🏗️", + "category": "place", + "primary": "artificial environment", + "synomic": [ + "man‑made", + "constructed", + "built environment", + "synthetic space" + ], + "roles": ["context", "environment"], + "animation": "structure_rise", + "examples": [ + { "glyphs": "A🏗️", "text": "A occurs in a constructed environment." } + ] + }, + { + "id": "context.place.type.safe", + "glyph": "🛡️", + "category": "place", + "primary": "safe place", + "synomic": [ + "secure", + "protected", + "low risk", + "comfort zone" + ], + "roles": ["context", "emotional"], + "animation": "shield_glow", + "examples": [ + { "glyphs": "A🛡️", "text": "A happens in a safe environment." } + ] + }, + { + "id": "context.place.type.dangerous", + "glyph": "⚠️", + "category": "place", + "primary": "dangerous place", + "synomic": [ + "hazardous", + "risky", + "unsafe", + "threatening environment" + ], + "roles": ["context", "emotional"], + "animation": "danger_flash", + "examples": [ + { "glyphs": "A⚠️", "text": "A occurs in a dangerous environment." } + ] + }, + { + "id": "context.place.quality.crowded", + "glyph": "👥👥", + "category": "place", + "primary": "crowded", + "synomic": [ + "busy", + "full of people", + "dense", + "high activity" + ], + "roles": ["context", "quality"], + "animation": "crowd_pulse", + "examples": [ + { "glyphs": "A👥👥", "text": "A occurs in a crowded environment." } + ] + }, + { + "id": "context.place.quality.empty", + "glyph": "⚪🏞️", + "category": "place", + "primary": "empty", + "synomic": [ + "vacant", + "unoccupied", + "quiet", + "no people present" + ], + "roles": ["context", "quality"], + "animation": "empty_fade", + "examples": [ + { "glyphs": "A⚪🏞️", "text": "A occurs in an empty space." } + ] + }, + { + "id": "context.place.quality.cozy", + "glyph": "🕯️🏡", + "category": "place", + "primary": "cozy", + "synomic": [ + "warm", + "comfortable", + "inviting", + "soft atmosphere" + ], + "roles": ["context", "quality"], + "animation": "warm_glow", + "examples": [ + { "glyphs": "A🕯️🏡", "text": "A happens in a cozy, comforting space." } + ] + }, + { + "id": "context.place.quality.harsh", + "glyph": "🌬️🪨", + "category": "place", + "primary": "harsh environment", + "synomic": [ + "unforgiving", + "rough", + "severe conditions", + "difficult terrain" + ], + "roles": ["context", "quality"], + "animation": "harsh_wind", + "examples": [ + { "glyphs": "A🌬️🪨", "text": "A occurs in a harsh environment." } + ] + }, + { + "id": "context.place.atmosphere.bright", + "glyph": "✨🌞", + "category": "place", + "primary": "bright atmosphere", + "synomic": [ + "well-lit", + "radiant", + "clear", + "open feeling" + ], + "roles": ["context", "atmosphere"], + "animation": "light_shimmer", + "examples": [ + { "glyphs": "A✨🌞", "text": "A happens in a bright environment." } + ] + }, + { + "id": "context.place.atmosphere.dim", + "glyph": "🌑🕯️", + "category": "place", + "primary": "dim atmosphere", + "synomic": [ + "low light", + "shadowed", + "subdued", + "quiet lighting" + ], + "roles": ["context", "atmosphere"], + "animation": "dim_flicker", + "examples": [ + { "glyphs": "A🌑🕯️", "text": "A occurs in a dimly lit space." } + ] + }, + { + "id": "context.place.atmosphere.noisy", + "glyph": "🔊🏙️", + "category": "place", + "primary": "noisy", + "synomic": [ + "loud", + "chaotic sound", + "busy audio environment", + "high noise level" + ], + "roles": ["context", "atmosphere"], + "animation": "noise_vibrate", + "examples": [ + { "glyphs": "A🔊🏙️", "text": "A happens in a noisy environment." } + ] + }, + { + "id": "context.place.atmosphere.quiet", + "glyph": "🤫🌲", + "category": "place", + "primary": "quiet", + "synomic": [ + "silent", + "peaceful", + "low noise", + "calm atmosphere" + ], + "roles": ["context", "atmosphere"], + "animation": "quiet_drift", + "examples": [ + { "glyphs": "A🤫🌲", "text": "A occurs in a quiet environment." } + ] + }, + { + "id": "context.place.structure.open", + "glyph": "⬜🌤️", + "category": "place", + "primary": "open space", + "synomic": [ + "wide", + "unrestricted", + "spacious", + "expansive" + ], + "roles": ["context", "structure"], + "animation": "expand_outward", + "examples": [ + { "glyphs": "A⬜🌤️", "text": "A occurs in an open, spacious area." } + ] + }, + { + "id": "context.place.structure.enclosed", + "glyph": "⬛🏠", + "category": "place", + "primary": "enclosed space", + "synomic": [ + "tight", + "contained", + "restricted", + "closed-in" + ], + "roles": ["context", "structure"], + "animation": "close_inward", + "examples": [ + { "glyphs": "A⬛🏠", "text": "A occurs in an enclosed or confined area." } + ] + }, + { + "id": "context.place.structure.structured", + "glyph": "📐🏢", + "category": "place", + "primary": "structured environment", + "synomic": [ + "organized", + "planned layout", + "geometric", + "orderly" + ], + "roles": ["context", "structure"], + "animation": "grid_snap", + "examples": [ + { "glyphs": "A📐🏢", "text": "A occurs in a structured, organized space." } + ] + }, + { + "id": "context.place.structure.chaotic", + "glyph": "🌪️🏚️", + "category": "place", + "primary": "chaotic environment", + "synomic": [ + "disordered", + "random layout", + "messy", + "unpredictable" + ], + "roles": ["context", "structure"], + "animation": "chaos_swirl", + "examples": [ + { "glyphs": "A🌪️🏚️", "text": "A occurs in a chaotic, disorganized space." } + ] + }, + { + "id": "context.place.layout.vertical", + "glyph": "⬆️🏙️", + "category": "place", + "primary": "vertical layout", + "synomic": [ + "tall structures", + "multi-level", + "height-oriented", + "stacked" + ], + "roles": ["context", "layout"], + "animation": "rise_upward", + "examples": [ + { "glyphs": "A⬆️🏙️", "text": "A occurs in a vertically oriented environment." } + ] + }, + { + "id": "context.place.layout.horizontal", + "glyph": "➡️🏞️", + "category": "place", + "primary": "horizontal layout", + "synomic": [ + "wide spread", + "flat", + "expansive", + "side-to-side orientation" + ], + "roles": ["context", "layout"], + "animation": "flow_horizontal", + "examples": [ + { "glyphs": "A➡️🏞️", "text": "A occurs in a horizontally oriented environment." } + ] + }, + { + "id": "context.place.form.natural_form", + "glyph": "🪨🌲", + "category": "place", + "primary": "natural form", + "synomic": [ + "organic shapes", + "irregular", + "non-linear", + "nature-formed" + ], + "roles": ["context", "form"], + "animation": "organic_drift", + "examples": [ + { "glyphs": "A🪨🌲", "text": "A occurs in a naturally formed environment." } + ] + }, + { + "id": "context.place.form.geometric_form", + "glyph": "🔷🏛️", + "category": "place", + "primary": "geometric form", + "synomic": [ + "angular", + "symmetrical", + "designed shapes", + "man-made geometry" + ], + "roles": ["context", "form"], + "animation": "shape_snap", + "examples": [ + { "glyphs": "A🔷🏛️", "text": "A occurs in a geometric, designed environment." } + ] + }, + { + "id": "context.place.symbolic.threshold", + "glyph": "🚪✨", + "category": "place", + "primary": "threshold", + "synomic": [ + "gateway", + "transition point", + "liminal space", + "crossing moment" + ], + "roles": ["context", "symbolic"], + "animation": "threshold_glow", + "examples": [ + { "glyphs": "A🚪✨", "text": "A occurs at a symbolic threshold." } + ] + }, + { + "id": "context.place.symbolic.center", + "glyph": "🎯", + "category": "place", + "primary": "center", + "synomic": [ + "core", + "heart of the space", + "focal point", + "central position" + ], + "roles": ["context", "symbolic"], + "animation": "center_pulse", + "examples": [ + { "glyphs": "A🎯", "text": "A is happening at the center of things." } + ] + }, + { + "id": "context.place.symbolic.edge", + "glyph": "🧭➡️", + "category": "place", + "primary": "edge / boundary", + "synomic": [ + "border", + "outer limit", + "periphery", + "fringe" + ], + "roles": ["context", "symbolic"], + "animation": "edge_fade", + "examples": [ + { "glyphs": "A🧭➡️", "text": "A occurs at the edge or boundary." } + ] + }, + { + "id": "context.place.archetype.sacred", + "glyph": "⛩️✨", + "category": "place", + "primary": "sacred place", + "synomic": [ + "holy", + "ritual space", + "spiritually charged", + "reverent environment" + ], + "roles": ["context", "archetype"], + "animation": "sacred_glow", + "examples": [ + { "glyphs": "A⛩️✨", "text": "A occurs in a sacred environment." } + ] + }, + { + "id": "context.place.archetype.forgotten", + "glyph": "🏚️🌫️", + "category": "place", + "primary": "forgotten place", + "synomic": [ + "abandoned", + "lost", + "neglected", + "memory-faded" + ], + "roles": ["context", "archetype"], + "animation": "dust_fall", + "examples": [ + { "glyphs": "A🏚️🌫️", "text": "A occurs in a forgotten or abandoned place." } + ] + }, + { + "id": "context.place.archetype.crossroads", + "glyph": "➕🛣️", + "category": "place", + "primary": "crossroads", + "synomic": [ + "decision point", + "multiple paths", + "choice moment", + "intersection" + ], + "roles": ["context", "archetype"], + "animation": "crossroads_shift", + "examples": [ + { "glyphs": "A➕🛣️", "text": "A occurs at a crossroads or decision point." } + ] + }, + { + "id": "context.place.meta.void", + "glyph": "⬛🌌", + "category": "place", + "primary": "void", + "synomic": [ + "empty space", + "non-place", + "absence", + "null environment" + ], + "roles": ["context", "meta"], + "animation": "void_fade", + "examples": [ + { "glyphs": "A⬛🌌", "text": "A exists in a void-like environment." } + ] + }, + { + "id": "context.place.meta.origin", + "glyph": "✨🔰", + "category": "place", + "primary": "origin place", + "synomic": [ + "beginning", + "source", + "birth point", + "foundational location" + ], + "roles": ["context", "meta"], + "animation": "origin_spark", + "examples": [ + { "glyphs": "✨🔰A", "text": "A emerges from an origin place." } + ] + }, + { + "id": "context.place.meta.realm_shift", + "glyph": "🌀➡️🌌", + "category": "place", + "primary": "realm shift", + "synomic": [ + "transition between worlds", + "dimensional crossing", + "shift in reality", + "meta-spatial change" + ], + "roles": ["context", "meta"], + "animation": "realm_shift", + "examples": [ + { "glyphs": "A🌀➡️🌌", "text": "A occurs during a realm transition." } + ] + }, + { + "id": "context.place.state.calm", + "glyph": "🌿🍃", + "category": "place", + "primary": "calm environment", + "synomic": [ + "peaceful", + "gentle", + "soothing", + "low tension" + ], + "roles": ["context", "state"], + "animation": "calm_drift", + "examples": [ + { "glyphs": "A🌿🍃", "text": "A occurs in a calm, peaceful environment." } + ] + }, + { + "id": "context.place.state.tense", + "glyph": "⚡🏚️", + "category": "place", + "primary": "tense environment", + "synomic": [ + "high pressure", + "stressful", + "charged atmosphere", + "uneasy" + ], + "roles": ["context", "state"], + "animation": "tense_vibrate", + "examples": [ + { "glyphs": "A⚡🏚️", "text": "A occurs in a tense or stressful environment." } + ] + }, + { + "id": "context.place.state.warm", + "glyph": "🔥🏡", + "category": "place", + "primary": "warm environment", + "synomic": [ + "comforting", + "heated", + "inviting warmth", + "energetic warmth" + ], + "roles": ["context", "state"], + "animation": "warm_glow", + "examples": [ + { "glyphs": "A🔥🏡", "text": "A occurs in a warm, inviting environment." } + ] + }, + { + "id": "context.place.state.cold", + "glyph": "❄️🏔️", + "category": "place", + "primary": "cold environment", + "synomic": [ + "chilly", + "emotionally distant", + "physically cold", + "frozen atmosphere" + ], + "roles": ["context", "state"], + "animation": "cold_fade", + "examples": [ + { "glyphs": "A❄️🏔️", "text": "A occurs in a cold or distant environment." } + ] + }, + { + "id": "context.place.emotional.welcoming", + "glyph": "🤗🏡", + "category": "place", + "primary": "welcoming environment", + "synomic": [ + "friendly", + "inviting", + "open-hearted", + "safe to enter" + ], + "roles": ["context", "emotional"], + "animation": "welcome_glow", + "examples": [ + { "glyphs": "A🤗🏡", "text": "A occurs in a welcoming, friendly place." } + ] + }, + { + "id": "context.place.emotional.hostile", + "glyph": "💢🏚️", + "category": "place", + "primary": "hostile environment", + "synomic": [ + "unfriendly", + "aggressive", + "dangerous tone", + "emotionally unsafe" + ], + "roles": ["context", "emotional"], + "animation": "hostile_flash", + "examples": [ + { "glyphs": "A💢🏚️", "text": "A occurs in a hostile or unfriendly place." } + ] + }, + { + "id": "context.place.meta.memory_place", + "glyph": "🧠🏞️", + "category": "place", + "primary": "memory place", + "synomic": [ + "remembered location", + "internal landscape", + "mental space", + "reconstructed environment" + ], + "roles": ["context", "meta"], + "animation": "memory_fade", + "examples": [ + { "glyphs": "A🧠🏞️", "text": "A occurs in a remembered or internal place." } + ] + }, + { + "id": "context.place.meta.dream_place", + "glyph": "💤🌌", + "category": "place", + "primary": "dream environment", + "synomic": [ + "surreal", + "symbolic", + "non-physical", + "dreamlike space" + ], + "roles": ["context", "meta"], + "animation": "dream_wave", + "examples": [ + { "glyphs": "A💤🌌", "text": "A occurs in a dreamlike or surreal place." } + ] + }, + { + "id": "context.place.meta.transition_space", + "glyph": "🌀🚪🌫️", + "category": "place", + "primary": "transition space", + "synomic": [ + "in-between", + "liminal zone", + "shift environment", + "space of becoming" + ], + "roles": ["context", "meta"], + "animation": "transition_mist", + "examples": [ + { "glyphs": "A🌀🚪🌫️", "text": "A occurs in a transitional, in-between space." } + ] + } +] + + + + diff --git a/dictionary/context_sensory.json b/dictionary/context_sensory.json new file mode 100644 index 0000000000000000000000000000000000000000..31160ebbbf1bacd566472dd36ab5b5d6fa87c972 --- /dev/null +++ b/dictionary/context_sensory.json @@ -0,0 +1,632 @@ +[ + { + "id": "context.sensory.atmosphere.quiet", + "glyph": "🤫🌫️", + "category": "sensory_context", + "primary": "quiet atmosphere", + "synomic": [ + "low sound", + "hushed environment", + "soft auditory field", + "near-silence" + ], + "roles": ["context", "sensory"], + "animation": "quiet_fade", + "examples": [ + { "glyphs": "A🤫🌫️", "text": "A occurs in a quiet, hushed sensory environment." } + ] + }, + { + "id": "context.sensory.atmosphere.loud", + "glyph": "🔊⚡", + "category": "sensory_context", + "primary": "loud atmosphere", + "synomic": [ + "high volume", + "intense sound", + "auditory overload", + "noisy environment" + ], + "roles": ["context", "sensory"], + "animation": "loud_pulse", + "examples": [ + { "glyphs": "A🔊⚡", "text": "A occurs in a loud or noisy environment." } + ] + }, + { + "id": "context.sensory.atmosphere.bright", + "glyph": "🌞✨", + "category": "sensory_context", + "primary": "bright atmosphere", + "synomic": [ + "high light", + "visual clarity", + "illuminated environment", + "strong brightness" + ], + "roles": ["context", "sensory"], + "animation": "bright_glow", + "examples": [ + { "glyphs": "A🌞✨", "text": "A occurs in a bright, well-lit environment." } + ] + }, + { + "id": "context.sensory.atmosphere.dim", + "glyph": "🌙🌫️", + "category": "sensory_context", + "primary": "dim atmosphere", + "synomic": [ + "low light", + "shadowed environment", + "soft visibility", + "subdued lighting" + ], + "roles": ["context", "sensory"], + "animation": "dim_fade", + "examples": [ + { "glyphs": "A🌙🌫️", "text": "A occurs in a dim or low-light environment." } + ] + }, + { + "id": "context.sensory.atmosphere.clean", + "glyph": "✨🫧", + "category": "sensory_context", + "primary": "clean sensory field", + "synomic": [ + "crisp air", + "fresh environment", + "uncluttered sensory input", + "pure atmosphere" + ], + "roles": ["context", "sensory"], + "animation": "clean_spark", + "examples": [ + { "glyphs": "A✨🫧", "text": "A occurs in a clean, fresh sensory environment." } + ] + }, + { + "id": "context.sensory.atmosphere.cluttered", + "glyph": "🌀📦", + "category": "sensory_context", + "primary": "cluttered sensory field", + "synomic": [ + "busy environment", + "overloaded senses", + "visual or auditory clutter", + "chaotic sensory input" + ], + "roles": ["context", "sensory"], + "animation": "clutter_swirl", + "examples": [ + { "glyphs": "A🌀📦", "text": "A occurs in a cluttered or chaotic sensory environment." } + ] + }, + { + "id": "context.sensory.quality.soft", + "glyph": "🪶✨", + "category": "sensory_context", + "primary": "soft sensory field", + "synomic": [ + "gentle textures", + "smooth sensory input", + "low harshness", + "featherlike tone" + ], + "roles": ["context", "sensory"], + "animation": "soft_drift", + "examples": [ + { "glyphs": "A🪶✨", "text": "A occurs in a soft, gentle sensory environment." } + ] + }, + { + "id": "context.sensory.quality.harsh", + "glyph": "⚡🪨", + "category": "sensory_context", + "primary": "harsh sensory field", + "synomic": [ + "sharp textures", + "abrasive input", + "high sensory impact", + "rough tone" + ], + "roles": ["context", "sensory"], + "animation": "harsh_flash", + "examples": [ + { "glyphs": "A⚡🪨", "text": "A occurs in a harsh or abrasive sensory environment." } + ] + }, + { + "id": "context.sensory.quality.warm", + "glyph": "🔥🌤️", + "category": "sensory_context", + "primary": "warm sensory tone", + "synomic": [ + "heat presence", + "cozy temperature", + "warmth in the air", + "comforting heat" + ], + "roles": ["context", "sensory"], + "animation": "warm_glow", + "examples": [ + { "glyphs": "A🔥🌤️", "text": "A occurs in a warm sensory environment." } + ] + }, + { + "id": "context.sensory.quality.cool", + "glyph": "❄️🌬️", + "category": "sensory_context", + "primary": "cool sensory tone", + "synomic": [ + "chill in the air", + "refreshing coolness", + "lower temperature", + "crisp sensation" + ], + "roles": ["context", "sensory"], + "animation": "cool_wave", + "examples": [ + { "glyphs": "A❄️🌬️", "text": "A occurs in a cool or crisp sensory environment." } + ] + }, + { + "id": "context.sensory.quality.smooth", + "glyph": "🫧✨", + "category": "sensory_context", + "primary": "smooth sensory texture", + "synomic": [ + "even surfaces", + "fluid sensory flow", + "non-disruptive input", + "polished tone" + ], + "roles": ["context", "sensory"], + "animation": "smooth_glide", + "examples": [ + { "glyphs": "A🫧✨", "text": "A occurs in a smooth, polished sensory environment." } + ] + }, + { + "id": "context.sensory.quality.gritty", + "glyph": "🌑🪨", + "category": "sensory_context", + "primary": "gritty sensory texture", + "synomic": [ + "rough surfaces", + "grainy input", + "textured environment", + "coarse tone" + ], + "roles": ["context", "sensory"], + "animation": "gritty_shift", + "examples": [ + { "glyphs": "A🌑🪨", "text": "A occurs in a gritty, textured sensory environment." } + ] + }, + { + "id": "context.sensory.quality.fresh", + "glyph": "🌿💨", + "category": "sensory_context", + "primary": "fresh sensory field", + "synomic": [ + "clean air", + "renewing sensation", + "crisp freshness", + "revitalizing tone" + ], + "roles": ["context", "sensory"], + "animation": "fresh_breeze", + "examples": [ + { "glyphs": "A🌿💨", "text": "A occurs in a fresh, renewing sensory environment." } + ] + }, + { + "id": "context.sensory.quality.stale", + "glyph": "🫙🌫️", + "category": "sensory_context", + "primary": "stale sensory field", + "synomic": [ + "old air", + "lack of movement", + "flat sensory tone", + "unrefreshed environment" + ], + "roles": ["context", "sensory"], + "animation": "stale_still", + "examples": [ + { "glyphs": "A🫙🌫️", "text": "A occurs in a stale or unmoving sensory environment." } + ] + }, + { + "id": "context.sensory.overlay.vibrant", + "glyph": "🌈⚡", + "category": "sensory_context", + "primary": "vibrant sensory overlay", + "synomic": [ + "high stimulation", + "rich sensory detail", + "multi-sense intensity", + "colorful environment" + ], + "roles": ["context", "sensory"], + "animation": "vibrant_pulse", + "examples": [ + { "glyphs": "A🌈⚡", "text": "A occurs in a vibrant, highly stimulating sensory field." } + ] + }, + { + "id": "context.sensory.overlay.muted", + "glyph": "🌫️🔇", + "category": "sensory_context", + "primary": "muted sensory overlay", + "synomic": [ + "reduced stimulation", + "softened senses", + "low-detail environment", + "dampened sensory input" + ], + "roles": ["context", "sensory"], + "animation": "muted_fade", + "examples": [ + { "glyphs": "A🌫️🔇", "text": "A occurs in a muted, low-stimulation sensory field." } + ] + }, + { + "id": "context.sensory.stimulus.motion", + "glyph": "💨👁️", + "category": "sensory_context", + "primary": "motion-heavy environment", + "synomic": [ + "lots of movement", + "dynamic visuals", + "constant shifting", + "kinetic sensory field" + ], + "roles": ["context", "sensory"], + "animation": "motion_blur", + "examples": [ + { "glyphs": "A💨👁️", "text": "A occurs in an environment full of motion and shifting visuals." } + ] + }, + { + "id": "context.sensory.stimulus.still", + "glyph": "🧘🌫️", + "category": "sensory_context", + "primary": "still sensory field", + "synomic": [ + "no movement", + "static visuals", + "stable environment", + "motionless field" + ], + "roles": ["context", "sensory"], + "animation": "stillness_glow", + "examples": [ + { "glyphs": "A🧘🌫️", "text": "A occurs in a still, motionless sensory environment." } + ] + }, + { + "id": "context.sensory.stimulus.fragrant", + "glyph": "🌸💨", + "category": "sensory_context", + "primary": "fragrant environment", + "synomic": [ + "pleasant scent", + "aromatic air", + "noticeable fragrance", + "scent-rich field" + ], + "roles": ["context", "sensory"], + "animation": "fragrance_wave", + "examples": [ + { "glyphs": "A🌸💨", "text": "A occurs in a fragrant, scent-rich environment." } + ] + }, + { + "id": "context.sensory.stimulus.pungent", + "glyph": "🧅⚠️", + "category": "sensory_context", + "primary": "pungent environment", + "synomic": [ + "strong odor", + "sharp scent", + "overpowering smell", + "intense olfactory input" + ], + "roles": ["context", "sensory"], + "animation": "pungent_flash", + "examples": [ + { "glyphs": "A🧅⚠️", "text": "A occurs in a pungent or overpowering-smell environment." } + ] + }, + { + "id": "context.sensory.multisense.rich", + "glyph": "👁️👂👃✨", + "category": "sensory_context", + "primary": "rich multi-sensory field", + "synomic": [ + "layered sensory input", + "many senses engaged", + "complex environment", + "high-detail perception" + ], + "roles": ["context", "sensory"], + "animation": "multisense_glow", + "examples": [ + { "glyphs": "A👁️👂👃✨", "text": "A occurs in a rich, multi-sensory environment." } + ] + }, + { + "id": "context.sensory.multisense.minimal", + "glyph": "⚪👁️", + "category": "sensory_context", + "primary": "minimal sensory field", + "synomic": [ + "few sensory cues", + "simple environment", + "low detail", + "reduced sensory load" + ], + "roles": ["context", "sensory"], + "animation": "minimal_fade", + "examples": [ + { "glyphs": "A⚪👁️", "text": "A occurs in a minimal, low-detail sensory environment." } + ] + }, + { + "id": "context.sensory.symbolic.pure", + "glyph": "✨⚪", + "category": "sensory_context", + "primary": "pure sensory field", + "synomic": [ + "uncontaminated perception", + "clarity of senses", + "symbolic purity", + "undefiled atmosphere" + ], + "roles": ["context", "sensory"], + "animation": "pure_glow", + "examples": [ + { "glyphs": "A✨⚪", "text": "A occurs in a symbolically pure sensory environment." } + ] + }, + { + "id": "context.sensory.symbolic.shadowed", + "glyph": "🌑👁️", + "category": "sensory_context", + "primary": "shadowed sensory field", + "synomic": [ + "hidden details", + "obscured perception", + "mysterious sensory tone", + "symbolic concealment" + ], + "roles": ["context", "sensory"], + "animation": "shadowed_fade", + "examples": [ + { "glyphs": "A🌑👁️", "text": "A occurs in a shadowed, symbolically obscured sensory environment." } + ] + }, + { + "id": "context.sensory.archetype.revealing", + "glyph": "🔍✨", + "category": "sensory_context", + "primary": "revealing sensory field", + "synomic": [ + "truth emerging", + "clarity rising", + "hidden details surfacing", + "archetypal revelation" + ], + "roles": ["context", "sensory"], + "animation": "reveal_spark", + "examples": [ + { "glyphs": "A🔍✨", "text": "A occurs in a sensory field of revelation or unveiling." } + ] + }, + { + "id": "context.sensory.archetype.veiled", + "glyph": "🕸️🌫️", + "category": "sensory_context", + "primary": "veiled sensory field", + "synomic": [ + "partially hidden", + "layered perception", + "symbolic obscurity", + "archetypal veil" + ], + "roles": ["context", "sensory"], + "animation": "veil_wave", + "examples": [ + { "glyphs": "A🕸️🌫️", "text": "A occurs in a veiled or partially hidden sensory environment." } + ] + }, + { + "id": "context.sensory.mythic.creation", + "glyph": "🌌🔊", + "category": "sensory_context", + "primary": "creation sensory field", + "synomic": [ + "first-sound atmosphere", + "origin vibration", + "primordial sensory spark", + "mythic beginning" + ], + "roles": ["context", "sensory"], + "animation": "creation_resonance", + "examples": [ + { "glyphs": "A🌌🔊", "text": "A occurs in a mythic sensory field of creation." } + ] + }, + { + "id": "context.sensory.mythic.dissolution", + "glyph": "🔥🌫️", + "category": "sensory_context", + "primary": "dissolution sensory field", + "synomic": [ + "fading perception", + "end-of-form sensation", + "breaking apart", + "mythic dissolution" + ], + "roles": ["context", "sensory"], + "animation": "dissolve_fade", + "examples": [ + { "glyphs": "A🔥🌫️", "text": "A occurs in a sensory field of dissolution or ending." } + ] + }, + { + "id": "context.sensory.mythic.cycle", + "glyph": "🔄👁️🌕", + "category": "sensory_context", + "primary": "cyclical sensory field", + "synomic": [ + "recurring sensory pattern", + "rise and fall of perception", + "looped sensory rhythm", + "mythic recurrence" + ], + "roles": ["context", "sensory"], + "animation": "cycle_resonate", + "examples": [ + { "glyphs": "A🔄👁️🌕", "text": "A occurs in a cyclical, mythic sensory environment." } + ] + }, + { + "id": "context.sensory.symbolic.threshold", + "glyph": "🚪✨👁️", + "category": "sensory_context", + "primary": "threshold sensory field", + "synomic": [ + "liminal perception", + "crossing point", + "shift in sensory reality", + "symbolic gateway" + ], + "roles": ["context", "sensory"], + "animation": "threshold_glow", + "examples": [ + { "glyphs": "A🚪✨👁️", "text": "A occurs in a sensory threshold or liminal environment." } + ] + }, + { + "id": "context.sensory.meta.silence_total", + "glyph": "🔇♾️", + "category": "sensory_context", + "primary": "total sensory silence", + "synomic": [ + "absolute quiet", + "pre-sense state", + "zero-input field", + "perceptual void" + ], + "roles": ["context", "sensory"], + "animation": "silence_fade", + "examples": [ + { "glyphs": "A🔇♾️", "text": "A occurs in a field of total sensory silence." } + ] + }, + { + "id": "context.sensory.meta.overload", + "glyph": "⚡👁️👂🔥", + "category": "sensory_context", + "primary": "sensory overload", + "synomic": [ + "too much input", + "overwhelming perception", + "hyper-stimulation", + "flooded senses" + ], + "roles": ["context", "sensory"], + "animation": "overload_flash", + "examples": [ + { "glyphs": "A⚡👁️👂🔥", "text": "A occurs in a field of sensory overload." } + ] + }, + { + "id": "context.sensory.existential.presence", + "glyph": "👁️✨", + "category": "sensory_context", + "primary": "heightened presence", + "synomic": [ + "hyper-awareness", + "deep perceptual clarity", + "fully-attuned senses", + "existential presence" + ], + "roles": ["context", "sensory"], + "animation": "presence_glow", + "examples": [ + { "glyphs": "A👁️✨", "text": "A occurs in a field of heightened perceptual presence." } + ] + }, + { + "id": "context.sensory.existential.disconnection", + "glyph": "🌫️👤", + "category": "sensory_context", + "primary": "sensory disconnection", + "synomic": [ + "detached perception", + "reduced awareness", + "distant sensing", + "existential drift" + ], + "roles": ["context", "sensory"], + "animation": "disconnect_fade", + "examples": [ + { "glyphs": "A🌫️👤", "text": "A occurs in a field of sensory disconnection." } + ] + }, + { + "id": "context.sensory.ultimate.unity", + "glyph": "1️⃣👁️", + "category": "sensory_context", + "primary": "unified perception", + "synomic": [ + "all senses as one", + "integrated perception", + "holistic sensory field", + "total coherence" + ], + "roles": ["context", "sensory"], + "animation": "unity_resonate", + "examples": [ + { "glyphs": "A1️⃣👁️", "text": "A occurs in a unified perceptual field." } + ] + }, + { + "id": "context.sensory.ultimate.dual_balance", + "glyph": "☯️👁️👂", + "category": "sensory_context", + "primary": "balanced dual perception", + "synomic": [ + "paired sensory harmony", + "yin-yang perception", + "dual sensory equilibrium", + "balanced sensory forces" + ], + "roles": ["context", "sensory"], + "animation": "dual_balance_pulse", + "examples": [ + { "glyphs": "A☯️👁️👂", "text": "A occurs in a field of balanced dual perception." } + ] + }, + { + "id": "context.sensory.ultimate.transcendent", + "glyph": "🌟👁️♾️", + "category": "sensory_context", + "primary": "transcendent sensory field", + "synomic": [ + "beyond normal perception", + "meta-sensory clarity", + "infinite perceptual expansion", + "ultimate sensory state" + ], + "roles": ["context", "sensory"], + "animation": "transcendent_glow", + "examples": [ + { "glyphs": "A🌟👁️♾️", "text": "A occurs in a transcendent sensory environment." } + ] + } +] + diff --git a/dictionary/context_social.json b/dictionary/context_social.json new file mode 100644 index 0000000000000000000000000000000000000000..dde9f4be9041b7fead1eac0d8c09c8c1f7fe9672 --- /dev/null +++ b/dictionary/context_social.json @@ -0,0 +1,632 @@ +[ + { + "id": "context.social.atmosphere.welcoming", + "glyph": "🤗✨", + "category": "social_context", + "primary": "welcoming atmosphere", + "synomic": [ + "open", + "friendly", + "inviting", + "socially warm" + ], + "roles": ["context", "social"], + "animation": "welcome_glow", + "examples": [ + { "glyphs": "A🤗✨", "text": "A occurs in a welcoming, friendly social environment." } + ] + }, + { + "id": "context.social.atmosphere.closed", + "glyph": "🚪❌", + "category": "social_context", + "primary": "closed atmosphere", + "synomic": [ + "uninviting", + "socially distant", + "exclusive", + "hard to enter" + ], + "roles": ["context", "social"], + "animation": "closed_fade", + "examples": [ + { "glyphs": "A🚪❌", "text": "A occurs in a closed or unwelcoming social environment." } + ] + }, + { + "id": "context.social.atmosphere.cordial", + "glyph": "🙂🤝", + "category": "social_context", + "primary": "cordial atmosphere", + "synomic": [ + "polite", + "respectful", + "pleasant", + "socially smooth" + ], + "roles": ["context", "social"], + "animation": "cordial_flow", + "examples": [ + { "glyphs": "A🙂🤝", "text": "A occurs in a polite, cordial social environment." } + ] + }, + { + "id": "context.social.atmosphere.hostile", + "glyph": "💢⚔️", + "category": "social_context", + "primary": "hostile atmosphere", + "synomic": [ + "aggressive", + "conflict-prone", + "socially unsafe", + "tense interactions" + ], + "roles": ["context", "social"], + "animation": "hostile_flash", + "examples": [ + { "glyphs": "A💢⚔️", "text": "A occurs in a hostile or conflict-heavy social environment." } + ] + }, + { + "id": "context.social.atmosphere.neutral", + "glyph": "⚪🧍🧍", + "category": "social_context", + "primary": "neutral atmosphere", + "synomic": [ + "no strong social tone", + "balanced interactions", + "emotionally even", + "socially steady" + ], + "roles": ["context", "social"], + "animation": "neutral_still", + "examples": [ + { "glyphs": "A⚪🧍🧍", "text": "A occurs in a socially neutral environment." } + ] + }, + { + "id": "context.social.atmosphere.busy", + "glyph": "🏃‍♂️🏃‍♀️💬", + "category": "social_context", + "primary": "busy social atmosphere", + "synomic": [ + "high interaction", + "many people", + "active conversations", + "social movement" + ], + "roles": ["context", "social"], + "animation": "busy_swirl", + "examples": [ + { "glyphs": "A🏃‍♂️🏃‍♀️💬", "text": "A occurs in a busy, socially active environment." } + ] + }, + { + "id": "context.social.dynamics.cooperative", + "glyph": "🤝🔄", + "category": "social_context", + "primary": "cooperative dynamics", + "synomic": [ + "working together", + "shared goals", + "mutual support", + "collaborative flow" + ], + "roles": ["context", "social"], + "animation": "cooperate_flow", + "examples": [ + { "glyphs": "A🤝🔄", "text": "A occurs in a cooperative social dynamic." } + ] + }, + { + "id": "context.social.dynamics.competitive", + "glyph": "⚔️🏁", + "category": "social_context", + "primary": "competitive dynamics", + "synomic": [ + "rivalry", + "goal conflict", + "social contest", + "performance pressure" + ], + "roles": ["context", "social"], + "animation": "competitive_flash", + "examples": [ + { "glyphs": "A⚔️🏁", "text": "A occurs in a competitive social environment." } + ] + }, + { + "id": "context.social.dynamics.hierarchical", + "glyph": "🔺🧍‍♂️🧍‍♀️", + "category": "social_context", + "primary": "hierarchical structure", + "synomic": [ + "ranked roles", + "power distance", + "top-down interactions", + "structured authority" + ], + "roles": ["context", "social"], + "animation": "hierarchy_rise", + "examples": [ + { "glyphs": "A🔺🧍‍♂️🧍‍♀️", "text": "A occurs in a hierarchical social structure." } + ] + }, + { + "id": "context.social.dynamics.equal", + "glyph": "⚖️🧍🧍", + "category": "social_context", + "primary": "egalitarian structure", + "synomic": [ + "equal footing", + "balanced roles", + "shared authority", + "flat social structure" + ], + "roles": ["context", "social"], + "animation": "equal_balance", + "examples": [ + { "glyphs": "A⚖️🧍🧍", "text": "A occurs in an egalitarian social environment." } + ] + }, + { + "id": "context.social.flow.smooth", + "glyph": "🌊💬", + "category": "social_context", + "primary": "smooth interaction flow", + "synomic": [ + "easy conversation", + "natural rhythm", + "low friction", + "fluid social exchange" + ], + "roles": ["context", "social"], + "animation": "smooth_wave", + "examples": [ + { "glyphs": "A🌊💬", "text": "A occurs in a smooth, easy-flowing social interaction field." } + ] + }, + { + "id": "context.social.flow.disjointed", + "glyph": "🪓💬", + "category": "social_context", + "primary": "disjointed interaction flow", + "synomic": [ + "awkward exchanges", + "broken rhythm", + "misaligned timing", + "social friction" + ], + "roles": ["context", "social"], + "animation": "disjointed_cut", + "examples": [ + { "glyphs": "A🪓💬", "text": "A occurs in a disjointed or awkward social flow." } + ] + }, + { + "id": "context.social.tone.formal", + "glyph": "🎩📜", + "category": "social_context", + "primary": "formal social tone", + "synomic": [ + "structured etiquette", + "professional distance", + "ritualized behavior", + "high decorum" + ], + "roles": ["context", "social"], + "animation": "formal_still", + "examples": [ + { "glyphs": "A🎩📜", "text": "A occurs in a formal social environment." } + ] + }, + { + "id": "context.social.tone.informal", + "glyph": "😄👟", + "category": "social_context", + "primary": "informal social tone", + "synomic": [ + "casual", + "relaxed", + "low structure", + "friendly looseness" + ], + "roles": ["context", "social"], + "animation": "informal_bounce", + "examples": [ + { "glyphs": "A😄👟", "text": "A occurs in an informal, relaxed social environment." } + ] + }, + { + "id": "context.social.cohesion.unified", + "glyph": "🧑‍🤝‍🧑✨", + "category": "social_context", + "primary": "unified group cohesion", + "synomic": [ + "strong togetherness", + "shared identity", + "collective alignment", + "group unity" + ], + "roles": ["context", "social"], + "animation": "unity_pulse", + "examples": [ + { "glyphs": "A🧑‍🤝‍🧑✨", "text": "A occurs in a unified, cohesive group environment." } + ] + }, + { + "id": "context.social.cohesion.fractured", + "glyph": "🧍↔️🧍", + "category": "social_context", + "primary": "fractured cohesion", + "synomic": [ + "weak unity", + "internal division", + "group fragmentation", + "social splintering" + ], + "roles": ["context", "social"], + "animation": "fracture_shift", + "examples": [ + { "glyphs": "A🧍↔️🧍", "text": "A occurs in a fractured or divided group environment." } + ] + }, + { + "id": "context.social.identity.shared", + "glyph": "🎗️🧑‍🤝‍🧑", + "category": "social_context", + "primary": "shared group identity", + "synomic": [ + "common purpose", + "collective symbolism", + "group belonging", + "identity alignment" + ], + "roles": ["context", "social"], + "animation": "identity_glow", + "examples": [ + { "glyphs": "A🎗️🧑‍🤝‍🧑", "text": "A occurs in a group with strong shared identity." } + ] + }, + { + "id": "context.social.identity.conflicted", + "glyph": "❓🧑‍🤝‍🧑", + "category": "social_context", + "primary": "conflicted group identity", + "synomic": [ + "unclear purpose", + "identity tension", + "mixed group values", + "social ambiguity" + ], + "roles": ["context", "social"], + "animation": "conflict_fade", + "examples": [ + { "glyphs": "A❓🧑‍🤝‍🧑", "text": "A occurs in a group with conflicted or unclear identity." } + ] + }, + { + "id": "context.social.collective.energized", + "glyph": "⚡🧑‍🤝‍🧑", + "category": "social_context", + "primary": "energized collective field", + "synomic": [ + "high group energy", + "collective excitement", + "active participation", + "social momentum" + ], + "roles": ["context", "social"], + "animation": "collective_pulse", + "examples": [ + { "glyphs": "A⚡🧑‍🤝‍🧑", "text": "A occurs in an energized, high‑momentum group environment." } + ] + }, + { + "id": "context.social.collective.exhausted", + "glyph": "😮‍💨🧑‍🤝‍🧑", + "category": "social_context", + "primary": "exhausted collective field", + "synomic": [ + "low group energy", + "collective fatigue", + "social depletion", + "group burnout" + ], + "roles": ["context", "social"], + "animation": "exhaustion_drift", + "examples": [ + { "glyphs": "A😮‍💨🧑‍🤝‍🧑", "text": "A occurs in a tired or depleted group environment." } + ] + }, + { + "id": "context.social.collective.focused", + "glyph": "🎯🧑‍🤝‍🧑", + "category": "social_context", + "primary": "focused collective field", + "synomic": [ + "shared attention", + "group concentration", + "collective purpose", + "aligned focus" + ], + "roles": ["context", "social"], + "animation": "focus_glow", + "examples": [ + { "glyphs": "A🎯🧑‍🤝‍🧑", "text": "A occurs in a focused, purpose‑aligned group environment." } + ] + }, + { + "id": "context.social.collective.dispersed", + "glyph": "🌬️🧍🧍🧍", + "category": "social_context", + "primary": "dispersed collective field", + "synomic": [ + "scattered attention", + "low cohesion", + "group drift", + "unfocused social field" + ], + "roles": ["context", "social"], + "animation": "disperse_wave", + "examples": [ + { "glyphs": "A🌬️🧍🧍🧍", "text": "A occurs in a dispersed or unfocused group environment." } + ] + }, + { + "id": "context.social.symbolic.harmony", + "glyph": "🎼🧑‍🤝‍🧑", + "category": "social_context", + "primary": "harmonious social field", + "synomic": [ + "aligned interactions", + "symbolic unity", + "social resonance", + "collective harmony" + ], + "roles": ["context", "social"], + "animation": "harmony_flow", + "examples": [ + { "glyphs": "A🎼🧑‍🤝‍🧑", "text": "A occurs in a symbolically harmonious social environment." } + ] + }, + { + "id": "context.social.symbolic.disorder", + "glyph": "🌀🧍🧍", + "category": "social_context", + "primary": "disordered social field", + "synomic": [ + "chaotic interactions", + "symbolic fragmentation", + "social instability", + "collective disarray" + ], + "roles": ["context", "social"], + "animation": "disorder_swirl", + "examples": [ + { "glyphs": "A🌀🧍🧍", "text": "A occurs in a symbolically disordered social environment." } + ] + }, + { + "id": "context.social.archetype.tribal", + "glyph": "🔥🧑‍🤝‍🧑", + "category": "social_context", + "primary": "tribal social field", + "synomic": [ + "strong in-group identity", + "ritualized belonging", + "ancestral cohesion", + "archetypal tribe energy" + ], + "roles": ["context", "social"], + "animation": "tribal_flare", + "examples": [ + { "glyphs": "A🔥🧑‍🤝‍🧑", "text": "A occurs in a tribal, identity-bound social environment." } + ] + }, + { + "id": "context.social.archetype.council", + "glyph": "🪶🧑‍⚖️🧑‍⚖️", + "category": "social_context", + "primary": "council social field", + "synomic": [ + "deliberation", + "collective wisdom", + "shared decision-making", + "archetypal governance" + ], + "roles": ["context", "social"], + "animation": "council_glow", + "examples": [ + { "glyphs": "A🪶🧑‍⚖️🧑‍⚖️", "text": "A occurs in a council-like, deliberative social environment." } + ] + }, + { + "id": "context.social.archetype.pilgrimage", + "glyph": "🛤️🧑‍🤝‍🧑", + "category": "social_context", + "primary": "pilgrimage social field", + "synomic": [ + "shared journey", + "collective seeking", + "purposeful movement", + "archetypal quest" + ], + "roles": ["context", "social"], + "animation": "pilgrimage_flow", + "examples": [ + { "glyphs": "A🛤️🧑‍🤝‍🧑", "text": "A occurs in a group undertaking a symbolic journey." } + ] + }, + { + "id": "context.social.mythic.creation", + "glyph": "🌌🧑‍🤝‍🧑", + "category": "social_context", + "primary": "creation social field", + "synomic": [ + "founding moment", + "origin of group identity", + "mythic beginning", + "social genesis" + ], + "roles": ["context", "social"], + "animation": "creation_spark", + "examples": [ + { "glyphs": "A🌌🧑‍🤝‍🧑", "text": "A occurs in a mythic social moment of creation or founding." } + ] + }, + { + "id": "context.social.mythic.collapse", + "glyph": "🔥🏚️", + "category": "social_context", + "primary": "collapse social field", + "synomic": [ + "fall of structure", + "group dissolution", + "mythic ending", + "social breakdown" + ], + "roles": ["context", "social"], + "animation": "collapse_fade", + "examples": [ + { "glyphs": "A🔥🏚️", "text": "A occurs in a mythic social collapse or dissolution." } + ] + }, + { + "id": "context.social.mythic.rebirth", + "glyph": "🌅🧑‍🤝‍🧑", + "category": "social_context", + "primary": "rebirth social field", + "synomic": [ + "renewed unity", + "reformed identity", + "collective transformation", + "mythic resurgence" + ], + "roles": ["context", "social"], + "animation": "rebirth_glow", + "examples": [ + { "glyphs": "A🌅🧑‍🤝‍🧑", "text": "A occurs in a mythic social rebirth or renewal." } + ] + }, + { + "id": "context.social.meta.stillness", + "glyph": "🧘‍♂️🧍🧍", + "category": "social_context", + "primary": "social stillness", + "synomic": [ + "no movement in social structure", + "paused interactions", + "collective quiet", + "pre‑interaction state" + ], + "roles": ["context", "social"], + "animation": "stillness_fade", + "examples": [ + { "glyphs": "A🧘‍♂️🧍🧍", "text": "A occurs in a field of social stillness." } + ] + }, + { + "id": "context.social.meta.void", + "glyph": "0️⃣🧍", + "category": "social_context", + "primary": "social void", + "synomic": [ + "absence of social structure", + "no group identity", + "interaction vacuum", + "null social field" + ], + "roles": ["context", "social"], + "animation": "void_drift", + "examples": [ + { "glyphs": "A0️⃣🧍", "text": "A occurs in a social void or null field." } + ] + }, + { + "id": "context.social.existential.purposeful", + "glyph": "🎯🧑‍🤝‍🧑", + "category": "social_context", + "primary": "purposeful social field", + "synomic": [ + "shared meaning", + "collective intention", + "aligned purpose", + "existential social direction" + ], + "roles": ["context", "social"], + "animation": "purpose_glow", + "examples": [ + { "glyphs": "A🎯🧑‍🤝‍🧑", "text": "A occurs in a socially purposeful environment." } + ] + }, + { + "id": "context.social.existential.drifting", + "glyph": "🌫️🧍🧍", + "category": "social_context", + "primary": "drifting social field", + "synomic": [ + "lack of direction", + "social aimlessness", + "collective uncertainty", + "existential drift" + ], + "roles": ["context", "social"], + "animation": "drift_wave", + "examples": [ + { "glyphs": "A🌫️🧍🧍", "text": "A occurs in a drifting, directionless social environment." } + ] + }, + { + "id": "context.social.ultimate.unity", + "glyph": "1️⃣🧑‍🤝‍🧑", + "category": "social_context", + "primary": "ultimate social unity", + "synomic": [ + "complete cohesion", + "all individuals as one", + "total social integration", + "harmonic collective" + ], + "roles": ["context", "social"], + "animation": "unity_glow", + "examples": [ + { "glyphs": "A1️⃣🧑‍🤝‍🧑", "text": "A occurs in a field of ultimate social unity." } + ] + }, + { + "id": "context.social.ultimate.dual_balance", + "glyph": "☯️🧍🧍", + "category": "social_context", + "primary": "balanced social duality", + "synomic": [ + "paired social forces in harmony", + "balanced factions", + "dynamic equilibrium", + "yin‑yang social structure" + ], + "roles": ["context", "social"], + "animation": "dual_balance_pulse", + "examples": [ + { "glyphs": "A☯️🧍🧍", "text": "A occurs in a field of balanced social duality." } + ] + }, + { + "id": "context.social.ultimate.transcendent", + "glyph": "🌟🧑‍🤝‍🧑♾️", + "category": "social_context", + "primary": "transcendent social field", + "synomic": [ + "beyond normal social structure", + "meta‑collective awareness", + "infinite social coherence", + "ultimate social state" + ], + "roles": ["context", "social"], + "animation": "transcendent_glow", + "examples": [ + { "glyphs": "A🌟🧑‍🤝‍🧑♾️", "text": "A occurs in a transcendent social environment." } + ] + } +] + diff --git a/dictionary/context_time.json b/dictionary/context_time.json new file mode 100644 index 0000000000000000000000000000000000000000..fed947967bf34f45cb7744ec2b46d74da14296b4 --- /dev/null +++ b/dictionary/context_time.json @@ -0,0 +1,748 @@ +[ + { + "id": "context.time.day.morning", + "glyph": "🌅", + "category": "time", + "primary": "morning", + "synomic": [ + "dawn", + "sunrise", + "beginning of day", + "fresh start" + ], + "roles": ["context", "phase"], + "animation": "sunrise_glow", + "examples": [ + { "glyphs": "🌅✨", "text": "A new beginning or early phase." } + ] + }, + { + "id": "context.time.day.afternoon", + "glyph": "🌤️", + "category": "time", + "primary": "afternoon", + "synomic": [ + "midday", + "sun high", + "active period", + "middle of day" + ], + "roles": ["context", "phase"], + "animation": "sun_peak", + "examples": [ + { "glyphs": "🌤️⚡", "text": "Active, energetic time." } + ] + }, + { + "id": "context.time.day.evening", + "glyph": "🌇", + "category": "time", + "primary": "evening", + "synomic": [ + "sunset", + "winding down", + "closing phase", + "transition to night" + ], + "roles": ["context", "phase"], + "animation": "sunset_fade", + "examples": [ + { "glyphs": "🌇🌙", "text": "Transition from day to night." } + ] + }, + { + "id": "context.time.day.night", + "glyph": "🌙", + "category": "time", + "primary": "night", + "synomic": [ + "darkness", + "rest", + "quiet", + "introspection" + ], + "roles": ["context", "phase"], + "animation": "moon_glow", + "examples": [ + { "glyphs": "🌙💭", "text": "Nighttime reflection or rest." } + ] + }, + { + "id": "context.time.symbolic.beginning", + "glyph": "🔰", + "category": "time", + "primary": "beginning", + "synomic": [ + "start", + "initiation", + "first phase", + "opening moment" + ], + "roles": ["context", "symbolic"], + "animation": "start_pulse", + "examples": [ + { "glyphs": "🔰A", "text": "The beginning of A." } + ] + }, + { + "id": "context.time.symbolic.middle", + "glyph": "➖", + "category": "time", + "primary": "middle", + "synomic": [ + "midpoint", + "ongoing", + "in progress", + "steady state" + ], + "roles": ["context", "symbolic"], + "animation": "steady_flow", + "examples": [ + { "glyphs": "A➖", "text": "A is in its middle phase." } + ] + }, + { + "id": "context.time.symbolic.end", + "glyph": "🏁", + "category": "time", + "primary": "end", + "synomic": [ + "finish", + "closure", + "final phase", + "completion" + ], + "roles": ["context", "symbolic"], + "animation": "finish_flag", + "examples": [ + { "glyphs": "A🏁", "text": "The end of A." } + ] + }, + { + "id": "context.time.cycle.daily", + "glyph": "🔄🌞🌙", + "category": "time", + "primary": "daily cycle", + "synomic": [ + "day-night cycle", + "24-hour rhythm", + "circadian flow" + ], + "roles": ["context", "cycle"], + "animation": "cycle_spin", + "examples": [ + { "glyphs": "🔄🌞🌙", "text": "A full daily cycle." } + ] + }, + { + "id": "context.time.duration.short", + "glyph": "⚡", + "category": "time", + "primary": "short duration", + "synomic": [ + "brief", + "momentary", + "quick", + "fleeting" + ], + "roles": ["context", "duration"], + "animation": "flash_quick", + "examples": [ + { "glyphs": "A⚡", "text": "A happens briefly." } + ] + }, + { + "id": "context.time.duration.medium", + "glyph": "⏱️", + "category": "time", + "primary": "moderate duration", + "synomic": [ + "normal length", + "standard time", + "average duration" + ], + "roles": ["context", "duration"], + "animation": "steady_tick", + "examples": [ + { "glyphs": "A⏱️", "text": "A lasts a moderate amount of time." } + ] + }, + { + "id": "context.time.duration.long", + "glyph": "🕰️", + "category": "time", + "primary": "long duration", + "synomic": [ + "extended", + "prolonged", + "lasting", + "long-term" + ], + "roles": ["context", "duration"], + "animation": "slow_tick", + "examples": [ + { "glyphs": "A🕰️", "text": "A lasts a long time." } + ] + }, + { + "id": "context.time.tempo.fast", + "glyph": "💨", + "category": "time", + "primary": "fast tempo", + "synomic": [ + "rapid", + "accelerated", + "quick pace", + "high tempo" + ], + "roles": ["context", "tempo"], + "animation": "tempo_fast", + "examples": [ + { "glyphs": "A💨", "text": "A happens quickly or at high speed." } + ] + }, + { + "id": "context.time.tempo.slow", + "glyph": "🐢", + "category": "time", + "primary": "slow tempo", + "synomic": [ + "gradual", + "unhurried", + "gentle pace", + "slow movement" + ], + "roles": ["context", "tempo"], + "animation": "tempo_slow", + "examples": [ + { "glyphs": "A🐢", "text": "A unfolds slowly." } + ] + }, + { + "id": "context.time.tempo.still", + "glyph": "⏸️", + "category": "time", + "primary": "paused / still", + "synomic": [ + "halted", + "frozen", + "no movement", + "time stop" + ], + "roles": ["context", "tempo"], + "animation": "pause_hold", + "examples": [ + { "glyphs": "A⏸️", "text": "A is paused or momentarily still." } + ] + }, + { + "id": "context.time.quality.urgent", + "glyph": "⏰⚡", + "category": "time", + "primary": "urgent", + "synomic": [ + "time-sensitive", + "immediate need", + "pressing", + "high priority moment" + ], + "roles": ["context", "quality"], + "animation": "alarm_flash", + "examples": [ + { "glyphs": "A⏰⚡", "text": "A requires urgent attention." } + ] + }, + { + "id": "context.time.quality.calm", + "glyph": "🌿⏳", + "category": "time", + "primary": "calm time", + "synomic": [ + "peaceful", + "slow moment", + "relaxed", + "gentle timing" + ], + "roles": ["context", "quality"], + "animation": "calm_drift", + "examples": [ + { "glyphs": "A🌿⏳", "text": "A occurs in a calm, relaxed moment." } + ] + }, + { + "id": "context.time.quality.transitional", + "glyph": "🔀⏳", + "category": "time", + "primary": "transitional moment", + "synomic": [ + "in-between", + "shifting phase", + "changing state", + "temporal transition" + ], + "roles": ["context", "quality"], + "animation": "transition_wave", + "examples": [ + { "glyphs": "A🔀⏳", "text": "A is happening during a transition." } + ] + }, + { + "id": "context.time.cycle.weekly", + "glyph": "🔄📅", + "category": "time", + "primary": "weekly cycle", + "synomic": [ + "seven‑day rhythm", + "week pattern", + "recurring weekly flow" + ], + "roles": ["context", "cycle"], + "animation": "week_spin", + "examples": [ + { "glyphs": "🔄📅", "text": "A repeating weekly cycle." } + ] + }, + { + "id": "context.time.cycle.monthly", + "glyph": "🔄🌙", + "category": "time", + "primary": "monthly cycle", + "synomic": [ + "lunar rhythm", + "month pattern", + "periodic monthly flow" + ], + "roles": ["context", "cycle"], + "animation": "moon_cycle", + "examples": [ + { "glyphs": "🔄🌙", "text": "A repeating monthly cycle." } + ] + }, + { + "id": "context.time.cycle.yearly", + "glyph": "🔄🌎", + "category": "time", + "primary": "yearly cycle", + "synomic": [ + "annual rhythm", + "seasonal loop", + "year pattern" + ], + "roles": ["context", "cycle"], + "animation": "orbit_spin", + "examples": [ + { "glyphs": "🔄🌎", "text": "A full yearly cycle." } + ] + }, + { + "id": "context.time.season.spring", + "glyph": "🌱", + "category": "time", + "primary": "spring", + "synomic": [ + "renewal", + "growth", + "awakening", + "early cycle" + ], + "roles": ["context", "season"], + "animation": "sprout_grow", + "examples": [ + { "glyphs": "🌱✨", "text": "A time of renewal or new beginnings." } + ] + }, + { + "id": "context.time.season.summer", + "glyph": "☀️", + "category": "time", + "primary": "summer", + "synomic": [ + "heat", + "peak energy", + "full bloom", + "active cycle" + ], + "roles": ["context", "season"], + "animation": "sun_glow", + "examples": [ + { "glyphs": "☀️⚡", "text": "A time of high activity or intensity." } + ] + }, + { + "id": "context.time.season.autumn", + "glyph": "🍂", + "category": "time", + "primary": "autumn", + "synomic": [ + "transition", + "harvest", + "cooling", + "letting go" + ], + "roles": ["context", "season"], + "animation": "leaf_fall", + "examples": [ + { "glyphs": "🍂🌬️", "text": "A time of change or release." } + ] + }, + { + "id": "context.time.season.winter", + "glyph": "❄️", + "category": "time", + "primary": "winter", + "synomic": [ + "rest", + "stillness", + "cold", + "deep cycle" + ], + "roles": ["context", "season"], + "animation": "snow_drift", + "examples": [ + { "glyphs": "❄️🌙", "text": "A time of rest or quiet." } + ] + }, + { + "id": "context.time.rhythm.heartbeat", + "glyph": "❤️‍🔥", + "category": "time", + "primary": "heartbeat rhythm", + "synomic": [ + "pulse", + "life rhythm", + "biological timing", + "emotional tempo" + ], + "roles": ["context", "rhythm"], + "animation": "heart_pulse", + "examples": [ + { "glyphs": "A❤️‍🔥", "text": "A follows a living, emotional rhythm." } + ] + }, + { + "id": "context.time.rhythm.wave", + "glyph": "🌊🔁", + "category": "time", + "primary": "wave rhythm", + "synomic": [ + "rise and fall", + "oscillation", + "cyclical flow", + "natural rhythm" + ], + "roles": ["context", "rhythm"], + "animation": "wave_cycle", + "examples": [ + { "glyphs": "A🌊🔁", "text": "A follows a natural wave-like cycle." } + ] + }, + { + "id": "context.time.state.stable", + "glyph": "⚖️⏳", + "category": "time", + "primary": "stable moment", + "synomic": [ + "steady", + "unchanging", + "balanced", + "consistent time" + ], + "roles": ["context", "state"], + "animation": "steady_balance", + "examples": [ + { "glyphs": "A⚖️⏳", "text": "A occurs during a stable moment." } + ] + }, + { + "id": "context.time.state.chaotic", + "glyph": "🌪️⏰", + "category": "time", + "primary": "chaotic moment", + "synomic": [ + "disordered", + "unstable", + "turbulent", + "time in flux" + ], + "roles": ["context", "state"], + "animation": "chaos_spin", + "examples": [ + { "glyphs": "A🌪️⏰", "text": "A happens during a chaotic moment." } + ] + }, + { + "id": "context.time.state.suspended", + "glyph": "🕊️⏸️", + "category": "time", + "primary": "suspended time", + "synomic": [ + "frozen moment", + "timeless", + "pause in reality", + "stillness" + ], + "roles": ["context", "state"], + "animation": "suspend_float", + "examples": [ + { "glyphs": "A🕊️⏸️", "text": "A exists in a suspended moment." } + ] + }, + { + "id": "context.time.emotional.tense", + "glyph": "⏰💢", + "category": "time", + "primary": "tense moment", + "synomic": [ + "pressure", + "stressful time", + "high stakes", + "tight timing" + ], + "roles": ["context", "emotional"], + "animation": "tense_pulse", + "examples": [ + { "glyphs": "A⏰💢", "text": "A occurs during a tense moment." } + ] + }, + { + "id": "context.time.emotional.peaceful", + "glyph": "🌙🌿", + "category": "time", + "primary": "peaceful moment", + "synomic": [ + "calm", + "soothing", + "quiet", + "emotionally gentle time" + ], + "roles": ["context", "emotional"], + "animation": "peace_drift", + "examples": [ + { "glyphs": "A🌙🌿", "text": "A happens during a peaceful moment." } + ] + }, + { + "id": "context.time.emotional.anticipation", + "glyph": "⏳👀", + "category": "time", + "primary": "anticipatory moment", + "synomic": [ + "waiting", + "expectation", + "build-up", + "approaching event" + ], + "roles": ["context", "emotional"], + "animation": "anticipation_shimmer", + "examples": [ + { "glyphs": "A⏳👀", "text": "A is happening in a moment of anticipation." } + ] + }, + { + "id": "context.time.symbolic.threshold", + "glyph": "🚪⏳", + "category": "time", + "primary": "threshold moment", + "synomic": [ + "crossing point", + "liminal time", + "transition doorway", + "between states" + ], + "roles": ["context", "symbolic"], + "animation": "threshold_glow", + "examples": [ + { "glyphs": "A🚪⏳", "text": "A occurs at a threshold moment." } + ] + }, + { + "id": "context.time.symbolic.cycle_shift", + "glyph": "🔄🌀", + "category": "time", + "primary": "cycle shift", + "synomic": [ + "phase change", + "cycle turning", + "energetic shift", + "new arc beginning" + ], + "roles": ["context", "symbolic"], + "animation": "cycle_shift", + "examples": [ + { "glyphs": "A🔄🌀", "text": "A is part of a cycle turning point." } + ] + }, + { + "id": "context.time.symbolic.timeless", + "glyph": "♾️🌌", + "category": "time", + "primary": "timeless moment", + "synomic": [ + "eternal", + "outside time", + "infinite moment", + "beyond temporal flow" + ], + "roles": ["context", "symbolic"], + "animation": "infinite_glow", + "examples": [ + { "glyphs": "A♾️🌌", "text": "A exists outside normal time." } + ] + }, + { + "id": "context.time.meta.eternal_return", + "glyph": "♾️🔄", + "category": "time", + "primary": "eternal return", + "synomic": [ + "recurring destiny", + "infinite cycle", + "returning pattern", + "cosmic loop" + ], + "roles": ["context", "meta", "cycle"], + "animation": "eternal_loop", + "examples": [ + { "glyphs": "A♾️🔄", "text": "A repeats across cycles of existence." } + ] + }, + { + "id": "context.time.meta.deep_past", + "glyph": "🏺⏳", + "category": "time", + "primary": "deep past", + "synomic": [ + "ancient time", + "long before now", + "ancestral era", + "origin period" + ], + "roles": ["context", "meta"], + "animation": "dust_fall", + "examples": [ + { "glyphs": "A🏺⏳", "text": "A belongs to the deep past." } + ] + }, + { + "id": "context.time.meta.deep_future", + "glyph": "🚀♾️", + "category": "time", + "primary": "deep future", + "synomic": [ + "far ahead", + "beyond current era", + "future epochs", + "long arc of time" + ], + "roles": ["context", "meta"], + "animation": "future_glow", + "examples": [ + { "glyphs": "A🚀♾️", "text": "A belongs to the deep future." } + ] + }, + { + "id": "context.time.meta.recursive", + "glyph": "☯️⏳", + "category": "time", + "primary": "recursive time", + "synomic": [ + "self‑referential time", + "looped progression", + "balanced cycle", + "time folding into itself" + ], + "roles": ["context", "meta", "symbolic"], + "animation": "recursive_pulse", + "examples": [ + { "glyphs": "A☯️⏳", "text": "A occurs within a recursive temporal loop." } + ] + }, + { + "id": "context.time.meta.threshold_epoch", + "glyph": "🌀🚪", + "category": "time", + "primary": "epoch threshold", + "synomic": [ + "major turning point", + "era shift", + "epochal transition", + "system‑level change" + ], + "roles": ["context", "meta"], + "animation": "epoch_shift", + "examples": [ + { "glyphs": "A🌀🚪", "text": "A marks the threshold of a new epoch." } + ] + }, + { + "id": "context.time.meta.null_time", + "glyph": "0️⃣⏳", + "category": "time", + "primary": "null time", + "synomic": [ + "time void", + "non‑time", + "reset state", + "temporal zero" + ], + "roles": ["context", "meta", "symbolic"], + "animation": "void_fade", + "examples": [ + { "glyphs": "A0️⃣⏳", "text": "A exists in a state outside normal time." } + ] + }, + { + "id": "context.time.meta.origin_point", + "glyph": "✨🔰", + "category": "time", + "primary": "origin point", + "synomic": [ + "first cause", + "initial spark", + "birth moment", + "system genesis" + ], + "roles": ["context", "meta"], + "animation": "spark_origin", + "examples": [ + { "glyphs": "✨🔰A", "text": "A begins at the origin point." } + ] + }, + { + "id": "context.time.meta.final_point", + "glyph": "🏁🌌", + "category": "time", + "primary": "final point", + "synomic": [ + "ultimate end", + "terminal moment", + "completion of arc", + "cosmic closure" + ], + "roles": ["context", "meta"], + "animation": "final_fade", + "examples": [ + { "glyphs": "A🏁🌌", "text": "A reaches its final point." } + ] + }, + { + "id": "context.time.meta.parallel_time", + "glyph": "🔀⏳⏳", + "category": "time", + "primary": "parallel time", + "synomic": [ + "multiple timelines", + "branching time", + "simultaneous flows", + "alternate sequence" + ], + "roles": ["context", "meta"], + "animation": "parallel_shift", + "examples": [ + { "glyphs": "A🔀⏳⏳", "text": "A occurs across parallel timelines." } + ] + } +] + + + diff --git a/dictionary/emotions.json b/dictionary/emotions.json new file mode 100644 index 0000000000000000000000000000000000000000..f9dfe87c4e51788c7325e767c007cf198e3c2d50 --- /dev/null +++ b/dictionary/emotions.json @@ -0,0 +1,716 @@ +[ + { + "glyph": "😀", + "id": "glyph.emotion.happy.basic", + "category": "emotion", + "primary": "happy", + "synomic": [ + "smile", + "joy", + "positive mood", + "content" + ], + "roles": ["state"], + "animation": "smile", + "examples": [ + { "glyphs": "😀☀️", "text": "Feeling happy in the sunshine." } + ] + }, + { + "glyph": "😃", + "id": "glyph.emotion.happy.expressive", + "category": "emotion", + "primary": "very happy", + "synomic": [ + "big smile", + "excitement", + "joyful", + "uplifted" + ], + "roles": ["state"], + "animation": "smile_big", + "examples": [ + { "glyphs": "😃🎉", "text": "Excited for the celebration." } + ] + }, + { + "glyph": "😄", + "id": "glyph.emotion.happy.laughing", + "category": "emotion", + "primary": "laughing", + "synomic": [ + "joy", + "delight", + "cheerful", + "lighthearted" + ], + "roles": ["state"], + "animation": "laugh", + "examples": [ + { "glyphs": "😄😂", "text": "Laughing together." } + ] + }, + { + "glyph": "😁", + "id": "glyph.emotion.happy.grin", + "category": "emotion", + "primary": "grinning", + "synomic": [ + "big grin", + "cheerful", + "playful happiness" + ], + "roles": ["state"], + "animation": "grin", + "examples": [ + { "glyphs": "😁👍", "text": "Grinning with approval." } + ] + }, + { + "glyph": "😊", + "id": "glyph.emotion.happy.warm", + "category": "emotion", + "primary": "warm smile", + "synomic": [ + "gentle happiness", + "kindness", + "soft joy", + "comfort" + ], + "roles": ["state"], + "animation": "smile_soft", + "examples": [ + { "glyphs": "😊💛", "text": "A warm, kind feeling." } + ] + }, + { + "glyph": "😅", + "id": "glyph.emotion.happy.relief", + "category": "emotion", + "primary": "relieved smile", + "synomic": [ + "awkward laugh", + "nervous smile", + "relief", + "tension release" + ], + "roles": ["state"], + "animation": "laugh_nervous", + "examples": [ + { "glyphs": "😅😬", "text": "Nervous relief." } + ] + }, + { + "glyph": "😂", + "id": "glyph.emotion.happy.hard_laugh", + "category": "emotion", + "primary": "laughing hard", + "synomic": [ + "big laugh", + "hysterical", + "funny moment", + "joy burst" + ], + "roles": ["state"], + "animation": "laugh_hard", + "examples": [ + { "glyphs": "😂🤣", "text": "Laughing uncontrollably." } + ] + }, + { + "glyph": "🤣", + "id": "glyph.emotion.happy.rolling_laugh", + "category": "emotion", + "primary": "rolling on the floor laughing", + "synomic": [ + "extreme laughter", + "hysterics", + "can't stop laughing" + ], + "roles": ["state"], + "animation": "roll_laugh", + "examples": [ + { "glyphs": "🤣🎭", "text": "The joke was too funny." } + ] + }, + { + "glyph": "🙂", + "id": "glyph.emotion.happy.subtle", + "category": "emotion", + "primary": "slight smile", + "synomic": [ + "mild happiness", + "polite smile", + "soft positivity" + ], + "roles": ["state"], + "animation": "smile_small", + "examples": [ + { "glyphs": "🙂🌼", "text": "A gentle, calm happiness." } + ] + }, + { + "glyph": "🙃", + "id": "glyph.emotion.happy.playful", + "category": "emotion", + "primary": "playful upside‑down smile", + "synomic": [ + "silly", + "playful mood", + "lighthearted mischief", + "teasing" + ], + "roles": ["state"], + "animation": "tilt_playful", + "examples": [ + { "glyphs": "🙃😉", "text": "Playful teasing." } + ] + }, + { + "glyph": "😉", + "id": "glyph.emotion.happy.wink", + "category": "emotion", + "primary": "wink", + "synomic": [ + "playful gesture", + "flirt", + "teasing", + "inside joke" + ], + "roles": ["state", "modifier"], + "animation": "wink", + "examples": [ + { "glyphs": "😉✨", "text": "A playful wink." } + ] + }, + { + "glyph": "😍", + "id": "glyph.emotion.love.adore", + "category": "emotion", + "primary": "adoration", + "synomic": [ + "love", + "infatuation", + "admiration", + "heart‑eyes" + ], + "roles": ["state"], + "animation": "hearts", + "examples": [ + { "glyphs": "😍💖", "text": "Feeling love and admiration." } + ] + }, + { + "glyph": "😘", + "id": "glyph.emotion.love.kiss", + "category": "emotion", + "primary": "kiss", + "synomic": [ + "affection", + "love", + "sending a kiss", + "warmth" + ], + "roles": ["state", "action"], + "animation": "blow_kiss", + "examples": [ + { "glyphs": "😘💌", "text": "Sending affection." } + ] + }, + { + "glyph": "😢", + "id": "glyph.emotion.sad.crying", + "category": "emotion", + "primary": "crying", + "synomic": [ + "sad", + "tears", + "hurt", + "emotional pain", + "soft crying" + ], + "roles": ["state"], + "animation": "cry", + "examples": [ + { "glyphs": "😢💔", "text": "Crying from heartbreak." } + ] + }, + { + "glyph": "😭", + "id": "glyph.emotion.sad.sobbing", + "category": "emotion", + "primary": "sobbing", + "synomic": [ + "deep sadness", + "intense crying", + "overwhelmed with emotion", + "grief" + ], + "roles": ["state"], + "animation": "sob", + "examples": [ + { "glyphs": "😭🖤", "text": "Overwhelmed with grief." } + ] + }, + { + "glyph": "😞", + "id": "glyph.emotion.sad.disappointed", + "category": "emotion", + "primary": "disappointed", + "synomic": [ + "let down", + "sad", + "discouraged", + "unhappy" + ], + "roles": ["state"], + "animation": "frown_soft", + "examples": [ + { "glyphs": "😞📉", "text": "Disappointed by the outcome." } + ] + }, + { + "glyph": "😔", + "id": "glyph.emotion.sad.downcast", + "category": "emotion", + "primary": "downcast", + "synomic": [ + "quiet sadness", + "reflective sadness", + "melancholy", + "low mood" + ], + "roles": ["state"], + "animation": "look_down", + "examples": [ + { "glyphs": "😔🌧️", "text": "Feeling low and quiet." } + ] + }, + { + "glyph": "☹️", + "id": "glyph.emotion.sad.frown", + "category": "emotion", + "primary": "frown", + "synomic": [ + "unhappy", + "sad", + "displeased", + "upset" + ], + "roles": ["state"], + "animation": "frown", + "examples": [ + { "glyphs": "☹️📭", "text": "Sad about the empty mailbox." } + ] + }, + { + "glyph": "😡", + "id": "glyph.emotion.anger.basic", + "category": "emotion", + "primary": "angry", + "synomic": [ + "mad", + "frustrated", + "irritated", + "heated" + ], + "roles": ["state"], + "animation": "angry", + "examples": [ + { "glyphs": "😡💢", "text": "Feeling angry and tense." } + ] + }, + { + "glyph": "🤬", + "id": "glyph.emotion.anger.intense", + "category": "emotion", + "primary": "rage", + "synomic": [ + "furious", + "explosive anger", + "outrage", + "extreme frustration" + ], + "roles": ["state"], + "animation": "rage", + "examples": [ + { "glyphs": "🤬🔥", "text": "Explosive anger." } + ] + }, + { + "glyph": "😠", + "id": "glyph.emotion.anger.frown", + "category": "emotion", + "primary": "annoyed", + "synomic": [ + "irritated", + "upset", + "mild anger", + "displeased" + ], + "roles": ["state"], + "animation": "angry_soft", + "examples": [ + { "glyphs": "😠🗯️", "text": "Annoyed by the situation." } + ] + }, + { + "glyph": "😱", + "id": "glyph.emotion.fear.shock", + "category": "emotion", + "primary": "fear / shock", + "synomic": [ + "terrified", + "startled", + "horror", + "panic" + ], + "roles": ["state"], + "animation": "gasp", + "examples": [ + { "glyphs": "😱👀", "text": "Shocked by what they saw." } + ] + }, + { + "glyph": "😨", + "id": "glyph.emotion.fear.anxious", + "category": "emotion", + "primary": "fearful", + "synomic": [ + "scared", + "worried", + "anxious", + "uneasy" + ], + "roles": ["state"], + "animation": "tremble", + "examples": [ + { "glyphs": "😨🌩️", "text": "Afraid of the storm." } + ] + }, + { + "glyph": "😰", + "id": "glyph.emotion.fear.stress", + "category": "emotion", + "primary": "anxious sweating", + "synomic": [ + "stress", + "fear", + "panic", + "nervousness" + ], + "roles": ["state"], + "animation": "sweat", + "examples": [ + { "glyphs": "😰📞", "text": "Nervous about the phone call." } + ] + }, + { + "glyph": "😥", + "id": "glyph.emotion.sad.discouraged", + "category": "emotion", + "primary": "sad but relieved", + "synomic": [ + "mixed feelings", + "sadness", + "relief", + "emotional conflict" + ], + "roles": ["state"], + "animation": "sigh", + "examples": [ + { "glyphs": "😥😮‍💨", "text": "A sad sigh of relief." } + ] + }, + { + "glyph": "😓", + "id": "glyph.emotion.stress.exhausted", + "category": "emotion", + "primary": "tired and stressed", + "synomic": [ + "exhausted", + "overworked", + "drained", + "worn out" + ], + "roles": ["state"], + "animation": "sweat_down", + "examples": [ + { "glyphs": "😓💼", "text": "Exhausted from work." } + ] + }, + { + "glyph": "😖", + "id": "glyph.emotion.stress.frustrated", + "category": "emotion", + "primary": "frustrated", + "synomic": [ + "upset", + "distressed", + "emotionally strained", + "tense" + ], + "roles": ["state"], + "animation": "strain", + "examples": [ + { "glyphs": "😖🌀", "text": "Emotionally overwhelmed." } + ] + }, + { + "glyph": "😵", + "id": "glyph.emotion.overwhelm.dizzy", + "category": "emotion", + "primary": "dizzy / overwhelmed", + "synomic": [ + "disoriented", + "overloaded", + "mentally spinning", + "confused" + ], + "roles": ["state"], + "animation": "spin_head", + "examples": [ + { "glyphs": "😵📚", "text": "Overwhelmed by information." } + ] + }, + { + "glyph": "😵‍💫", + "id": "glyph.emotion.overwhelm.spiral", + "category": "emotion", + "primary": "spiraling", + "synomic": [ + "mental overload", + "panic spiral", + "confusion", + "emotional overwhelm" + ], + "roles": ["state"], + "animation": "spiral", + "examples": [ + { "glyphs": "😵‍💫🌀", "text": "Mentally spiraling." } + ] + }, + { + "glyph": "😕", + "id": "glyph.emotion.confusion.basic", + "category": "emotion", + "primary": "confused", + "synomic": [ + "uncertain", + "puzzled", + "unsure", + "lost" + ], + "roles": ["state"], + "animation": "tilt_confused", + "examples": [ + { "glyphs": "😕❓", "text": "Confused about the situation." } + ] + }, + { + "glyph": "😐", + "id": "glyph.emotion.neutral.flat", + "category": "emotion", + "primary": "neutral", + "synomic": [ + "blank", + "emotionless", + "unmoved", + "flat affect" + ], + "roles": ["state"], + "animation": "neutral_idle", + "examples": [ + { "glyphs": "😐📄", "text": "Neutral reaction to information." } + ] + }, + { + "glyph": "😑", + "id": "glyph.emotion.neutral.unimpressed", + "category": "emotion", + "primary": "unimpressed", + "synomic": [ + "deadpan", + "unamused", + "emotionally flat", + "apathetic" + ], + "roles": ["state"], + "animation": "blank_stare", + "examples": [ + { "glyphs": "😑🙄", "text": "Unimpressed and tired of it." } + ] + }, + { + "glyph": "😶", + "id": "glyph.emotion.neutral.silent", + "category": "emotion", + "primary": "speechless", + "synomic": [ + "no words", + "emotionless", + "quiet", + "blank" + ], + "roles": ["state"], + "animation": "silent", + "examples": [ + { "glyphs": "😶🫢", "text": "Too stunned to speak." } + ] + }, + { + "glyph": "😴", + "id": "glyph.emotion.sleepy.asleep", + "category": "emotion", + "primary": "sleeping", + "synomic": [ + "asleep", + "tired", + "resting", + "low energy" + ], + "roles": ["state"], + "animation": "sleep", + "examples": [ + { "glyphs": "😴🛏️", "text": "Sleeping peacefully." } + ] + }, + { + "glyph": "🥱", + "id": "glyph.emotion.sleepy.yawn", + "category": "emotion", + "primary": "yawning", + "synomic": [ + "tired", + "sleepy", + "exhausted", + "low alertness" + ], + "roles": ["state"], + "animation": "yawn", + "examples": [ + { "glyphs": "🥱🌙", "text": "Yawning late at night." } + ] + }, + { + "glyph": "😌", + "id": "glyph.emotion.calm.relief", + "category": "emotion", + "primary": "relaxed relief", + "synomic": [ + "calm", + "peaceful", + "content", + "relieved" + ], + "roles": ["state"], + "animation": "exhale", + "examples": [ + { "glyphs": "😌🌿", "text": "Feeling calm and relieved." } + ] + }, + { + "glyph": "😇", + "id": "glyph.emotion.calm.pure", + "category": "emotion", + "primary": "innocent / pure", + "synomic": [ + "angelic", + "good intentions", + "peaceful", + "pure heart" + ], + "roles": ["state"], + "animation": "halo_glow", + "examples": [ + { "glyphs": "😇✨", "text": "Feeling pure and kind." } + ] + }, + { + "glyph": "😎", + "id": "glyph.emotion.calm.confident", + "category": "emotion", + "primary": "cool confidence", + "synomic": [ + "relaxed confidence", + "self‑assured", + "smooth", + "unbothered" + ], + "roles": ["state"], + "animation": "cool_pose", + "examples": [ + { "glyphs": "😎🔥", "text": "Calm and confident energy." } + ] + }, + { + "glyph": "😬", + "id": "glyph.emotion.neutral.tense", + "category": "emotion", + "primary": "awkward tension", + "synomic": [ + "uneasy", + "strained", + "nervous", + "tight smile" + ], + "roles": ["state"], + "animation": "grimace", + "examples": [ + { "glyphs": "😬😅", "text": "Awkward but trying to smile." } + ] + }, + { + "glyph": "😮‍💨", + "id": "glyph.emotion.calm.exhale", + "category": "emotion", + "primary": "exhaling", + "synomic": [ + "relief", + "release", + "letting go", + "calming down" + ], + "roles": ["state"], + "animation": "exhale_soft", + "examples": [ + { "glyphs": "😮‍💨🌄", "text": "A calming breath at sunrise." } + ] + }, + { + "glyph": "😐‍↔️", + "id": "glyph.emotion.neutral.numb", + "category": "emotion", + "primary": "emotionally numb", + "synomic": [ + "detached", + "disconnected", + "flat", + "emotionless" + ], + "roles": ["state"], + "animation": "blank_fade", + "examples": [ + { "glyphs": "😐‍↔️🕳️", "text": "Feeling emotionally empty." } + ] + }, + { + "glyph": "😶‍🌫️", + "id": "glyph.emotion.neutral.fog", + "category": "emotion", + "primary": "mentally foggy", + "synomic": [ + "foggy mind", + "dissociation", + "mental haze", + "unfocused" + ], + "roles": ["state"], + "animation": "fog", + "examples": [ + { "glyphs": "😶‍🌫️🌀", "text": "Lost in a mental fog." } + ] + } +] + + diff --git a/dictionary/modifiers.json b/dictionary/modifiers.json new file mode 100644 index 0000000000000000000000000000000000000000..753101891e9fd405a893ec18c3a870833b5221e0 --- /dev/null +++ b/dictionary/modifiers.json @@ -0,0 +1,1430 @@ +[ + { + "glyph": "⬆️", + "id": "glyph.mod.intensity.increase", + "category": "modifier", + "primary": "increase intensity", + "synomic": [ + "more", + "stronger", + "amplify", + "boost" + ], + "roles": ["modifier"], + "animation": "intensity_up", + "examples": [ + { "glyphs": "🔥⬆️", "text": "Stronger fire / more intensity." } + ] + }, + { + "glyph": "⬇️", + "id": "glyph.mod.intensity.decrease", + "category": "modifier", + "primary": "decrease intensity", + "synomic": [ + "less", + "weaker", + "reduce", + "diminish" + ], + "roles": ["modifier"], + "animation": "intensity_down", + "examples": [ + { "glyphs": "🔥⬇️", "text": "Lower fire / reduced intensity." } + ] + }, + { + "glyph": "🔼", + "id": "glyph.mod.scale.up", + "category": "modifier", + "primary": "scale up", + "synomic": [ + "bigger", + "expand", + "increase size", + "magnify" + ], + "roles": ["modifier"], + "animation": "scale_up", + "examples": [ + { "glyphs": "📦🔼", "text": "A larger box." } + ] + }, + { + "glyph": "🔽", + "id": "glyph.mod.scale.down", + "category": "modifier", + "primary": "scale down", + "synomic": [ + "smaller", + "shrink", + "reduce size", + "minify" + ], + "roles": ["modifier"], + "animation": "scale_down", + "examples": [ + { "glyphs": "📦🔽", "text": "A smaller box." } + ] + }, + { + "glyph": "➕", + "id": "glyph.mod.polarity.positive", + "category": "modifier", + "primary": "positive polarity", + "synomic": [ + "good", + "beneficial", + "favorable", + "supportive" + ], + "roles": ["modifier"], + "animation": "positive_pulse", + "examples": [ + { "glyphs": "➕🙂", "text": "Positive emotional tone." } + ] + }, + { + "glyph": "➖", + "id": "glyph.mod.polarity.negative", + "category": "modifier", + "primary": "negative polarity", + "synomic": [ + "bad", + "harmful", + "unfavorable", + "detracting" + ], + "roles": ["modifier"], + "animation": "negative_fade", + "examples": [ + { "glyphs": "➖😞", "text": "Negative emotional tone." } + ] + }, + { + "glyph": "✴️", + "id": "glyph.mod.intensity.emphasis", + "category": "modifier", + "primary": "emphasis", + "synomic": [ + "highlight", + "strong focus", + "accent", + "stress" + ], + "roles": ["modifier"], + "animation": "emphasis_flash", + "examples": [ + { "glyphs": "✴️💬", "text": "Emphasizing a message." } + ] + }, + { + "glyph": "▫️", + "id": "glyph.mod.intensity.minimal", + "category": "modifier", + "primary": "minimal / faint", + "synomic": [ + "barely", + "slightly", + "subtle", + "low presence" + ], + "roles": ["modifier"], + "animation": "fade_soft", + "examples": [ + { "glyphs": "▫️✨", "text": "A faint magical effect." } + ] + }, + { + "glyph": "💨", + "id": "glyph.mod.speed.fast", + "category": "modifier", + "primary": "fast / rapid", + "synomic": [ + "quick", + "swift", + "accelerated", + "high speed" + ], + "roles": ["modifier"], + "animation": "speed_fast", + "examples": [ + { "glyphs": "➡️💨", "text": "Moving quickly forward." } + ] + }, + { + "glyph": "🐢", + "id": "glyph.mod.speed.slow", + "category": "modifier", + "primary": "slow / gradual", + "synomic": [ + "gentle pace", + "unhurried", + "steady", + "reduced speed" + ], + "roles": ["modifier"], + "animation": "speed_slow", + "examples": [ + { "glyphs": "➡️🐢", "text": "Moving slowly forward." } + ] + }, + { + "glyph": "↗️", + "id": "glyph.mod.direction.up_forward", + "category": "modifier", + "primary": "upward / rising", + "synomic": [ + "ascend", + "increase", + "rise", + "move upward" + ], + "roles": ["modifier"], + "animation": "rise_motion", + "examples": [ + { "glyphs": "✨↗️", "text": "Energy rising upward." } + ] + }, + { + "glyph": "↘️", + "id": "glyph.mod.direction.down_forward", + "category": "modifier", + "primary": "downward / falling", + "synomic": [ + "descend", + "drop", + "sink", + "move downward" + ], + "roles": ["modifier"], + "animation": "fall_motion", + "examples": [ + { "glyphs": "🌫️↘️", "text": "Energy sinking downward." } + ] + }, + { + "glyph": "🔄", + "id": "glyph.mod.motion.circular", + "category": "modifier", + "primary": "circular motion", + "synomic": [ + "rotate", + "cycle", + "loop", + "spin" + ], + "roles": ["modifier"], + "animation": "circle_spin", + "examples": [ + { "glyphs": "✨🔄", "text": "Magic swirling in a circle." } + ] + }, + { + "glyph": "〰️", + "id": "glyph.mod.motion.smooth", + "category": "modifier", + "primary": "smooth / flowing", + "synomic": [ + "gentle", + "fluid", + "continuous", + "soft motion" + ], + "roles": ["modifier"], + "animation": "smooth_wave", + "examples": [ + { "glyphs": "〰️🌬️", "text": "Wind moving smoothly." } + ] + }, + { + "glyph": "⚡➡️", + "id": "glyph.mod.motion.sudden", + "category": "modifier", + "primary": "sudden / abrupt", + "synomic": [ + "instant", + "sharp", + "immediate", + "jolt" + ], + "roles": ["modifier"], + "animation": "snap_flash", + "examples": [ + { "glyphs": "⚡➡️🔥", "text": "A sudden ignition." } + ] + }, + { + "glyph": "↔️", + "id": "glyph.mod.direction.bidirectional", + "category": "modifier", + "primary": "bidirectional", + "synomic": [ + "two‑way", + "back and forth", + "reciprocal", + "dual motion" + ], + "roles": ["modifier"], + "animation": "backforth_shift", + "examples": [ + { "glyphs": "↔️💬", "text": "Two‑way communication." } + ] + }, + { + "glyph": "1️⃣", + "id": "glyph.mod.quantity.single", + "category": "modifier", + "primary": "single / one", + "synomic": [ + "individual", + "solo", + "one unit", + "single instance" + ], + "roles": ["modifier"], + "animation": "single_pulse", + "examples": [ + { "glyphs": "🍎1️⃣", "text": "One apple." } + ] + }, + { + "glyph": "🔢", + "id": "glyph.mod.quantity.multiple", + "category": "modifier", + "primary": "multiple / several", + "synomic": [ + "many", + "more than one", + "plural", + "group amount" + ], + "roles": ["modifier"], + "animation": "multi_shift", + "examples": [ + { "glyphs": "🍎🔢", "text": "Several apples." } + ] + }, + { + "glyph": "🌧️🌧️", + "id": "glyph.mod.frequency.often", + "category": "modifier", + "primary": "often / frequent", + "synomic": [ + "regularly", + "commonly", + "repeatedly", + "frequent occurrence" + ], + "roles": ["modifier"], + "animation": "repeat_soft", + "examples": [ + { "glyphs": "🌧️🌧️💭", "text": "Something that happens often." } + ] + }, + { + "glyph": "🌧️", + "id": "glyph.mod.frequency.rare", + "category": "modifier", + "primary": "rare / infrequent", + "synomic": [ + "uncommon", + "seldom", + "occasional", + "low frequency" + ], + "roles": ["modifier"], + "animation": "rare_drop", + "examples": [ + { "glyphs": "🌧️✨", "text": "A rare event." } + ] + }, + { + "glyph": "📈", + "id": "glyph.mod.quantity.increase_amount", + "category": "modifier", + "primary": "increase amount", + "synomic": [ + "more", + "greater quantity", + "expanded amount" + ], + "roles": ["modifier"], + "animation": "amount_up", + "examples": [ + { "glyphs": "📈💧", "text": "More water / increased amount." } + ] + }, + { + "glyph": "📉", + "id": "glyph.mod.quantity.decrease_amount", + "category": "modifier", + "primary": "decrease amount", + "synomic": [ + "less", + "reduced quantity", + "lower amount" + ], + "roles": ["modifier"], + "animation": "amount_down", + "examples": [ + { "glyphs": "📉💧", "text": "Less water / reduced amount." } + ] + }, + { + "glyph": "🌐", + "id": "glyph.mod.distribution.wide", + "category": "modifier", + "primary": "wide distribution", + "synomic": [ + "spread out", + "global", + "broad coverage", + "widely shared" + ], + "roles": ["modifier"], + "animation": "spread_wave", + "examples": [ + { "glyphs": "🌐✨", "text": "Something spread widely." } + ] + }, + { + "glyph": "🎯", + "id": "glyph.mod.distribution.narrow", + "category": "modifier", + "primary": "narrow / focused", + "synomic": [ + "targeted", + "specific", + "localized", + "precise" + ], + "roles": ["modifier"], + "animation": "focus_pulse", + "examples": [ + { "glyphs": "🎯🔥", "text": "A focused burst of fire." } + ] + }, + { + "glyph": "✔️", + "id": "glyph.mod.certainty.certain", + "category": "modifier", + "primary": "certain / confirmed", + "synomic": [ + "definite", + "verified", + "true", + "confirmed state" + ], + "roles": ["modifier"], + "animation": "certainty_lock", + "examples": [ + { "glyphs": "✔️A", "text": "A is certain." } + ] + }, + { + "glyph": "❓", + "id": "glyph.mod.certainty.unknown", + "category": "modifier", + "primary": "unknown", + "synomic": [ + "unclear", + "unresolved", + "mysterious", + "not yet known" + ], + "roles": ["modifier"], + "animation": "uncertain_pulse", + "examples": [ + { "glyphs": "A❓", "text": "A is unknown." } + ] + }, + { + "glyph": "❔", + "id": "glyph.mod.certainty.maybe", + "category": "modifier", + "primary": "maybe / possible", + "synomic": [ + "potential", + "could be", + "uncertain", + "probable" + ], + "roles": ["modifier"], + "animation": "maybe_fade", + "examples": [ + { "glyphs": "B❔", "text": "B is possible." } + ] + }, + { + "glyph": "🎲", + "id": "glyph.mod.probability.random", + "category": "modifier", + "primary": "random / chance", + "synomic": [ + "stochastic", + "luck‑based", + "unpredictable", + "probabilistic" + ], + "roles": ["modifier"], + "animation": "dice_roll", + "examples": [ + { "glyphs": "🎲➡️?", "text": "Outcome determined by chance." } + ] + }, + { + "glyph": "📊", + "id": "glyph.mod.probability.likely", + "category": "modifier", + "primary": "likely / probable", + "synomic": [ + "expected", + "more likely than not", + "high probability" + ], + "roles": ["modifier"], + "animation": "probability_rise", + "examples": [ + { "glyphs": "📊A", "text": "A is likely." } + ] + }, + { + "glyph": "📉❔", + "id": "glyph.mod.probability.unlikely", + "category": "modifier", + "primary": "unlikely", + "synomic": [ + "low probability", + "not expected", + "rare chance" + ], + "roles": ["modifier"], + "animation": "probability_fall", + "examples": [ + { "glyphs": "📉❔A", "text": "A is unlikely." } + ] + }, + { + "glyph": "🤔", + "id": "glyph.mod.epistemic.considering", + "category": "modifier", + "primary": "considering / thinking", + "synomic": [ + "evaluating", + "reflecting", + "uncertain but analyzing" + ], + "roles": ["modifier"], + "animation": "thought_wave", + "examples": [ + { "glyphs": "🤔A", "text": "Thinking about A." } + ] + }, + { + "glyph": "🧐", + "id": "glyph.mod.epistemic.suspect", + "category": "modifier", + "primary": "suspect / infer", + "synomic": [ + "guess", + "hypothesize", + "assume", + "deduce" + ], + "roles": ["modifier"], + "animation": "inspect_focus", + "examples": [ + { "glyphs": "🧐B", "text": "Suspecting B." } + ] + }, + { + "glyph": "🙂", + "id": "glyph.mod.emotion.warm", + "category": "modifier", + "primary": "warm / friendly tone", + "synomic": [ + "kind", + "gentle", + "pleasant", + "soft positivity" + ], + "roles": ["modifier"], + "animation": "warm_glow", + "examples": [ + { "glyphs": "💬🙂", "text": "A warm, friendly message." } + ] + }, + { + "glyph": "😐", + "id": "glyph.mod.emotion.neutral", + "category": "modifier", + "primary": "neutral tone", + "synomic": [ + "flat", + "unemotional", + "balanced", + "matter‑of‑fact" + ], + "roles": ["modifier"], + "animation": "neutral_fade", + "examples": [ + { "glyphs": "💬😐", "text": "A neutral statement." } + ] + }, + { + "glyph": "😞", + "id": "glyph.mod.emotion.sad", + "category": "modifier", + "primary": "sad / downcast tone", + "synomic": [ + "melancholy", + "somber", + "low mood", + "emotional heaviness" + ], + "roles": ["modifier"], + "animation": "sad_drop", + "examples": [ + { "glyphs": "💬😞", "text": "A message with sadness." } + ] + }, + { + "glyph": "😠", + "id": "glyph.mod.emotion.sharp", + "category": "modifier", + "primary": "sharp / irritated tone", + "synomic": [ + "tense", + "frustrated", + "edgy", + "emotionally sharp" + ], + "roles": ["modifier"], + "animation": "sharp_flash", + "examples": [ + { "glyphs": "💬😠", "text": "A message with irritation." } + ] + }, + { + "glyph": "🤗", + "id": "glyph.mod.emotion.supportive", + "category": "modifier", + "primary": "supportive / comforting tone", + "synomic": [ + "reassuring", + "caring", + "uplifting", + "emotionally supportive" + ], + "roles": ["modifier"], + "animation": "supportive_pulse", + "examples": [ + { "glyphs": "💬🤗", "text": "A comforting message." } + ] + }, + { + "glyph": "😎", + "id": "glyph.mod.emotion.cool", + "category": "modifier", + "primary": "cool / confident tone", + "synomic": [ + "relaxed", + "smooth", + "self‑assured", + "laid‑back" + ], + "roles": ["modifier"], + "animation": "cool_slide", + "examples": [ + { "glyphs": "💬😎", "text": "A confident, relaxed tone." } + ] + }, + { + "glyph": "🥺", + "id": "glyph.mod.emotion.soft", + "category": "modifier", + "primary": "soft / vulnerable tone", + "synomic": [ + "tender", + "gentle", + "emotionally open", + "sensitive" + ], + "roles": ["modifier"], + "animation": "soft_glimmer", + "examples": [ + { "glyphs": "💬🥺", "text": "A soft, vulnerable message." } + ] + }, + { + "glyph": "🤨", + "id": "glyph.mod.emotion.skeptical", + "category": "modifier", + "primary": "skeptical / doubtful tone", + "synomic": [ + "questioning", + "uncertain", + "side‑eye", + "mild suspicion" + ], + "roles": ["modifier"], + "animation": "skeptic_tilt", + "examples": [ + { "glyphs": "💬🤨", "text": "A skeptical tone." } + ] + }, + { + "glyph": "✨", + "id": "glyph.mod.quality.bright", + "category": "modifier", + "primary": "bright / luminous", + "synomic": [ + "glowing", + "radiant", + "shiny", + "light‑filled" + ], + "roles": ["modifier"], + "animation": "bright_twinkle", + "examples": [ + { "glyphs": "✨🌙", "text": "A bright moon." } + ] + }, + { + "glyph": "🌑", + "id": "glyph.mod.quality.dark", + "category": "modifier", + "primary": "dark / shadowed", + "synomic": [ + "dim", + "low‑light", + "shadowy", + "obscured" + ], + "roles": ["modifier"], + "animation": "dark_fade", + "examples": [ + { "glyphs": "🌑🔥", "text": "Fire in darkness." } + ] + }, + { + "glyph": "〰️", + "id": "glyph.mod.texture.smooth", + "category": "modifier", + "primary": "smooth / fluid", + "synomic": [ + "soft", + "gentle", + "flowing", + "even" + ], + "roles": ["modifier"], + "animation": "smooth_wave", + "examples": [ + { "glyphs": "〰️🌊", "text": "Smooth waves." } + ] + }, + { + "glyph": "⬛⬜", + "id": "glyph.mod.texture.rough", + "category": "modifier", + "primary": "rough / uneven", + "synomic": [ + "textured", + "coarse", + "jagged", + "irregular" + ], + "roles": ["modifier"], + "animation": "rough_shake", + "examples": [ + { "glyphs": "⬛⬜🪨", "text": "A rough stone." } + ] + }, + { + "glyph": "🧼", + "id": "glyph.mod.quality.clean", + "category": "modifier", + "primary": "clean / pure", + "synomic": [ + "clear", + "uncluttered", + "pure", + "refined" + ], + "roles": ["modifier"], + "animation": "clean_shine", + "examples": [ + { "glyphs": "🧼✨", "text": "Clean and polished." } + ] + }, + { + "glyph": "🌪️", + "id": "glyph.mod.quality.chaotic", + "category": "modifier", + "primary": "chaotic / turbulent", + "synomic": [ + "wild", + "disordered", + "unstable", + "stormy" + ], + "roles": ["modifier"], + "animation": "chaos_spin", + "examples": [ + { "glyphs": "🌪️🔥", "text": "Chaotic fire." } + ] + }, + { + "glyph": "🪨", + "id": "glyph.mod.quality.solid", + "category": "modifier", + "primary": "solid / stable", + "synomic": [ + "firm", + "grounded", + "steady", + "strong" + ], + "roles": ["modifier"], + "animation": "solid_settle", + "examples": [ + { "glyphs": "🪨⚖️", "text": "Stable balance." } + ] + }, + { + "glyph": "🌫️", + "id": "glyph.mod.quality.soft", + "category": "modifier", + "primary": "soft / diffuse", + "synomic": [ + "gentle", + "light", + "misty", + "low definition" + ], + "roles": ["modifier"], + "animation": "soft_fade", + "examples": [ + { "glyphs": "🌫️✨", "text": "Soft glowing light." } + ] + }, + { + "glyph": "↔️", + "id": "glyph.mod.relation.mutual", + "category": "modifier", + "primary": "mutual / reciprocal", + "synomic": [ + "two‑way", + "shared", + "bidirectional", + "mutually linked" + ], + "roles": ["modifier"], + "animation": "mutual_shift", + "examples": [ + { "glyphs": "A ↔️ B", "text": "A and B influence each other." } + ] + }, + { + "glyph": "➡️", + "id": "glyph.mod.relation.toward", + "category": "modifier", + "primary": "toward / approaching", + "synomic": [ + "moving to", + "approaching", + "directed at", + "aimed toward" + ], + "roles": ["modifier"], + "animation": "toward_flow", + "examples": [ + { "glyphs": "👤➡️✨", "text": "Moving toward the light." } + ] + }, + { + "glyph": "⬅️", + "id": "glyph.mod.relation.away", + "category": "modifier", + "primary": "away / distancing", + "synomic": [ + "moving from", + "retreating", + "pulling away", + "distancing" + ], + "roles": ["modifier"], + "animation": "away_fade", + "examples": [ + { "glyphs": "👤⬅️🔥", "text": "Moving away from danger." } + ] + }, + { + "glyph": "🔗", + "id": "glyph.mod.relation.connected", + "category": "modifier", + "primary": "connected / linked", + "synomic": [ + "associated", + "joined", + "bound", + "related" + ], + "roles": ["modifier"], + "animation": "link_pulse", + "examples": [ + { "glyphs": "A 🔗 B", "text": "A is connected to B." } + ] + }, + { + "glyph": "✂️", + "id": "glyph.mod.relation.separate", + "category": "modifier", + "primary": "separate / cut", + "synomic": [ + "disconnect", + "divide", + "split", + "isolate" + ], + "roles": ["modifier"], + "animation": "cut_snap", + "examples": [ + { "glyphs": "A ✂️ B", "text": "A is separated from B." } + ] + }, + { + "glyph": "🧲", + "id": "glyph.mod.relation.attract", + "category": "modifier", + "primary": "attract / draw toward", + "synomic": [ + "pull", + "magnetize", + "draw in", + "gravitate" + ], + "roles": ["modifier"], + "animation": "attract_pull", + "examples": [ + { "glyphs": "A 🧲 B", "text": "A attracts B." } + ] + }, + { + "glyph": "🚫🧲", + "id": "glyph.mod.relation.repel", + "category": "modifier", + "primary": "repel / push away", + "synomic": [ + "push", + "reject", + "drive off", + "anti‑attraction" + ], + "roles": ["modifier"], + "animation": "repel_flash", + "examples": [ + { "glyphs": "A 🚫🧲 B", "text": "A repels B." } + ] + }, + { + "glyph": "≈", + "id": "glyph.mod.relation.similar", + "category": "modifier", + "primary": "similar / resembles", + "synomic": [ + "alike", + "comparable", + "close to", + "similar pattern" + ], + "roles": ["modifier"], + "animation": "similar_soft", + "examples": [ + { "glyphs": "A ≈ B", "text": "A is similar to B." } + ] + }, + { + "glyph": "≠", + "id": "glyph.mod.relation.contrast", + "category": "modifier", + "primary": "contrast / difference", + "synomic": [ + "opposite", + "distinct", + "not equal", + "contrasting" + ], + "roles": ["modifier"], + "animation": "contrast_sharp", + "examples": [ + { "glyphs": "A ≠ B", "text": "A is different from B." } + ] + }, + { + "glyph": "📍", + "id": "glyph.mod.relation.near", + "category": "modifier", + "primary": "near / close to", + "synomic": [ + "adjacent", + "nearby", + "close proximity", + "next to" + ], + "roles": ["modifier"], + "animation": "near_pulse", + "examples": [ + { "glyphs": "A 📍 B", "text": "A is near B." } + ] + }, + { + "glyph": "🗺️", + "id": "glyph.mod.relation.far", + "category": "modifier", + "primary": "far / distant", + "synomic": [ + "remote", + "far away", + "distant relation", + "not close" + ], + "roles": ["modifier"], + "animation": "far_fade", + "examples": [ + { "glyphs": "A 🗺️ B", "text": "A is far from B." } + ] + }, + { + "glyph": "⏱️", + "id": "glyph.mod.time.instant", + "category": "modifier", + "primary": "instant / immediate", + "synomic": [ + "right now", + "immediate effect", + "no delay", + "instantaneous" + ], + "roles": ["modifier"], + "animation": "instant_flash", + "examples": [ + { "glyphs": "⏱️➡️✨", "text": "Something happens instantly." } + ] + }, + { + "glyph": "⏳", + "id": "glyph.mod.time.delay", + "category": "modifier", + "primary": "delay / waiting", + "synomic": [ + "pause", + "time passing", + "pending", + "temporal gap" + ], + "roles": ["modifier"], + "animation": "sand_fall", + "examples": [ + { "glyphs": "⏳➡️A", "text": "A happens after a delay." } + ] + }, + { + "glyph": "🕰️", + "id": "glyph.mod.time.long", + "category": "modifier", + "primary": "long duration", + "synomic": [ + "extended", + "prolonged", + "lasting", + "long‑term" + ], + "roles": ["modifier"], + "animation": "long_tick", + "examples": [ + { "glyphs": "A🕰️", "text": "A lasts a long time." } + ] + }, + { + "glyph": "⚡", + "id": "glyph.mod.time.short", + "category": "modifier", + "primary": "short duration", + "synomic": [ + "brief", + "momentary", + "quick", + "short‑term" + ], + "roles": ["modifier"], + "animation": "short_flash", + "examples": [ + { "glyphs": "A⚡", "text": "A happens briefly." } + ] + }, + { + "glyph": "🔁", + "id": "glyph.mod.time.repeat", + "category": "modifier", + "primary": "repeat / recurring", + "synomic": [ + "again", + "cycle", + "loop", + "repeatedly" + ], + "roles": ["modifier"], + "animation": "loop_spin", + "examples": [ + { "glyphs": "A🔁", "text": "A repeats." } + ] + }, + { + "glyph": "🌅", + "id": "glyph.mod.time.begin", + "category": "modifier", + "primary": "beginning / start", + "synomic": [ + "initiate", + "onset", + "opening", + "start phase" + ], + "roles": ["modifier"], + "animation": "begin_glow", + "examples": [ + { "glyphs": "🌅A", "text": "The beginning of A." } + ] + }, + { + "glyph": "🌇", + "id": "glyph.mod.time.end", + "category": "modifier", + "primary": "ending / finish", + "synomic": [ + "closure", + "final phase", + "completion", + "conclusion" + ], + "roles": ["modifier"], + "animation": "end_fade", + "examples": [ + { "glyphs": "A🌇", "text": "The end of A." } + ] + }, + { + "glyph": "🌗", + "id": "glyph.mod.time.phase", + "category": "modifier", + "primary": "phase / stage", + "synomic": [ + "step", + "period", + "cycle stage", + "transition point" + ], + "roles": ["modifier"], + "animation": "phase_shift", + "examples": [ + { "glyphs": "A🌗", "text": "A is in a particular phase." } + ] + }, + { + "glyph": "🔀", + "id": "glyph.mod.time.transition", + "category": "modifier", + "primary": "transition / shift", + "synomic": [ + "change", + "move between states", + "shift phase", + "temporal transition" + ], + "roles": ["modifier"], + "animation": "transition_wave", + "examples": [ + { "glyphs": "A🔀B", "text": "A transitions into B." } + ] + }, + { + "glyph": "👁️", + "id": "glyph.mod.perspective.observe", + "category": "modifier", + "primary": "observing / external view", + "synomic": [ + "from outside", + "witnessing", + "third‑person view", + "external perspective" + ], + "roles": ["modifier"], + "animation": "observe_focus", + "examples": [ + { "glyphs": "👁️A", "text": "Viewing A from the outside." } + ] + }, + { + "glyph": "👤💭", + "id": "glyph.mod.perspective.internal", + "category": "modifier", + "primary": "internal / subjective", + "synomic": [ + "from within", + "inner experience", + "first‑person", + "subjective perspective" + ], + "roles": ["modifier"], + "animation": "inner_glow", + "examples": [ + { "glyphs": "👤💭A", "text": "Experiencing A internally." } + ] + }, + { + "glyph": "🔍", + "id": "glyph.mod.context.narrow", + "category": "modifier", + "primary": "narrow focus", + "synomic": [ + "zoom in", + "specific", + "detailed", + "tight scope" + ], + "roles": ["modifier"], + "animation": "zoom_in", + "examples": [ + { "glyphs": "A🔍", "text": "A viewed in narrow detail." } + ] + }, + { + "glyph": "🌐", + "id": "glyph.mod.context.broad", + "category": "modifier", + "primary": "broad context", + "synomic": [ + "zoom out", + "big picture", + "wide scope", + "global framing" + ], + "roles": ["modifier"], + "animation": "zoom_out", + "examples": [ + { "glyphs": "A🌐", "text": "A viewed in broad context." } + ] + }, + { + "glyph": "📦", + "id": "glyph.mod.context.local", + "category": "modifier", + "primary": "local context", + "synomic": [ + "nearby", + "immediate environment", + "local framing", + "close context" + ], + "roles": ["modifier"], + "animation": "local_focus", + "examples": [ + { "glyphs": "A📦", "text": "A in its local context." } + ] + }, + { + "glyph": "🗺️", + "id": "glyph.mod.context.global", + "category": "modifier", + "primary": "global context", + "synomic": [ + "worldwide", + "macro view", + "large‑scale", + "global framing" + ], + "roles": ["modifier"], + "animation": "global_wave", + "examples": [ + { "glyphs": "A🗺️", "text": "A in global context." } + ] + }, + { + "glyph": "🎭", + "id": "glyph.mod.perspective.role", + "category": "modifier", + "primary": "role‑based perspective", + "synomic": [ + "in character", + "from a role", + "adopting a viewpoint", + "contextual persona" + ], + "roles": ["modifier"], + "animation": "role_shift", + "examples": [ + { "glyphs": "A🎭", "text": "A expressed from a specific role." } + ] + }, + { + "glyph": "🧭", + "id": "glyph.mod.context.orientation", + "category": "modifier", + "primary": "contextual orientation", + "synomic": [ + "framing direction", + "interpretive stance", + "navigational context", + "semantic orientation" + ], + "roles": ["modifier"], + "animation": "compass_turn", + "examples": [ + { "glyphs": "A🧭", "text": "A oriented within a specific context." } + ] + }, + { + "glyph": "⭐", + "id": "glyph.mod.meta.important", + "category": "modifier", + "primary": "important / key point", + "synomic": [ + "significant", + "notable", + "priority", + "highlighted meaning" + ], + "roles": ["modifier"], + "animation": "importance_glow", + "examples": [ + { "glyphs": "⭐A", "text": "A is an important concept." } + ] + }, + { + "glyph": "🔽✨", + "id": "glyph.mod.meta.minor", + "category": "modifier", + "primary": "minor / low priority", + "synomic": [ + "small detail", + "less important", + "secondary", + "low emphasis" + ], + "roles": ["modifier"], + "animation": "minor_fade", + "examples": [ + { "glyphs": "A🔽✨", "text": "A is a minor detail." } + ] + }, + { + "glyph": "🔺", + "id": "glyph.mod.meta.abstract", + "category": "modifier", + "primary": "abstract / conceptual", + "synomic": [ + "high‑level", + "conceptual framing", + "non‑literal", + "generalized meaning" + ], + "roles": ["modifier"], + "animation": "abstract_shift", + "examples": [ + { "glyphs": "A🔺", "text": "A expressed abstractly." } + ] + }, + { + "glyph": "🔻", + "id": "glyph.mod.meta.concrete", + "category": "modifier", + "primary": "concrete / literal", + "synomic": [ + "specific", + "tangible", + "literal meaning", + "low‑level detail" + ], + "roles": ["modifier"], + "animation": "concrete_drop", + "examples": [ + { "glyphs": "A🔻", "text": "A expressed concretely." } + ] + }, + { + "glyph": "♾️✨", + "id": "glyph.mod.meta.universal", + "category": "modifier", + "primary": "universal / applies broadly", + "synomic": [ + "general truth", + "wide applicability", + "cosmic relevance", + "broad principle" + ], + "roles": ["modifier"], + "animation": "universal_pulse", + "examples": [ + { "glyphs": "A♾️✨", "text": "A is universally applicable." } + ] + }, + { + "glyph": "📍✨", + "id": "glyph.mod.meta.specific_case", + "category": "modifier", + "primary": "specific case / instance", + "synomic": [ + "example", + "particular", + "instance‑level", + "case‑specific" + ], + "roles": ["modifier"], + "animation": "specific_focus", + "examples": [ + { "glyphs": "A📍✨", "text": "A refers to a specific instance." } + ] + }, + { + "glyph": "🧩✨", + "id": "glyph.mod.meta.component_level", + "category": "modifier", + "primary": "component‑level meaning", + "synomic": [ + "sub‑element", + "module", + "part of a whole", + "structural piece" + ], + "roles": ["modifier"], + "animation": "component_snap", + "examples": [ + { "glyphs": "A🧩✨", "text": "A is a component of something larger." } + ] + }, + { + "glyph": "🏛️✨", + "id": "glyph.mod.meta.foundational", + "category": "modifier", + "primary": "foundational / core principle", + "synomic": [ + "root concept", + "fundamental", + "base layer", + "structural foundation" + ], + "roles": ["modifier"], + "animation": "foundation_glow", + "examples": [ + { "glyphs": "A🏛️✨", "text": "A is a foundational principle." } + ] + } +] + + + + + diff --git a/dictionary/objects.json b/dictionary/objects.json new file mode 100644 index 0000000000000000000000000000000000000000..33ce50cf15da1224a420b2a9b5e921847864272b --- /dev/null +++ b/dictionary/objects.json @@ -0,0 +1,1606 @@ +[ + { + "glyph": "📦", + "id": "glyph.object.container.box", + "category": "object", + "primary": "box", + "synomic": [ + "container", + "package", + "parcel", + "storage" + ], + "roles": ["object"], + "animation": "box_idle", + "examples": [ + { "glyphs": "📦➡️🏠", "text": "A package arriving at home." } + ] + }, + { + "glyph": "📕", + "id": "glyph.object.media.book.closed", + "category": "object", + "primary": "closed book", + "synomic": [ + "book", + "story", + "knowledge", + "reading material" + ], + "roles": ["object"], + "animation": "book_closed", + "examples": [ + { "glyphs": "📕📚", "text": "A book among others." } + ] + }, + { + "glyph": "📖", + "id": "glyph.object.media.book.open", + "category": "object", + "primary": "open book", + "synomic": [ + "reading", + "study", + "knowledge", + "story" + ], + "roles": ["object"], + "animation": "book_open", + "examples": [ + { "glyphs": "📖🕯️", "text": "Reading by candlelight." } + ] + }, + { + "glyph": "📱", + "id": "glyph.object.device.phone", + "category": "object", + "primary": "phone", + "synomic": [ + "mobile device", + "smartphone", + "communication tool" + ], + "roles": ["object"], + "animation": "phone_tap", + "examples": [ + { "glyphs": "📱💬", "text": "Messaging on the phone." } + ] + }, + { + "glyph": "💻", + "id": "glyph.object.device.laptop", + "category": "object", + "primary": "laptop", + "synomic": [ + "computer", + "digital device", + "work tool" + ], + "roles": ["object"], + "animation": "laptop_open", + "examples": [ + { "glyphs": "💻⌨️", "text": "Typing on a laptop." } + ] + }, + { + "glyph": "⌚", + "id": "glyph.object.device.watch", + "category": "object", + "primary": "watch", + "synomic": [ + "timepiece", + "clock", + "wearable device" + ], + "roles": ["object"], + "animation": "watch_tick", + "examples": [ + { "glyphs": "⌚⏱️", "text": "Checking the time." } + ] + }, + { + "glyph": "🔑", + "id": "glyph.object.tool.key", + "category": "object", + "primary": "key", + "synomic": [ + "unlock", + "access", + "security", + "entry" + ], + "roles": ["object", "symbol"], + "animation": "key_turn", + "examples": [ + { "glyphs": "🔑🚪", "text": "Unlocking a door." } + ] + }, + { + "glyph": "🪑", + "id": "glyph.object.furniture.chair", + "category": "object", + "primary": "chair", + "synomic": [ + "seat", + "furniture", + "place to sit" + ], + "roles": ["object"], + "animation": "chair_idle", + "examples": [ + { "glyphs": "🪑🧘", "text": "Sitting calmly." } + ] + }, + { + "glyph": "🛏️", + "id": "glyph.object.furniture.bed", + "category": "object", + "primary": "bed", + "synomic": [ + "sleep", + "rest", + "furniture", + "comfort" + ], + "roles": ["object"], + "animation": "bed_idle", + "examples": [ + { "glyphs": "🛏️😴", "text": "Sleeping in bed." } + ] + }, + { + "glyph": "🍎", + "id": "glyph.object.food.apple", + "category": "object", + "primary": "apple", + "synomic": [ + "fruit", + "food", + "snack", + "healthy" + ], + "roles": ["object"], + "animation": "fruit_idle", + "examples": [ + { "glyphs": "🍎🧺", "text": "An apple in a basket." } + ] + }, + { + "glyph": "🍞", + "id": "glyph.object.food.bread", + "category": "object", + "primary": "bread", + "synomic": [ + "food", + "loaf", + "meal", + "basic nourishment" + ], + "roles": ["object"], + "animation": "bread_idle", + "examples": [ + { "glyphs": "🍞🍽️", "text": "Bread for a meal." } + ] + }, + { + "glyph": "🧊", + "id": "glyph.object.material.ice", + "category": "object", + "primary": "ice", + "synomic": [ + "cold", + "frozen water", + "chill", + "cooling" + ], + "roles": ["object", "modifier"], + "animation": "ice_glow", + "examples": [ + { "glyphs": "🧊🥤", "text": "Ice in a drink." } + ] + }, + { + "glyph": "🪨", + "id": "glyph.object.material.rock", + "category": "object", + "primary": "rock", + "synomic": [ + "stone", + "solid material", + "foundation", + "weight" + ], + "roles": ["object"], + "animation": "rock_idle", + "examples": [ + { "glyphs": "🪨🌱", "text": "A rock near a sprout." } + ] + }, + { + "glyph": "🪵", + "id": "glyph.object.material.wood", + "category": "object", + "primary": "wood", + "synomic": [ + "timber", + "material", + "fuel", + "construction" + ], + "roles": ["object"], + "animation": "wood_idle", + "examples": [ + { "glyphs": "🪵🔥", "text": "Wood for a fire." } + ] + }, + { + "glyph": "🔨", + "id": "glyph.object.tool.hammer", + "category": "object", + "primary": "hammer", + "synomic": [ + "tool", + "construction", + "nail driver", + "building" + ], + "roles": ["object"], + "animation": "hammer_idle", + "examples": [ + { "glyphs": "🔨🪵", "text": "Hammering wood." } + ] + }, + { + "glyph": "🔧", + "id": "glyph.object.tool.wrench", + "category": "object", + "primary": "wrench", + "synomic": [ + "tool", + "tighten", + "loosen", + "mechanical work" + ], + "roles": ["object"], + "animation": "wrench_idle", + "examples": [ + { "glyphs": "🔧🚗", "text": "Using a wrench on a car." } + ] + }, + { + "glyph": "🪚", + "id": "glyph.object.tool.saw", + "category": "object", + "primary": "saw", + "synomic": [ + "cut wood", + "tool", + "carpentry", + "construction" + ], + "roles": ["object"], + "animation": "saw_idle", + "examples": [ + { "glyphs": "🪚🪵", "text": "Sawing wood." } + ] + }, + { + "glyph": "🪛", + "id": "glyph.object.tool.screwdriver", + "category": "object", + "primary": "screwdriver", + "synomic": [ + "tool", + "tighten", + "loosen", + "mechanical" + ], + "roles": ["object"], + "animation": "screw_idle", + "examples": [ + { "glyphs": "🪛🔩", "text": "Tightening a bolt." } + ] + }, + { + "glyph": "🔪", + "id": "glyph.object.tool.knife", + "category": "object", + "primary": "knife", + "synomic": [ + "cutting tool", + "kitchen knife", + "sharp object" + ], + "roles": ["object"], + "animation": "knife_idle", + "examples": [ + { "glyphs": "🔪🥕", "text": "Cutting vegetables." } + ] + }, + { + "glyph": "🍴", + "id": "glyph.object.utensil.cutlery", + "category": "object", + "primary": "fork and knife", + "synomic": [ + "eating utensils", + "meal tools", + "dining" + ], + "roles": ["object"], + "animation": "cutlery_idle", + "examples": [ + { "glyphs": "🍴🍽️", "text": "Preparing to eat." } + ] + }, + { + "glyph": "🥄", + "id": "glyph.object.utensil.spoon", + "category": "object", + "primary": "spoon", + "synomic": [ + "utensil", + "scoop", + "stir", + "eat" + ], + "roles": ["object"], + "animation": "spoon_idle", + "examples": [ + { "glyphs": "🥄🍲", "text": "Eating soup." } + ] + }, + { + "glyph": "🧹", + "id": "glyph.object.household.broom", + "category": "object", + "primary": "broom", + "synomic": [ + "cleaning tool", + "sweep", + "household item" + ], + "roles": ["object"], + "animation": "broom_idle", + "examples": [ + { "glyphs": "🧹🗑️", "text": "Sweeping debris." } + ] + }, + { + "glyph": "🧽", + "id": "glyph.object.household.sponge", + "category": "object", + "primary": "sponge", + "synomic": [ + "cleaning", + "absorb", + "wipe", + "household tool" + ], + "roles": ["object"], + "animation": "sponge_idle", + "examples": [ + { "glyphs": "🧽🧼", "text": "Cleaning with soap." } + ] + }, + { + "glyph": "🪣", + "id": "glyph.object.household.bucket", + "category": "object", + "primary": "bucket", + "synomic": [ + "container", + "carry water", + "hold materials" + ], + "roles": ["object"], + "animation": "bucket_idle", + "examples": [ + { "glyphs": "🪣💧", "text": "A bucket of water." } + ] + }, + { + "glyph": "🕯️", + "id": "glyph.object.symbolic.candle", + "category": "object", + "primary": "candle", + "synomic": [ + "light", + "ritual", + "memory", + "ceremony" + ], + "roles": ["object", "symbol"], + "animation": "candle_flicker", + "examples": [ + { "glyphs": "🕯️🌙", "text": "A candle lit at night." } + ] + }, + { + "glyph": "🔮", + "id": "glyph.object.symbolic.crystal_ball", + "category": "object", + "primary": "crystal ball", + "synomic": [ + "mysticism", + "divination", + "future sight", + "magic" + ], + "roles": ["object", "symbol"], + "animation": "crystal_glow", + "examples": [ + { "glyphs": "🔮✨", "text": "A magical vision." } + ] + }, + { + "glyph": "💾", + "id": "glyph.object.digital.disk", + "category": "object", + "primary": "save disk", + "synomic": [ + "data storage", + "memory", + "file", + "digital archive" + ], + "roles": ["object", "symbol"], + "animation": "disk_idle", + "examples": [ + { "glyphs": "💾📁", "text": "Saving a file." } + ] + }, + { + "glyph": "🗂️", + "id": "glyph.object.digital.folders", + "category": "object", + "primary": "folders", + "synomic": [ + "organization", + "files", + "sorting", + "digital storage" + ], + "roles": ["object"], + "animation": "folder_idle", + "examples": [ + { "glyphs": "🗂️💻", "text": "Organizing files on a computer." } + ] + }, + { + "glyph": "🧴", + "id": "glyph.object.container.bottle", + "category": "object", + "primary": "bottle", + "synomic": [ + "container", + "liquid storage", + "cosmetic bottle", + "cleaning bottle" + ], + "roles": ["object"], + "animation": "bottle_idle", + "examples": [ + { "glyphs": "🧴🫧", "text": "A bottle of soap." } + ] + }, + { + "glyph": "🫙", + "id": "glyph.object.container.jar", + "category": "object", + "primary": "jar", + "synomic": [ + "container", + "glass jar", + "storage", + "preserve" + ], + "roles": ["object"], + "animation": "jar_idle", + "examples": [ + { "glyphs": "🫙🍯", "text": "A jar of honey." } + ] + }, + { + "glyph": "⚔️", + "id": "glyph.object.weapon.swords", + "category": "object", + "primary": "crossed swords", + "synomic": [ + "combat", + "battle", + "weapon", + "duel" + ], + "roles": ["object", "symbol"], + "animation": "sword_clash", + "examples": [ + { "glyphs": "⚔️🛡️", "text": "Weapons and defense." } + ] + }, + { + "glyph": "🗡️", + "id": "glyph.object.weapon.dagger", + "category": "object", + "primary": "dagger", + "synomic": [ + "knife", + "blade", + "weapon", + "stealth tool" + ], + "roles": ["object"], + "animation": "blade_idle", + "examples": [ + { "glyphs": "🗡️🧥", "text": "A dagger concealed in clothing." } + ] + }, + { + "glyph": "🏹", + "id": "glyph.object.weapon.bow", + "category": "object", + "primary": "bow and arrow", + "synomic": [ + "archery", + "ranged weapon", + "hunt", + "aim" + ], + "roles": ["object"], + "animation": "bow_draw", + "examples": [ + { "glyphs": "🏹🎯", "text": "Aiming at a target." } + ] + }, + { + "glyph": "🚗", + "id": "glyph.object.vehicle.car", + "category": "object", + "primary": "car", + "synomic": [ + "vehicle", + "transportation", + "drive", + "automobile" + ], + "roles": ["object"], + "animation": "car_idle", + "examples": [ + { "glyphs": "🚗➡️🏙️", "text": "Driving to the city." } + ] + }, + { + "glyph": "🚙", + "id": "glyph.object.vehicle.suv", + "category": "object", + "primary": "SUV", + "synomic": [ + "vehicle", + "car", + "transport", + "off‑road" + ], + "roles": ["object"], + "animation": "car_idle", + "examples": [ + { "glyphs": "🚙🌄", "text": "Driving through hills." } + ] + }, + { + "glyph": "🏍️", + "id": "glyph.object.vehicle.motorcycle", + "category": "object", + "primary": "motorcycle", + "synomic": [ + "bike", + "motorbike", + "fast vehicle", + "ride" + ], + "roles": ["object"], + "animation": "motorcycle_rev", + "examples": [ + { "glyphs": "🏍️💨", "text": "Riding fast." } + ] + }, + { + "glyph": "🚲", + "id": "glyph.object.vehicle.bicycle", + "category": "object", + "primary": "bicycle", + "synomic": [ + "bike", + "pedal", + "transport", + "ride" + ], + "roles": ["object"], + "animation": "bike_idle", + "examples": [ + { "glyphs": "🚲🌳", "text": "Riding through nature." } + ] + }, + { + "glyph": "🚚", + "id": "glyph.object.vehicle.truck", + "category": "object", + "primary": "truck", + "synomic": [ + "transport", + "delivery", + "cargo", + "hauling" + ], + "roles": ["object"], + "animation": "truck_idle", + "examples": [ + { "glyphs": "🚚📦", "text": "Delivering packages." } + ] + }, + { + "glyph": "✈️", + "id": "glyph.object.vehicle.airplane", + "category": "object", + "primary": "airplane", + "synomic": [ + "flight", + "travel", + "air transport", + "journey" + ], + "roles": ["object"], + "animation": "plane_fly", + "examples": [ + { "glyphs": "✈️🌍", "text": "Flying across the world." } + ] + }, + { + "glyph": "🚀", + "id": "glyph.object.vehicle.rocket", + "category": "object", + "primary": "rocket", + "synomic": [ + "spacecraft", + "launch", + "space travel", + "exploration" + ], + "roles": ["object", "symbol"], + "animation": "rocket_launch", + "examples": [ + { "glyphs": "🚀🌌", "text": "Launching into space." } + ] + }, + { + "glyph": "🎸", + "id": "glyph.object.instrument.guitar", + "category": "object", + "primary": "guitar", + "synomic": [ + "instrument", + "music", + "string instrument", + "play" + ], + "roles": ["object"], + "animation": "guitar_strum", + "examples": [ + { "glyphs": "🎸🎶", "text": "Playing guitar." } + ] + }, + { + "glyph": "🥁", + "id": "glyph.object.instrument.drum", + "category": "object", + "primary": "drum", + "synomic": [ + "instrument", + "rhythm", + "beat", + "percussion" + ], + "roles": ["object"], + "animation": "drum_hit", + "examples": [ + { "glyphs": "🥁🔥", "text": "Energetic drumming." } + ] + }, + { + "glyph": "🎹", + "id": "glyph.object.instrument.piano", + "category": "object", + "primary": "piano", + "synomic": [ + "keyboard", + "instrument", + "music", + "melody" + ], + "roles": ["object"], + "animation": "piano_play", + "examples": [ + { "glyphs": "🎹🎼", "text": "Playing piano music." } + ] + }, + { + "glyph": "🖨️", + "id": "glyph.object.machine.printer", + "category": "object", + "primary": "printer", + "synomic": [ + "machine", + "print", + "office device", + "document output" + ], + "roles": ["object"], + "animation": "printer_run", + "examples": [ + { "glyphs": "🖨️📄", "text": "Printing a document." } + ] + }, + { + "glyph": "🧯", + "id": "glyph.object.tool.extinguisher", + "category": "object", + "primary": "fire extinguisher", + "synomic": [ + "safety tool", + "fire control", + "emergency equipment" + ], + "roles": ["object"], + "animation": "extinguisher_spray", + "examples": [ + { "glyphs": "🧯🔥", "text": "Putting out a fire." } + ] + }, + { + "glyph": "🧰", + "id": "glyph.object.tool.toolbox", + "category": "object", + "primary": "toolbox", + "synomic": [ + "tools", + "repair kit", + "mechanic set", + "equipment" + ], + "roles": ["object"], + "animation": "toolbox_open", + "examples": [ + { "glyphs": "🧰🛠️", "text": "Opening the toolbox." } + ] + }, + { + "glyph": "🌳", + "id": "glyph.object.nature.tree", + "category": "object", + "primary": "tree", + "synomic": [ + "forest", + "nature", + "growth", + "wood source" + ], + "roles": ["object"], + "animation": "tree_idle", + "examples": [ + { "glyphs": "🌳🌲", "text": "Trees in a forest." } + ] + }, + { + "glyph": "🌲", + "id": "glyph.object.nature.tree.conifer", + "category": "object", + "primary": "pine tree", + "synomic": [ + "evergreen", + "forest", + "mountain tree" + ], + "roles": ["object"], + "animation": "tree_idle", + "examples": [ + { "glyphs": "🌲🏔️", "text": "Pines near mountains." } + ] + }, + { + "glyph": "🌱", + "id": "glyph.object.nature.sprout", + "category": "object", + "primary": "sprout", + "synomic": [ + "growth", + "seedling", + "new life", + "beginning" + ], + "roles": ["object", "symbol"], + "animation": "sprout_grow", + "examples": [ + { "glyphs": "🌱✨", "text": "A new beginning." } + ] + }, + { + "glyph": "🌿", + "id": "glyph.object.nature.herb", + "category": "object", + "primary": "leafy herb", + "synomic": [ + "plant", + "greenery", + "nature", + "healing" + ], + "roles": ["object"], + "animation": "leaf_rustle", + "examples": [ + { "glyphs": "🌿🍃", "text": "Leaves blowing in the wind." } + ] + }, + { + "glyph": "🍃", + "id": "glyph.object.nature.leaf", + "category": "object", + "primary": "leaf", + "synomic": [ + "nature", + "wind", + "falling leaf", + "movement" + ], + "roles": ["object", "symbol"], + "animation": "leaf_fall", + "examples": [ + { "glyphs": "🍃💨", "text": "A leaf carried by wind." } + ] + }, + { + "glyph": "🌾", + "id": "glyph.object.nature.grass", + "category": "object", + "primary": "grass", + "synomic": [ + "field", + "nature", + "plants", + "growth" + ], + "roles": ["object"], + "animation": "grass_wave", + "examples": [ + { "glyphs": "🌾🌤️", "text": "Grass in sunlight." } + ] + }, + { + "glyph": "🌻", + "id": "glyph.object.nature.flower.sunflower", + "category": "object", + "primary": "sunflower", + "synomic": [ + "flower", + "sun", + "growth", + "brightness" + ], + "roles": ["object"], + "animation": "flower_idle", + "examples": [ + { "glyphs": "🌻☀️", "text": "A sunflower facing the sun." } + ] + }, + { + "glyph": "🌺", + "id": "glyph.object.nature.flower.hibiscus", + "category": "object", + "primary": "hibiscus", + "synomic": [ + "flower", + "beauty", + "tropical", + "bloom" + ], + "roles": ["object"], + "animation": "flower_idle", + "examples": [ + { "glyphs": "🌺🌴", "text": "A tropical flower." } + ] + }, + { + "glyph": "🔥", + "id": "glyph.object.element.fire", + "category": "object", + "primary": "fire", + "synomic": [ + "flame", + "heat", + "energy", + "destruction" + ], + "roles": ["object", "symbol"], + "animation": "fire_burn", + "examples": [ + { "glyphs": "🔥🪵", "text": "Fire burning wood." } + ] + }, + { + "glyph": "💧", + "id": "glyph.object.element.water", + "category": "object", + "primary": "water droplet", + "synomic": [ + "liquid", + "hydration", + "flow", + "emotion" + ], + "roles": ["object", "symbol"], + "animation": "water_drop", + "examples": [ + { "glyphs": "💧🌧️", "text": "A drop of rain." } + ] + }, + { + "glyph": "🌊", + "id": "glyph.object.element.wave", + "category": "object", + "primary": "wave", + "synomic": [ + "ocean", + "water", + "movement", + "flow" + ], + "roles": ["object"], + "animation": "wave_motion", + "examples": [ + { "glyphs": "🌊🌅", "text": "Waves at sunrise." } + ] + }, + { + "glyph": "🌬️", + "id": "glyph.object.element.wind", + "category": "object", + "primary": "wind", + "synomic": [ + "air", + "breeze", + "movement", + "breath" + ], + "roles": ["object", "symbol"], + "animation": "wind_blow", + "examples": [ + { "glyphs": "🌬️🍃", "text": "Wind blowing leaves." } + ] + }, + { + "glyph": "🌩️", + "id": "glyph.object.weather.storm", + "category": "object", + "primary": "lightning storm", + "synomic": [ + "thunderstorm", + "power", + "danger", + "intensity" + ], + "roles": ["object", "symbol"], + "animation": "storm_flash", + "examples": [ + { "glyphs": "🌩️⚡", "text": "A powerful storm." } + ] + }, + { + "glyph": "❄️", + "id": "glyph.object.weather.snowflake", + "category": "object", + "primary": "snowflake", + "synomic": [ + "cold", + "winter", + "ice crystal", + "uniqueness" + ], + "roles": ["object", "symbol"], + "animation": "snow_fall", + "examples": [ + { "glyphs": "❄️🌨️", "text": "Snow falling." } + ] + }, + { + "glyph": "🌙", + "id": "glyph.object.cosmic.moon", + "category": "object", + "primary": "moon", + "synomic": [ + "night", + "cycle", + "intuition", + "calm" + ], + "roles": ["object", "symbol"], + "animation": "moon_glow", + "examples": [ + { "glyphs": "🌙✨", "text": "A glowing moon." } + ] + }, + { + "glyph": "⭐", + "id": "glyph.object.cosmic.star", + "category": "object", + "primary": "star", + "synomic": [ + "light", + "guidance", + "cosmos", + "hope" + ], + "roles": ["object", "symbol"], + "animation": "star_twinkle", + "examples": [ + { "glyphs": "⭐🌌", "text": "A star in the night sky." } + ] + }, + { + "glyph": "🌍", + "id": "glyph.object.cosmic.earth", + "category": "object", + "primary": "Earth", + "synomic": [ + "planet", + "world", + "home", + "global" + ], + "roles": ["object", "symbol"], + "animation": "earth_spin", + "examples": [ + { "glyphs": "🌍✨", "text": "The Earth shining in space." } + ] + }, + { + "glyph": "🍔", + "id": "glyph.object.food.burger", + "category": "object", + "primary": "burger", + "synomic": [ + "food", + "meal", + "fast food", + "sandwich" + ], + "roles": ["object"], + "animation": "food_idle", + "examples": [ + { "glyphs": "🍔🍟", "text": "A classic meal combo." } + ] + }, + { + "glyph": "🍕", + "id": "glyph.object.food.pizza", + "category": "object", + "primary": "pizza", + "synomic": [ + "slice", + "meal", + "comfort food", + "cheese" + ], + "roles": ["object"], + "animation": "food_idle", + "examples": [ + { "glyphs": "🍕🔥", "text": "Hot fresh pizza." } + ] + }, + { + "glyph": "🍣", + "id": "glyph.object.food.sushi", + "category": "object", + "primary": "sushi", + "synomic": [ + "fish", + "rice", + "Japanese food", + "meal" + ], + "roles": ["object"], + "animation": "food_idle", + "examples": [ + { "glyphs": "🍣🥢", "text": "Eating sushi with chopsticks." } + ] + }, + { + "glyph": "🍺", + "id": "glyph.object.drink.beer", + "category": "object", + "primary": "beer", + "synomic": [ + "drink", + "alcohol", + "brew", + "refreshment" + ], + "roles": ["object"], + "animation": "drink_idle", + "examples": [ + { "glyphs": "🍺🎉", "text": "Celebrating with a drink." } + ] + }, + { + "glyph": "☕", + "id": "glyph.object.drink.coffee", + "category": "object", + "primary": "coffee", + "synomic": [ + "drink", + "caffeine", + "morning", + "energy" + ], + "roles": ["object"], + "animation": "steam_rise", + "examples": [ + { "glyphs": "☕🌅", "text": "Morning coffee." } + ] + }, + { + "glyph": "💰", + "id": "glyph.object.money.bag", + "category": "object", + "primary": "money bag", + "synomic": [ + "wealth", + "currency", + "value", + "economy" + ], + "roles": ["object", "symbol"], + "animation": "money_shake", + "examples": [ + { "glyphs": "💰📈", "text": "Money increasing in value." } + ] + }, + { + "glyph": "💵", + "id": "glyph.object.money.cash", + "category": "object", + "primary": "cash", + "synomic": [ + "money", + "currency", + "payment", + "transaction" + ], + "roles": ["object"], + "animation": "cash_fan", + "examples": [ + { "glyphs": "💵➡️🛒", "text": "Paying for goods." } + ] + }, + { + "glyph": "💳", + "id": "glyph.object.money.card", + "category": "object", + "primary": "credit card", + "synomic": [ + "payment", + "transaction", + "finance", + "banking" + ], + "roles": ["object"], + "animation": "card_swipe", + "examples": [ + { "glyphs": "💳🛍️", "text": "Buying items with a card." } + ] + }, + { + "glyph": "🧾", + "id": "glyph.object.document.receipt", + "category": "object", + "primary": "receipt", + "synomic": [ + "proof", + "transaction record", + "purchase", + "document" + ], + "roles": ["object"], + "animation": "paper_unroll", + "examples": [ + { "glyphs": "🧾💵", "text": "Receipt for a purchase." } + ] + }, + { + "glyph": "📄", + "id": "glyph.object.document.page", + "category": "object", + "primary": "page", + "synomic": [ + "document", + "paper", + "file", + "sheet" + ], + "roles": ["object"], + "animation": "page_flip", + "examples": [ + { "glyphs": "📄✍️", "text": "Writing on a page." } + ] + }, + { + "glyph": "📜", + "id": "glyph.object.document.scroll", + "category": "object", + "primary": "scroll", + "synomic": [ + "ancient text", + "document", + "history", + "record" + ], + "roles": ["object", "symbol"], + "animation": "scroll_unroll", + "examples": [ + { "glyphs": "📜✨", "text": "An ancient scroll of knowledge." } + ] + }, + { + "glyph": "📁", + "id": "glyph.object.digital.folder", + "category": "object", + "primary": "folder", + "synomic": [ + "directory", + "storage", + "organization", + "file container" + ], + "roles": ["object"], + "animation": "folder_open", + "examples": [ + { "glyphs": "📁💾", "text": "A folder containing saved data." } + ] + }, + { + "glyph": "📂", + "id": "glyph.object.digital.folder.open", + "category": "object", + "primary": "open folder", + "synomic": [ + "directory", + "open storage", + "file access" + ], + "roles": ["object"], + "animation": "folder_open", + "examples": [ + { "glyphs": "📂🗂️", "text": "Browsing through files." } + ] + }, + { + "glyph": "📦📦", + "id": "glyph.object.container.stack", + "category": "object", + "primary": "stacked boxes", + "synomic": [ + "inventory", + "storage", + "shipment", + "supplies" + ], + "roles": ["object"], + "animation": "stack_idle", + "examples": [ + { "glyphs": "📦📦🚚", "text": "Boxes ready for transport." } + ] + }, + { + "glyph": "🧺", + "id": "glyph.object.container.basket", + "category": "object", + "primary": "basket", + "synomic": [ + "container", + "carry", + "storage", + "woven vessel" + ], + "roles": ["object"], + "animation": "basket_idle", + "examples": [ + { "glyphs": "🧺🍎", "text": "A basket of apples." } + ] + }, + { + "glyph": "🫙✨", + "id": "glyph.object.container.jar.magic", + "category": "object", + "primary": "magic jar", + "synomic": [ + "enchanted container", + "ritual object", + "symbolic vessel", + "mystic storage" + ], + "roles": ["object", "symbol"], + "animation": "jar_glow", + "examples": [ + { "glyphs": "🫙✨🔮", "text": "A jar holding magical essence." } + ] + }, + { + "glyph": "👕", + "id": "glyph.object.clothing.shirt", + "category": "object", + "primary": "shirt", + "synomic": ["top", "clothing", "casual wear"], + "roles": ["object"], + "animation": "cloth_idle", + "examples": [{ "glyphs": "👕🧺", "text": "A shirt in the laundry." }] + }, + { + "glyph": "🧥", + "id": "glyph.object.clothing.jacket", + "category": "object", + "primary": "jacket", + "synomic": ["coat", "outerwear", "warm clothing"], + "roles": ["object"], + "animation": "cloth_idle", + "examples": [{ "glyphs": "🧥❄️", "text": "Wearing a jacket in the cold." }] + }, + { + "glyph": "👖", + "id": "glyph.object.clothing.pants", + "category": "object", + "primary": "pants", + "synomic": ["trousers", "jeans", "clothing"], + "roles": ["object"], + "animation": "cloth_idle", + "examples": [{ "glyphs": "👖🧵", "text": "Pants being repaired." }] + }, + { + "glyph": "👟", + "id": "glyph.object.clothing.shoes", + "category": "object", + "primary": "shoes", + "synomic": ["footwear", "sneakers", "running shoes"], + "roles": ["object"], + "animation": "shoe_step", + "examples": [{ "glyphs": "👟🏃", "text": "Running in shoes." }] + }, + { + "glyph": "🎩", + "id": "glyph.object.clothing.hat", + "category": "object", + "primary": "hat", + "synomic": ["headwear", "cap", "fashion"], + "roles": ["object"], + "animation": "hat_tip", + "examples": [{ "glyphs": "🎩✨", "text": "A stylish hat." }] + }, + { + "glyph": "🧤", + "id": "glyph.object.clothing.gloves", + "category": "object", + "primary": "gloves", + "synomic": ["handwear", "warmth", "protection"], + "roles": ["object"], + "animation": "glove_idle", + "examples": [{ "glyphs": "🧤❄️", "text": "Gloves for winter." }] + }, + { + "glyph": "🧣", + "id": "glyph.object.clothing.scarf", + "category": "object", + "primary": "scarf", + "synomic": ["warmth", "neckwear", "winter clothing"], + "roles": ["object"], + "animation": "scarf_wave", + "examples": [{ "glyphs": "🧣🌬️", "text": "A scarf blowing in the wind." }] + }, + { + "glyph": "💉", + "id": "glyph.object.medical.syringe", + "category": "object", + "primary": "syringe", + "synomic": ["injection", "vaccine", "medical tool"], + "roles": ["object"], + "animation": "syringe_press", + "examples": [{ "glyphs": "💉🏥", "text": "A medical injection." }] + }, + { + "glyph": "🩹", + "id": "glyph.object.medical.bandage", + "category": "object", + "primary": "bandage", + "synomic": ["first aid", "healing", "patch"], + "roles": ["object"], + "animation": "bandage_apply", + "examples": [{ "glyphs": "🩹🤕", "text": "Covering a wound." }] + }, + { + "glyph": "🩺", + "id": "glyph.object.medical.stethoscope", + "category": "object", + "primary": "stethoscope", + "synomic": ["doctor tool", "medical exam", "health check"], + "roles": ["object"], + "animation": "stethoscope_listen", + "examples": [{ "glyphs": "🩺❤️", "text": "Listening to a heartbeat." }] + }, + { + "glyph": "🚑", + "id": "glyph.object.medical.ambulance", + "category": "object", + "primary": "ambulance", + "synomic": ["emergency vehicle", "medical transport"], + "roles": ["object"], + "animation": "ambulance_siren", + "examples": [{ "glyphs": "🚑💨", "text": "An ambulance rushing to help." }] + }, + { + "glyph": "🧼", + "id": "glyph.object.cleaning.soap", + "category": "object", + "primary": "soap", + "synomic": ["cleaning", "hygiene", "wash"], + "roles": ["object"], + "animation": "soap_bubble", + "examples": [{ "glyphs": "🧼🫧", "text": "Washing hands." }] + }, + { + "glyph": "🏀", + "id": "glyph.object.sport.basketball", + "category": "object", + "primary": "basketball", + "synomic": ["ball", "sport", "game"], + "roles": ["object"], + "animation": "ball_bounce", + "examples": [{ "glyphs": "🏀⛹️", "text": "Playing basketball." }] + }, + { + "glyph": "⚽", + "id": "glyph.object.sport.soccerball", + "category": "object", + "primary": "soccer ball", + "synomic": ["football", "sport", "game"], + "roles": ["object"], + "animation": "ball_kick", + "examples": [{ "glyphs": "⚽🥅", "text": "Kicking a goal." }] + }, + { + "glyph": "🎯", + "id": "glyph.object.game.target", + "category": "object", + "primary": "target", + "synomic": ["goal", "aim", "precision"], + "roles": ["object", "symbol"], + "animation": "target_hit", + "examples": [{ "glyphs": "🎯🏹", "text": "Hitting the target." }] + }, + { + "glyph": "🎲", + "id": "glyph.object.game.dice", + "category": "object", + "primary": "dice", + "synomic": ["chance", "game", "randomness"], + "roles": ["object", "symbol"], + "animation": "dice_roll", + "examples": [{ "glyphs": "🎲✨", "text": "Rolling the dice." }] + }, + { + "glyph": "🧩", + "id": "glyph.object.game.puzzle", + "category": "object", + "primary": "puzzle piece", + "synomic": ["problem", "solution", "logic"], + "roles": ["object", "symbol"], + "animation": "puzzle_fit", + "examples": [{ "glyphs": "🧩🧠", "text": "Solving a puzzle." }] + }, + { + "glyph": "🖥️", + "id": "glyph.object.device.desktop", + "category": "object", + "primary": "desktop computer", + "synomic": ["PC", "workstation", "monitor"], + "roles": ["object"], + "animation": "screen_glow", + "examples": [{ "glyphs": "🖥️⌨️", "text": "Working at a computer." }] + }, + { + "glyph": "🕹️", + "id": "glyph.object.device.joystick", + "category": "object", + "primary": "joystick", + "synomic": ["controller", "gaming", "input device"], + "roles": ["object"], + "animation": "joystick_move", + "examples": [{ "glyphs": "🕹️🎮", "text": "Playing a game." }] + }, + { + "glyph": "📡", + "id": "glyph.object.tech.satellite_dish", + "category": "object", + "primary": "satellite dish", + "synomic": ["signal", "communication", "broadcast"], + "roles": ["object"], + "animation": "signal_ping", + "examples": [{ "glyphs": "📡📶", "text": "Receiving a signal." }] + }, + { + "glyph": "🤖", + "id": "glyph.object.tech.robot", + "category": "object", + "primary": "robot", + "synomic": ["machine", "automation", "android"], + "roles": ["object"], + "animation": "robot_idle", + "examples": [{ "glyphs": "🤖⚙️", "text": "A robot operating." }] + }, + { + "glyph": "🔋", + "id": "glyph.object.tech.battery", + "category": "object", + "primary": "battery", + "synomic": ["power", "energy", "charge"], + "roles": ["object"], + "animation": "battery_charge", + "examples": [{ "glyphs": "🔋⚡", "text": "Charging a battery." }] + }, + { + "glyph": "🌞", + "id": "glyph.object.cosmic.sun", + "category": "object", + "primary": "sun", + "synomic": ["light", "life", "energy", "day"], + "roles": ["object", "symbol"], + "animation": "sun_glow", + "examples": [{ "glyphs": "🌞🌻", "text": "Sun nourishing life." }] + }, + { + "glyph": "🪐", + "id": "glyph.object.cosmic.planet.ringed", + "category": "object", + "primary": "ringed planet", + "synomic": ["cosmos", "orbit", "space"], + "roles": ["object", "symbol"], + "animation": "planet_spin", + "examples": [{ "glyphs": "🪐✨", "text": "A ringed planet in space." }] + }, + { + "glyph": "☄️", + "id": "glyph.object.cosmic.comet", + "category": "object", + "primary": "comet", + "synomic": ["ice", "space", "omen", "trajectory"], + "roles": ["object", "symbol"], + "animation": "comet_streak", + "examples": [{ "glyphs": "☄️🌌", "text": "A comet crossing the sky." }] + }, + { + "glyph": "🗝️", + "id": "glyph.object.symbolic.key.antique", + "category": "object", + "primary": "ancient key", + "synomic": ["mystery", "unlocking", "ritual", "secret"], + "roles": ["object", "symbol"], + "animation": "key_glow", + "examples": [{ "glyphs": "🗝️📜", "text": "A key to ancient knowledge." }] + }, + { + "glyph": "🪬", + "id": "glyph.object.symbolic.protection", + "category": "object", + "primary": "protection charm", + "synomic": ["ward", "symbol", "ritual", "defense"], + "roles": ["object", "symbol"], + "animation": "charm_glow", + "examples": [{ "glyphs": "🪬✨", "text": "A charm offering protection." }] + } +] + + diff --git a/dictionary/places.json b/dictionary/places.json new file mode 100644 index 0000000000000000000000000000000000000000..e20a25ca3d44c2a52680c4bd44176d565cb21642 --- /dev/null +++ b/dictionary/places.json @@ -0,0 +1,1150 @@ +[ + { + "glyph": "🏠", + "id": "glyph.place.home.house", + "category": "place", + "primary": "house", + "synomic": [ + "home", + "residence", + "dwelling", + "living space" + ], + "roles": ["location"], + "animation": "home_idle", + "examples": [ + { "glyphs": "🏠🙂", "text": "Feeling comfortable at home." } + ] + }, + { + "glyph": "🏡", + "id": "glyph.place.home.garden_house", + "category": "place", + "primary": "house with garden", + "synomic": [ + "home", + "yard", + "residential area" + ], + "roles": ["location"], + "animation": "home_garden_idle", + "examples": [ + { "glyphs": "🏡🌱", "text": "A home with a garden." } + ] + }, + { + "glyph": "🏢", + "id": "glyph.place.building.office", + "category": "place", + "primary": "office building", + "synomic": [ + "workplace", + "corporate building", + "business center" + ], + "roles": ["location"], + "animation": "building_idle", + "examples": [ + { "glyphs": "🏢💼", "text": "Going to the office." } + ] + }, + { + "glyph": "🏫", + "id": "glyph.place.building.school", + "category": "place", + "primary": "school", + "synomic": [ + "education", + "learning center", + "classroom" + ], + "roles": ["location"], + "animation": "school_idle", + "examples": [ + { "glyphs": "🏫📚", "text": "Studying at school." } + ] + }, + { + "glyph": "🏥", + "id": "glyph.place.building.hospital", + "category": "place", + "primary": "hospital", + "synomic": [ + "medical center", + "clinic", + "healthcare facility" + ], + "roles": ["location"], + "animation": "hospital_idle", + "examples": [ + { "glyphs": "🏥🧑‍⚕️", "text": "A doctor at the hospital." } + ] + }, + { + "glyph": "🏦", + "id": "glyph.place.building.bank", + "category": "place", + "primary": "bank", + "synomic": [ + "financial institution", + "money storage", + "economy" + ], + "roles": ["location"], + "animation": "bank_idle", + "examples": [ + { "glyphs": "🏦💰", "text": "Depositing money at the bank." } + ] + }, + { + "glyph": "🏪", + "id": "glyph.place.building.store", + "category": "place", + "primary": "store", + "synomic": [ + "shop", + "market", + "convenience store", + "retail" + ], + "roles": ["location"], + "animation": "store_idle", + "examples": [ + { "glyphs": "🏪🛒", "text": "Shopping at the store." } + ] + }, + { + "glyph": "🏬", + "id": "glyph.place.building.mall", + "category": "place", + "primary": "department store", + "synomic": [ + "mall", + "shopping center", + "retail complex" + ], + "roles": ["location"], + "animation": "mall_idle", + "examples": [ + { "glyphs": "🏬🛍️", "text": "Shopping at the mall." } + ] + }, + { + "glyph": "🏨", + "id": "glyph.place.building.hotel", + "category": "place", + "primary": "hotel", + "synomic": [ + "lodging", + "stay", + "travel accommodation" + ], + "roles": ["location"], + "animation": "hotel_idle", + "examples": [ + { "glyphs": "🏨🧳", "text": "Checking into a hotel." } + ] + }, + { + "glyph": "🏛️", + "id": "glyph.place.building.museum", + "category": "place", + "primary": "museum / classical building", + "synomic": [ + "history", + "culture", + "institution", + "public building" + ], + "roles": ["location"], + "animation": "museum_idle", + "examples": [ + { "glyphs": "🏛️🎨", "text": "Viewing art at a museum." } + ] + }, + { + "glyph": "🏟️", + "id": "glyph.place.building.stadium", + "category": "place", + "primary": "stadium", + "synomic": [ + "sports arena", + "event venue", + "large gathering place" + ], + "roles": ["location"], + "animation": "stadium_idle", + "examples": [ + { "glyphs": "🏟️⚽", "text": "A game at the stadium." } + ] + }, + { + "glyph": "🏖️", + "id": "glyph.place.outdoor.beach", + "category": "place", + "primary": "beach", + "synomic": [ + "shore", + "coast", + "sand", + "oceanfront" + ], + "roles": ["location"], + "animation": "beach_wave", + "examples": [ + { "glyphs": "🏖️🌊", "text": "Relaxing at the beach." } + ] + }, + { + "glyph": "🏞️", + "id": "glyph.place.outdoor.park", + "category": "place", + "primary": "national park", + "synomic": [ + "nature", + "outdoors", + "scenic area", + "landscape" + ], + "roles": ["location"], + "animation": "park_idle", + "examples": [ + { "glyphs": "🏞️🌄", "text": "Exploring a national park." } + ] + }, + { + "glyph": "⛩️", + "id": "glyph.place.spiritual.shrine", + "category": "place", + "primary": "shrine", + "synomic": [ + "temple", + "spiritual site", + "ritual place" + ], + "roles": ["location", "symbol"], + "animation": "shrine_idle", + "examples": [ + { "glyphs": "⛩️🕯️", "text": "A candle lit at a shrine." } + ] + }, + { + "glyph": "🚉", + "id": "glyph.place.transport.train_station", + "category": "place", + "primary": "train station", + "synomic": [ + "rail station", + "platform", + "public transit", + "travel hub" + ], + "roles": ["location"], + "animation": "station_idle", + "examples": [ + { "glyphs": "🚉🚆", "text": "Waiting for the train." } + ] + }, + { + "glyph": "🚆", + "id": "glyph.place.transport.train", + "category": "place", + "primary": "train (as location)", + "synomic": [ + "rail transport", + "moving vehicle", + "commute" + ], + "roles": ["location", "vehicle"], + "animation": "train_move", + "examples": [ + { "glyphs": "🚆➡️🏙️", "text": "Traveling toward the city." } + ] + }, + { + "glyph": "✈️🛫", + "id": "glyph.place.transport.airport.departure", + "category": "place", + "primary": "airport (departure)", + "synomic": [ + "terminal", + "flight gate", + "travel hub", + "air transit" + ], + "roles": ["location"], + "animation": "airport_depart", + "examples": [ + { "glyphs": "✈️🛫🌍", "text": "Departing for a trip." } + ] + }, + { + "glyph": "✈️🛬", + "id": "glyph.place.transport.airport.arrival", + "category": "place", + "primary": "airport (arrival)", + "synomic": [ + "terminal", + "landing zone", + "travel hub" + ], + "roles": ["location"], + "animation": "airport_arrive", + "examples": [ + { "glyphs": "✈️🛬🏠", "text": "Arriving home from travel." } + ] + }, + { + "glyph": "🛣️", + "id": "glyph.place.infrastructure.highway", + "category": "place", + "primary": "highway", + "synomic": [ + "road", + "interstate", + "travel route", + "transport corridor" + ], + "roles": ["location"], + "animation": "road_idle", + "examples": [ + { "glyphs": "🛣️🚗", "text": "Driving along the highway." } + ] + }, + { + "glyph": "🛤️", + "id": "glyph.place.infrastructure.railway", + "category": "place", + "primary": "railway tracks", + "synomic": [ + "train route", + "rail line", + "transport path" + ], + "roles": ["location"], + "animation": "rail_idle", + "examples": [ + { "glyphs": "🛤️🚆", "text": "Tracks leading into the distance." } + ] + }, + { + "glyph": "🚏", + "id": "glyph.place.transport.bus_stop", + "category": "place", + "primary": "bus stop", + "synomic": [ + "public transit", + "waiting area", + "transport node" + ], + "roles": ["location"], + "animation": "stop_idle", + "examples": [ + { "glyphs": "🚏🚌", "text": "Waiting for the bus." } + ] + }, + { + "glyph": "🅿️", + "id": "glyph.place.infrastructure.parking", + "category": "place", + "primary": "parking area", + "synomic": [ + "parking lot", + "vehicle area", + "car zone" + ], + "roles": ["location"], + "animation": "parking_idle", + "examples": [ + { "glyphs": "🅿️🚙", "text": "Parking the vehicle." } + ] + }, + { + "glyph": "🏙️", + "id": "glyph.place.urban.cityscape", + "category": "place", + "primary": "city", + "synomic": [ + "urban area", + "downtown", + "metropolis", + "city center" + ], + "roles": ["location"], + "animation": "city_lights", + "examples": [ + { "glyphs": "🏙️🌆", "text": "City at dusk." } + ] + }, + { + "glyph": "🌆", + "id": "glyph.place.urban.city_dusk", + "category": "place", + "primary": "city at dusk", + "synomic": [ + "evening city", + "sunset skyline", + "urban twilight" + ], + "roles": ["location"], + "animation": "city_glow", + "examples": [ + { "glyphs": "🌆✨", "text": "City lights turning on." } + ] + }, + { + "glyph": "🏙️🌃", + "id": "glyph.place.urban.city_night", + "category": "place", + "primary": "city at night", + "synomic": [ + "nightlife", + "urban night", + "skyline" + ], + "roles": ["location"], + "animation": "city_night_glow", + "examples": [ + { "glyphs": "🏙️🌃✨", "text": "City glowing under the stars." } + ] + }, + { + "glyph": "🏞️🛤️", + "id": "glyph.place.outdoor.trail", + "category": "place", + "primary": "trail / path", + "synomic": [ + "hiking path", + "nature trail", + "route", + "journey" + ], + "roles": ["location"], + "animation": "trail_idle", + "examples": [ + { "glyphs": "🏞️🛤️🚶", "text": "Walking along a nature trail." } + ] + }, + { + "glyph": "🏰", + "id": "glyph.place.structure.castle", + "category": "place", + "primary": "castle", + "synomic": [ + "fortress", + "historic building", + "stronghold" + ], + "roles": ["location", "symbol"], + "animation": "castle_idle", + "examples": [ + { "glyphs": "🏰🌙", "text": "A castle under moonlight." } + ] + }, + { + "glyph": "🕌", + "id": "glyph.place.spiritual.mosque", + "category": "place", + "primary": "mosque", + "synomic": [ + "spiritual site", + "religious building", + "worship place" + ], + "roles": ["location"], + "animation": "mosque_idle", + "examples": [ + { "glyphs": "🕌🌙", "text": "A mosque at night." } + ] + }, + { + "glyph": "⛰️", + "id": "glyph.place.nature.mountain", + "category": "place", + "primary": "mountain", + "synomic": [ + "peak", + "summit", + "highlands", + "elevation" + ], + "roles": ["location"], + "animation": "mountain_idle", + "examples": [ + { "glyphs": "⛰️🌄", "text": "Sunrise over the mountains." } + ] + }, + { + "glyph": "🏔️", + "id": "glyph.place.nature.mountain.snow", + "category": "place", + "primary": "snowy mountain", + "synomic": [ + "alpine peak", + "cold summit", + "high elevation" + ], + "roles": ["location"], + "animation": "mountain_snow_idle", + "examples": [ + { "glyphs": "🏔️❄️", "text": "A snowy mountain peak." } + ] + }, + { + "glyph": "🌋", + "id": "glyph.place.nature.volcano", + "category": "place", + "primary": "volcano", + "synomic": [ + "eruption", + "lava mountain", + "fire earth" + ], + "roles": ["location", "symbol"], + "animation": "volcano_smoke", + "examples": [ + { "glyphs": "🌋🔥", "text": "A volcano erupting." } + ] + }, + { + "glyph": "🏜️", + "id": "glyph.place.nature.desert", + "category": "place", + "primary": "desert", + "synomic": [ + "sand", + "arid land", + "dry region", + "dunes" + ], + "roles": ["location"], + "animation": "desert_heat", + "examples": [ + { "glyphs": "🏜️🌞", "text": "Heat rising in the desert." } + ] + }, + { + "glyph": "🏝️", + "id": "glyph.place.nature.island", + "category": "place", + "primary": "island", + "synomic": [ + "tropical island", + "isolated land", + "shore" + ], + "roles": ["location"], + "animation": "island_wave", + "examples": [ + { "glyphs": "🏝️🌊", "text": "Waves around the island." } + ] + }, + { + "glyph": "🏕️", + "id": "glyph.place.nature.camp", + "category": "place", + "primary": "campground", + "synomic": [ + "camp", + "outdoor stay", + "tent area" + ], + "roles": ["location"], + "animation": "campfire_glow", + "examples": [ + { "glyphs": "🏕️🔥", "text": "Camping by the fire." } + ] + }, + { + "glyph": "🌲🌲", + "id": "glyph.place.nature.forest", + "category": "place", + "primary": "forest", + "synomic": [ + "woods", + "trees", + "nature", + "wilderness" + ], + "roles": ["location"], + "animation": "forest_rustle", + "examples": [ + { "glyphs": "🌲🌲🌫️", "text": "A misty forest." } + ] + }, + { + "glyph": "🌳🌳", + "id": "glyph.place.nature.grove", + "category": "place", + "primary": "grove", + "synomic": [ + "cluster of trees", + "sacred grove", + "nature circle" + ], + "roles": ["location", "symbol"], + "animation": "grove_idle", + "examples": [ + { "glyphs": "🌳🌳✨", "text": "A peaceful grove." } + ] + }, + { + "glyph": "🌊🌊", + "id": "glyph.place.nature.ocean", + "category": "place", + "primary": "ocean", + "synomic": [ + "sea", + "vast water", + "deep blue", + "horizon" + ], + "roles": ["location"], + "animation": "ocean_wave", + "examples": [ + { "glyphs": "🌊🌊🌅", "text": "Ocean at sunrise." } + ] + }, + { + "glyph": "🏞️🪨", + "id": "glyph.place.nature.canyon", + "category": "place", + "primary": "canyon", + "synomic": [ + "ravine", + "gorge", + "rock valley" + ], + "roles": ["location"], + "animation": "canyon_idle", + "examples": [ + { "glyphs": "🏞️🪨🌤️", "text": "A canyon under clear skies." } + ] + }, + { + "glyph": "🌌", + "id": "glyph.place.cosmic.milky_way", + "category": "place", + "primary": "Milky Way", + "synomic": [ + "galaxy", + "cosmos", + "starscape", + "universe" + ], + "roles": ["location", "symbol"], + "animation": "galaxy_spin", + "examples": [ + { "glyphs": "🌌✨", "text": "The galaxy glowing." } + ] + }, + { + "glyph": "🌠", + "id": "glyph.place.cosmic.shooting_star", + "category": "place", + "primary": "shooting star", + "synomic": [ + "wish", + "cosmic event", + "meteor" + ], + "roles": ["location", "event"], + "animation": "star_streak", + "examples": [ + { "glyphs": "🌠🙏", "text": "Making a wish on a shooting star." } + ] + }, + { + "glyph": "🕳️", + "id": "glyph.place.cosmic.black_hole", + "category": "place", + "primary": "black hole", + "synomic": [ + "gravity well", + "void", + "cosmic collapse", + "singularity" + ], + "roles": ["location", "symbol"], + "animation": "void_pull", + "examples": [ + { "glyphs": "🕳️✨", "text": "Light bending near a black hole." } + ] + }, + { + "glyph": "⛩️🌸", + "id": "glyph.place.ritual.sacred_garden", + "category": "place", + "primary": "sacred garden", + "synomic": [ + "ritual garden", + "spiritual grove", + "ceremonial place" + ], + "roles": ["location", "symbol"], + "animation": "garden_breeze", + "examples": [ + { "glyphs": "⛩️🌸🕯️", "text": "A ritual held in a sacred garden." } + ] + }, + { + "glyph": "🕍", + "id": "glyph.place.spiritual.synagogue", + "category": "place", + "primary": "synagogue", + "synomic": [ + "spiritual site", + "religious building", + "worship place" + ], + "roles": ["location"], + "animation": "synagogue_idle", + "examples": [ + { "glyphs": "🕍✨", "text": "A peaceful place of worship." } + ] + }, + { + "glyph": "⛪", + "id": "glyph.place.spiritual.church", + "category": "place", + "primary": "church", + "synomic": [ + "worship", + "religious building", + "spiritual center" + ], + "roles": ["location"], + "animation": "church_idle", + "examples": [ + { "glyphs": "⛪🕯️", "text": "A candlelit church." } + ] + }, + { + "glyph": "🧠💭", + "id": "glyph.place.abstract.mindspace", + "category": "place", + "primary": "mindspace", + "synomic": [ + "inner world", + "thought realm", + "mental domain", + "cognitive space" + ], + "roles": ["location", "symbol"], + "animation": "mind_glow", + "examples": [ + { "glyphs": "🧠💭✨", "text": "A new idea forming in mindspace." } + ] + }, + { + "glyph": "💭🌫️", + "id": "glyph.place.abstract.memory_fog", + "category": "place", + "primary": "memory fog", + "synomic": [ + "uncertainty", + "lost memory", + "mental haze", + "confusion zone" + ], + "roles": ["location", "symbol"], + "animation": "fog_slow", + "examples": [ + { "glyphs": "💭🌫️😕", "text": "Searching through unclear memories." } + ] + }, + { + "glyph": "🕳️↕️", + "id": "glyph.place.liminal.void", + "category": "place", + "primary": "the void", + "synomic": [ + "nothingness", + "liminal space", + "between worlds", + "emptiness" + ], + "roles": ["location", "symbol"], + "animation": "void_pulse", + "examples": [ + { "glyphs": "🕳️↕️✨", "text": "A void where anything could emerge." } + ] + }, + { + "glyph": "🌫️➡️✨", + "id": "glyph.place.liminal.threshold", + "category": "place", + "primary": "threshold", + "synomic": [ + "transition zone", + "crossing point", + "liminal boundary", + "shift state" + ], + "roles": ["location", "symbol"], + "animation": "threshold_glow", + "examples": [ + { "glyphs": "🌫️➡️✨🚶", "text": "Crossing into a new state." } + ] + }, + { + "glyph": "🌐", + "id": "glyph.place.digital.internet", + "category": "place", + "primary": "internet", + "synomic": [ + "online world", + "network", + "digital realm", + "global web" + ], + "roles": ["location"], + "animation": "network_pulse", + "examples": [ + { "glyphs": "🌐💻", "text": "Navigating the digital world." } + ] + }, + { + "glyph": "🖥️🕳️", + "id": "glyph.place.digital.cyberspace", + "category": "place", + "primary": "cyberspace", + "synomic": [ + "virtual world", + "digital void", + "data realm", + "simulation" + ], + "roles": ["location", "symbol"], + "animation": "cyber_glow", + "examples": [ + { "glyphs": "🖥️🕳️✨", "text": "Entering cyberspace." } + ] + }, + { + "glyph": "📁📂📁", + "id": "glyph.place.digital.directory_tree", + "category": "place", + "primary": "directory tree", + "synomic": [ + "file system", + "digital structure", + "folder hierarchy" + ], + "roles": ["location"], + "animation": "folder_tree", + "examples": [ + { "glyphs": "📁📂📁💾", "text": "Exploring stored data." } + ] + }, + { + "glyph": "✨⛩️✨", + "id": "glyph.place.mythic.spirit_gate", + "category": "place", + "primary": "spirit gate", + "synomic": [ + "mythic portal", + "ritual gateway", + "ancestral threshold" + ], + "roles": ["location", "symbol"], + "animation": "gate_glow", + "examples": [ + { "glyphs": "✨⛩️✨🧘", "text": "Meditating at the spirit gate." } + ] + }, + { + "glyph": "🌙🕊️", + "id": "glyph.place.mythic.dream_realm", + "category": "place", + "primary": "dream realm", + "synomic": [ + "dream world", + "subconscious plane", + "night realm", + "inner vision" + ], + "roles": ["location", "symbol"], + "animation": "dream_float", + "examples": [ + { "glyphs": "🌙🕊️💭", "text": "Traveling through dreams." } + ] + }, + { + "glyph": "🔥⚖️", + "id": "glyph.place.mythic.trial_chamber", + "category": "place", + "primary": "trial chamber", + "synomic": [ + "ritual test", + "judgment hall", + "ordeal space", + "mythic challenge" + ], + "roles": ["location", "symbol"], + "animation": "flame_balance", + "examples": [ + { "glyphs": "🔥⚖️🧍", "text": "Standing in the chamber of trials." } + ] + }, + { + "glyph": "🌑✨🌕", + "id": "glyph.place.cosmic.lunar_path", + "category": "place", + "primary": "lunar path", + "synomic": [ + "moon cycle", + "cosmic journey", + "phase transition" + ], + "roles": ["location", "symbol"], + "animation": "moon_phase_shift", + "examples": [ + { "glyphs": "🌑✨🌕🚶", "text": "Walking the lunar path." } + ] + }, + { + "glyph": "🌀🕊️", + "id": "glyph.place.abstract.inner_sanctum", + "category": "place", + "primary": "inner sanctum", + "synomic": [ + "inner peace", + "core self", + "sacred interior", + "emotional center" + ], + "roles": ["location", "symbol"], + "animation": "sanctum_glow", + "examples": [ + { "glyphs": "🌀🕊️✨", "text": "Entering the inner sanctum." } + ] + }, + { + "glyph": "🍽️", + "id": "glyph.place.social.restaurant", + "category": "place", + "primary": "restaurant", + "synomic": [ + "dining place", + "eatery", + "food establishment", + "social meal spot" + ], + "roles": ["location"], + "animation": "restaurant_idle", + "examples": [ + { "glyphs": "🍽️🙂", "text": "Eating out with friends." } + ] + }, + { + "glyph": "☕🏠", + "id": "glyph.place.social.cafe", + "category": "place", + "primary": "café", + "synomic": [ + "coffee shop", + "social hangout", + "study spot" + ], + "roles": ["location"], + "animation": "cafe_steam", + "examples": [ + { "glyphs": "☕🏠💬", "text": "Talking at a café." } + ] + }, + { + "glyph": "🎉", + "id": "glyph.place.event.party", + "category": "place", + "primary": "party", + "synomic": [ + "celebration", + "gathering", + "social event" + ], + "roles": ["location", "event"], + "animation": "confetti_pop", + "examples": [ + { "glyphs": "🎉😄", "text": "A lively celebration." } + ] + }, + { + "glyph": "🎤🎶", + "id": "glyph.place.event.concert", + "category": "place", + "primary": "concert", + "synomic": [ + "music event", + "performance", + "live show" + ], + "roles": ["location", "event"], + "animation": "concert_lights", + "examples": [ + { "glyphs": "🎤🎶✨", "text": "A concert full of energy." } + ] + }, + { + "glyph": "🎪", + "id": "glyph.place.event.circus", + "category": "place", + "primary": "circus", + "synomic": [ + "big top", + "performance tent", + "showground" + ], + "roles": ["location", "event"], + "animation": "tent_wave", + "examples": [ + { "glyphs": "🎪🤹", "text": "A circus performance." } + ] + }, + { + "glyph": "🏛️⚖️", + "id": "glyph.place.institution.court", + "category": "place", + "primary": "court", + "synomic": [ + "judicial building", + "legal institution", + "trial location" + ], + "roles": ["location"], + "animation": "court_idle", + "examples": [ + { "glyphs": "🏛️⚖️📜", "text": "A legal proceeding." } + ] + }, + { + "glyph": "🏛️📚", + "id": "glyph.place.institution.library", + "category": "place", + "primary": "library", + "synomic": [ + "study place", + "knowledge archive", + "public learning space" + ], + "roles": ["location"], + "animation": "library_quiet", + "examples": [ + { "glyphs": "🏛️📚🤓", "text": "Studying at the library." } + ] + }, + { + "glyph": "🏦💱", + "id": "glyph.place.economic.exchange", + "category": "place", + "primary": "exchange center", + "synomic": [ + "currency exchange", + "financial hub", + "economic node" + ], + "roles": ["location"], + "animation": "exchange_flow", + "examples": [ + { "glyphs": "🏦💱💵", "text": "Exchanging currency." } + ] + }, + { + "glyph": "🛒🏬", + "id": "glyph.place.economic.market", + "category": "place", + "primary": "market", + "synomic": [ + "bazaar", + "shopping area", + "trade zone" + ], + "roles": ["location"], + "animation": "market_bustle", + "examples": [ + { "glyphs": "🛒🏬🍎", "text": "Buying goods at the market." } + ] + }, + { + "glyph": "🎓🏛️", + "id": "glyph.place.institution.university", + "category": "place", + "primary": "university", + "synomic": [ + "higher education", + "campus", + "academic institution" + ], + "roles": ["location"], + "animation": "campus_idle", + "examples": [ + { "glyphs": "🎓🏛️📘", "text": "Studying at university." } + ] + }, + { + "glyph": "🧪🏢", + "id": "glyph.place.institution.lab", + "category": "place", + "primary": "laboratory", + "synomic": [ + "research center", + "science facility", + "experiment site" + ], + "roles": ["location"], + "animation": "lab_glow", + "examples": [ + { "glyphs": "🧪🏢⚗️", "text": "Conducting experiments in a lab." } + ] + }, + { + "glyph": "🕯️🌀", + "id": "glyph.place.special.ritual_circle", + "category": "place", + "primary": "ritual circle", + "synomic": [ + "ceremonial space", + "sacred circle", + "symbolic boundary" + ], + "roles": ["location", "symbol"], + "animation": "circle_glow", + "examples": [ + { "glyphs": "🕯️🌀✨", "text": "A ritual performed in the circle." } + ] + }, + { + "glyph": "🌅🛤️", + "id": "glyph.place.special.horizon_path", + "category": "place", + "primary": "horizon path", + "synomic": [ + "journey beginning", + "symbolic road", + "destiny path" + ], + "roles": ["location", "symbol"], + "animation": "horizon_glow", + "examples": [ + { "glyphs": "🌅🛤️🚶", "text": "Walking the path toward destiny." } + ] + }, + { + "glyph": "🌑🕯️", + "id": "glyph.place.special.shadow_chamber", + "category": "place", + "primary": "shadow chamber", + "synomic": [ + "inner darkness", + "trial of self", + "hidden realm" + ], + "roles": ["location", "symbol"], + "animation": "shadow_flicker", + "examples": [ + { "glyphs": "🌑🕯️🧍", "text": "Standing in the shadow chamber." } + ] + } +] + + diff --git a/dictionary/symbols.json b/dictionary/symbols.json new file mode 100644 index 0000000000000000000000000000000000000000..fd994b137c5e0400af6f592ba172a3c61adde00c --- /dev/null +++ b/dictionary/symbols.json @@ -0,0 +1,950 @@ +[ + { + "glyph": "☯️", + "id": "glyph.symbol.balance.yin_yang", + "category": "symbol", + "primary": "balance", + "synomic": [ + "duality", + "harmony", + "recursion", + "cosmic equilibrium" + ], + "roles": ["symbol", "modifier", "principle"], + "animation": "balance_spin", + "examples": [ + { "glyphs": "☯️✨", "text": "A moment of perfect balance." } + ] + }, + { + "glyph": "∞", + "id": "glyph.symbol.math.infinity", + "category": "symbol", + "primary": "infinity", + "synomic": [ + "endlessness", + "limitless", + "eternal", + "unbounded" + ], + "roles": ["symbol", "modifier"], + "animation": "infinity_loop", + "examples": [ + { "glyphs": "∞💭", "text": "Infinite imagination." } + ] + }, + { + "glyph": "➕", + "id": "glyph.symbol.math.add", + "category": "symbol", + "primary": "add", + "synomic": [ + "increase", + "combine", + "join", + "positive" + ], + "roles": ["symbol", "operator"], + "animation": "plus_pulse", + "examples": [ + { "glyphs": "🍎➕🍎", "text": "Combining two apples." } + ] + }, + { + "glyph": "➖", + "id": "glyph.symbol.math.subtract", + "category": "symbol", + "primary": "subtract", + "synomic": [ + "remove", + "decrease", + "take away", + "negative" + ], + "roles": ["symbol", "operator"], + "animation": "minus_fade", + "examples": [ + { "glyphs": "🍎➖🍏", "text": "Removing an item." } + ] + }, + { + "glyph": "✳️", + "id": "glyph.symbol.marker.starburst", + "category": "symbol", + "primary": "highlight", + "synomic": [ + "important", + "attention", + "marker", + "signal" + ], + "roles": ["symbol", "modifier"], + "animation": "burst_glow", + "examples": [ + { "glyphs": "✳️📄", "text": "Highlighting a document." } + ] + }, + { + "glyph": "⚠️", + "id": "glyph.symbol.marker.warning", + "category": "symbol", + "primary": "warning", + "synomic": [ + "danger", + "caution", + "alert", + "attention" + ], + "roles": ["symbol", "modifier"], + "animation": "warning_flash", + "examples": [ + { "glyphs": "⚠️🔥", "text": "Warning: fire hazard." } + ] + }, + { + "glyph": "❤️", + "id": "glyph.symbol.emotion.heart", + "category": "symbol", + "primary": "love", + "synomic": [ + "care", + "affection", + "emotion", + "connection" + ], + "roles": ["symbol", "modifier"], + "animation": "heart_pulse", + "examples": [ + { "glyphs": "❤️🙂", "text": "Warm affection." } + ] + }, + { + "glyph": "💔", + "id": "glyph.symbol.emotion.heart_broken", + "category": "symbol", + "primary": "heartbreak", + "synomic": [ + "loss", + "pain", + "sadness", + "emotional fracture" + ], + "roles": ["symbol", "modifier"], + "animation": "heart_crack", + "examples": [ + { "glyphs": "💔😢", "text": "A broken heart." } + ] + }, + { + "glyph": "✨", + "id": "glyph.symbol.effect.sparkle", + "category": "symbol", + "primary": "sparkle", + "synomic": [ + "magic", + "enhancement", + "shine", + "special effect" + ], + "roles": ["symbol", "modifier"], + "animation": "sparkle_twinkle", + "examples": [ + { "glyphs": "✨📦", "text": "A box with magical energy." } + ] + }, + { + "glyph": "🔥", + "id": "glyph.symbol.element.fire", + "category": "symbol", + "primary": "fire", + "synomic": [ + "energy", + "destruction", + "passion", + "intensity" + ], + "roles": ["symbol", "modifier"], + "animation": "fire_flicker", + "examples": [ + { "glyphs": "🔥💪", "text": "Intense strength." } + ] + }, + { + "glyph": "➡️", + "id": "glyph.symbol.logic.then", + "category": "symbol", + "primary": "then / leads to", + "synomic": [ + "next", + "results in", + "sequence", + "logical progression" + ], + "roles": ["symbol", "operator"], + "animation": "arrow_flow", + "examples": [ + { "glyphs": "A ➡️ B", "text": "A leads to B." } + ] + }, + { + "glyph": "⏳", + "id": "glyph.symbol.time.wait", + "category": "symbol", + "primary": "waiting / time passing", + "synomic": [ + "delay", + "duration", + "pending", + "temporal gap" + ], + "roles": ["symbol", "modifier"], + "animation": "sand_fall", + "examples": [ + { "glyphs": "⏳➡️✨", "text": "After some time, something changes." } + ] + }, + { + "glyph": "⏰", + "id": "glyph.symbol.time.moment", + "category": "symbol", + "primary": "specific moment", + "synomic": [ + "exact time", + "deadline", + "trigger moment" + ], + "roles": ["symbol", "marker"], + "animation": "clock_tick", + "examples": [ + { "glyphs": "⏰➡️🚀", "text": "Launch at a specific time." } + ] + }, + { + "glyph": "🔁", + "id": "glyph.symbol.logic.loop", + "category": "symbol", + "primary": "loop / repeat", + "synomic": [ + "cycle", + "again", + "iteration", + "recursion" + ], + "roles": ["symbol", "operator"], + "animation": "loop_spin", + "examples": [ + { "glyphs": "🔁🧠", "text": "Repeating a thought loop." } + ] + }, + { + "glyph": "⚡➡️", + "id": "glyph.symbol.causal.cause", + "category": "symbol", + "primary": "cause", + "synomic": [ + "trigger", + "initiate", + "activate", + "start chain" + ], + "roles": ["symbol", "operator"], + "animation": "cause_flash", + "examples": [ + { "glyphs": "⚡➡️🔥", "text": "A spark causes fire." } + ] + }, + { + "glyph": "🔚", + "id": "glyph.symbol.logic.end", + "category": "symbol", + "primary": "end", + "synomic": [ + "finish", + "stop", + "termination", + "closure" + ], + "roles": ["symbol", "marker"], + "animation": "end_fade", + "examples": [ + { "glyphs": "A ➡️ B 🔚", "text": "The sequence ends at B." } + ] + }, + { + "glyph": "🔀", + "id": "glyph.symbol.logic.branch", + "category": "symbol", + "primary": "branch / diverge", + "synomic": [ + "split path", + "choice", + "fork", + "multiple outcomes" + ], + "roles": ["symbol", "operator"], + "animation": "branch_split", + "examples": [ + { "glyphs": "A 🔀 B,C", "text": "A branches into B or C." } + ] + }, + { + "glyph": "🔗", + "id": "glyph.symbol.logic.link", + "category": "symbol", + "primary": "link / connection", + "synomic": [ + "relationship", + "association", + "binding", + "tie" + ], + "roles": ["symbol", "operator"], + "animation": "chain_link", + "examples": [ + { "glyphs": "A 🔗 B", "text": "A is linked to B." } + ] + }, + { + "glyph": "📌", + "id": "glyph.symbol.structural.pin", + "category": "symbol", + "primary": "pin / anchor", + "synomic": [ + "fix", + "mark", + "hold in place", + "reference point" + ], + "roles": ["symbol", "marker"], + "animation": "pin_drop", + "examples": [ + { "glyphs": "📌A", "text": "Anchor this concept." } + ] + }, + { + "glyph": "📍", + "id": "glyph.symbol.structural.point", + "category": "symbol", + "primary": "point / exact location", + "synomic": [ + "precise", + "specific", + "target", + "focus" + ], + "roles": ["symbol", "marker"], + "animation": "point_pulse", + "examples": [ + { "glyphs": "📍B", "text": "Focus on B." } + ] + }, + { + "glyph": "😊", + "id": "glyph.symbol.emotion.happy", + "category": "symbol", + "primary": "happiness", + "synomic": [ + "joy", + "contentment", + "positive emotion" + ], + "roles": ["symbol", "modifier"], + "animation": "smile_soft", + "examples": [ + { "glyphs": "😊✨", "text": "A gentle, happy feeling." } + ] + }, + { + "glyph": "😢", + "id": "glyph.symbol.emotion.sad", + "category": "symbol", + "primary": "sadness", + "synomic": [ + "sorrow", + "grief", + "emotional pain" + ], + "roles": ["symbol", "modifier"], + "animation": "tear_fall", + "examples": [ + { "glyphs": "😢💭", "text": "A moment of sadness." } + ] + }, + { + "glyph": "😡", + "id": "glyph.symbol.emotion.anger", + "category": "symbol", + "primary": "anger", + "synomic": [ + "rage", + "frustration", + "intensity" + ], + "roles": ["symbol", "modifier"], + "animation": "anger_pulse", + "examples": [ + { "glyphs": "😡🔥", "text": "Anger rising like fire." } + ] + }, + { + "glyph": "😨", + "id": "glyph.symbol.emotion.fear", + "category": "symbol", + "primary": "fear", + "synomic": [ + "anxiety", + "worry", + "danger response" + ], + "roles": ["symbol", "modifier"], + "animation": "shiver", + "examples": [ + { "glyphs": "😨🌫️", "text": "Fear in the unknown." } + ] + }, + { + "glyph": "💫", + "id": "glyph.symbol.energy.dizzy", + "category": "symbol", + "primary": "dizzy / disoriented energy", + "synomic": [ + "confusion", + "overload", + "spin", + "chaotic energy" + ], + "roles": ["symbol", "modifier"], + "animation": "spin_slow", + "examples": [ + { "glyphs": "💫🤯", "text": "Overwhelmed by too much input." } + ] + }, + { + "glyph": "⚡", + "id": "glyph.symbol.energy.charge", + "category": "symbol", + "primary": "energy / charge", + "synomic": [ + "power", + "activation", + "high intensity" + ], + "roles": ["symbol", "modifier"], + "animation": "electric_flicker", + "examples": [ + { "glyphs": "⚡🧠", "text": "A sudden burst of insight." } + ] + }, + { + "glyph": "🌑", + "id": "glyph.symbol.alignment.dark", + "category": "symbol", + "primary": "dark aspect", + "synomic": [ + "shadow", + "unknown", + "hidden", + "inner depths" + ], + "roles": ["symbol", "modifier"], + "animation": "shadow_pulse", + "examples": [ + { "glyphs": "🌑🕯️", "text": "Light within darkness." } + ] + }, + { + "glyph": "🌕", + "id": "glyph.symbol.alignment.light", + "category": "symbol", + "primary": "light aspect", + "synomic": [ + "illumination", + "clarity", + "truth", + "guidance" + ], + "roles": ["symbol", "modifier"], + "animation": "moon_glow", + "examples": [ + { "glyphs": "🌕✨", "text": "Clarity shining through." } + ] + }, + { + "glyph": "⚖️", + "id": "glyph.symbol.moral.balance", + "category": "symbol", + "primary": "moral balance", + "synomic": [ + "justice", + "ethics", + "fairness", + "equilibrium" + ], + "roles": ["symbol", "principle"], + "animation": "scale_shift", + "examples": [ + { "glyphs": "⚖️🧍", "text": "Standing in moral balance." } + ] + }, + { + "glyph": "⬆️✨", + "id": "glyph.symbol.moral.ascend", + "category": "symbol", + "primary": "ascend / uplift", + "synomic": [ + "improve", + "rise", + "elevate", + "grow" + ], + "roles": ["symbol", "modifier"], + "animation": "rise_glow", + "examples": [ + { "glyphs": "⬆️✨🙂", "text": "Emotional uplift." } + ] + }, + { + "glyph": "⬇️🌫️", + "id": "glyph.symbol.moral.descend", + "category": "symbol", + "primary": "descend / diminish", + "synomic": [ + "fall", + "decline", + "lower state", + "reduction" + ], + "roles": ["symbol", "modifier"], + "animation": "fall_fade", + "examples": [ + { "glyphs": "⬇️🌫️😔", "text": "A sinking emotional state." } + ] + }, + { + "glyph": "👤", + "id": "glyph.symbol.identity.self", + "category": "symbol", + "primary": "self", + "synomic": [ + "identity", + "individual", + "I", + "personal reference" + ], + "roles": ["symbol", "marker"], + "animation": "self_pulse", + "examples": [ + { "glyphs": "👤❤️", "text": "Self‑love or self‑care." } + ] + }, + { + "glyph": "👥", + "id": "glyph.symbol.identity.group", + "category": "symbol", + "primary": "group / collective", + "synomic": [ + "community", + "others", + "team", + "shared identity" + ], + "roles": ["symbol", "marker"], + "animation": "group_wave", + "examples": [ + { "glyphs": "👥✨", "text": "Collective harmony." } + ] + }, + { + "glyph": "🔍", + "id": "glyph.symbol.meta.inspect", + "category": "symbol", + "primary": "inspect / examine", + "synomic": [ + "analyze", + "look closely", + "investigate", + "zoom in" + ], + "roles": ["symbol", "operator"], + "animation": "inspect_glow", + "examples": [ + { "glyphs": "🔍🧠", "text": "Inspecting a thought." } + ] + }, + { + "glyph": "🧩", + "id": "glyph.symbol.meta.component", + "category": "symbol", + "primary": "component / piece", + "synomic": [ + "part", + "fragment", + "module", + "sub‑element" + ], + "roles": ["symbol", "marker"], + "animation": "piece_snap", + "examples": [ + { "glyphs": "🧩🔗🧩", "text": "Connecting components." } + ] + }, + { + "glyph": "🌀", + "id": "glyph.symbol.meta.transform", + "category": "symbol", + "primary": "transform", + "synomic": [ + "shift", + "change form", + "metamorphosis", + "convert" + ], + "roles": ["symbol", "operator"], + "animation": "swirl_shift", + "examples": [ + { "glyphs": "A 🌀 B", "text": "A transforms into B." } + ] + }, + { + "glyph": "🔒", + "id": "glyph.symbol.structural.lock", + "category": "symbol", + "primary": "lock / fix", + "synomic": [ + "secure", + "freeze", + "make unchangeable", + "protect" + ], + "roles": ["symbol", "marker"], + "animation": "lock_click", + "examples": [ + { "glyphs": "🔒A", "text": "Lock this state." } + ] + }, + { + "glyph": "🔓", + "id": "glyph.symbol.structural.unlock", + "category": "symbol", + "primary": "unlock / free", + "synomic": [ + "release", + "open", + "allow change", + "permit" + ], + "roles": ["symbol", "marker"], + "animation": "unlock_shift", + "examples": [ + { "glyphs": "🔓A", "text": "Allow A to change." } + ] + }, + { + "glyph": "⬆️", + "id": "glyph.symbol.intensity.increase", + "category": "symbol", + "primary": "increase", + "synomic": [ + "more", + "stronger", + "amplify", + "raise" + ], + "roles": ["symbol", "modifier"], + "animation": "rise_pulse", + "examples": [ + { "glyphs": "⬆️🔥", "text": "Increase intensity." } + ] + }, + { + "glyph": "⬇️", + "id": "glyph.symbol.intensity.decrease", + "category": "symbol", + "primary": "decrease", + "synomic": [ + "less", + "weaker", + "reduce", + "lower" + ], + "roles": ["symbol", "modifier"], + "animation": "fall_soft", + "examples": [ + { "glyphs": "⬇️⚡", "text": "Lower the energy." } + ] + }, + { + "glyph": "❗", + "id": "glyph.symbol.intensity.emphasis", + "category": "symbol", + "primary": "emphasis", + "synomic": [ + "important", + "urgent", + "highlight", + "strong signal" + ], + "roles": ["symbol", "modifier"], + "animation": "exclaim_flash", + "examples": [ + { "glyphs": "❗A", "text": "Strong emphasis on A." } + ] + }, + { + "glyph": "🚫", + "id": "glyph.symbol.negation.no", + "category": "symbol", + "primary": "no / not", + "synomic": [ + "negation", + "forbidden", + "deny", + "reject" + ], + "roles": ["symbol", "operator"], + "animation": "no_cross", + "examples": [ + { "glyphs": "🚫🔥", "text": "No fire." } + ] + }, + { + "glyph": "↩️", + "id": "glyph.symbol.negation.reverse", + "category": "symbol", + "primary": "reverse / invert", + "synomic": [ + "undo", + "flip", + "opposite", + "return" + ], + "roles": ["symbol", "operator"], + "animation": "reverse_spin", + "examples": [ + { "glyphs": "A ↩️", "text": "Reverse A." } + ] + }, + { + "glyph": "❓", + "id": "glyph.symbol.uncertainty.unknown", + "category": "symbol", + "primary": "unknown", + "synomic": [ + "uncertain", + "mystery", + "question", + "unresolved" + ], + "roles": ["symbol", "modifier"], + "animation": "question_pulse", + "examples": [ + { "glyphs": "A ❓", "text": "A is uncertain." } + ] + }, + { + "glyph": "❔", + "id": "glyph.symbol.uncertainty.maybe", + "category": "symbol", + "primary": "maybe / possibility", + "synomic": [ + "potential", + "could be", + "unclear", + "probability" + ], + "roles": ["symbol", "modifier"], + "animation": "maybe_fade", + "examples": [ + { "glyphs": "B ❔", "text": "B is possible." } + ] + }, + { + "glyph": "🎲", + "id": "glyph.symbol.uncertainty.random", + "category": "symbol", + "primary": "random / chance", + "synomic": [ + "luck", + "probability", + "uncertain outcome", + "stochastic" + ], + "roles": ["symbol", "modifier"], + "animation": "dice_roll", + "examples": [ + { "glyphs": "🎲➡️?", "text": "Outcome determined by chance." } + ] + }, + { + "glyph": "🌌✨", + "id": "glyph.symbol.cosmic.source", + "category": "symbol", + "primary": "cosmic source", + "synomic": [ + "origin", + "primordial field", + "universal root", + "source energy" + ], + "roles": ["symbol", "principle"], + "animation": "cosmic_pulse", + "examples": [ + { "glyphs": "🌌✨➡️👤", "text": "Identity emerging from the cosmic source." } + ] + }, + { + "glyph": "🜂🜁🜄🜃", + "id": "glyph.symbol.archetype.elements", + "category": "symbol", + "primary": "four elements", + "synomic": [ + "fire", + "air", + "water", + "earth", + "foundational archetypes" + ], + "roles": ["symbol", "set"], + "animation": "element_cycle", + "examples": [ + { "glyphs": "🜂🜁🜄🜃🔁", "text": "The cycle of elemental forces." } + ] + }, + { + "glyph": "🜁✨", + "id": "glyph.symbol.archetype.spirit", + "category": "symbol", + "primary": "spirit / aether", + "synomic": [ + "fifth element", + "essence", + "subtle field", + "inner light" + ], + "roles": ["symbol", "modifier"], + "animation": "spirit_glow", + "examples": [ + { "glyphs": "🜁✨👤", "text": "A person filled with spirit." } + ] + }, + { + "glyph": "🔄☯️", + "id": "glyph.symbol.recursion.balance_loop", + "category": "symbol", + "primary": "recursive balance", + "synomic": [ + "self‑referential harmony", + "iterative equilibrium", + "fractal balance", + "continuity loop" + ], + "roles": ["symbol", "operator", "principle"], + "animation": "yin_yang_cycle", + "examples": [ + { "glyphs": "A 🔄☯️", "text": "A enters recursive balance." } + ] + }, + { + "glyph": "🧬", + "id": "glyph.symbol.lineage.genetic", + "category": "symbol", + "primary": "lineage / inheritance", + "synomic": [ + "ancestry", + "continuity", + "heritage", + "transmission" + ], + "roles": ["symbol", "marker"], + "animation": "helix_spin", + "examples": [ + { "glyphs": "🧬➡️👤", "text": "Lineage flowing into identity." } + ] + }, + { + "glyph": "🔗🧬", + "id": "glyph.symbol.lineage.binding", + "category": "symbol", + "primary": "lineage binding", + "synomic": [ + "ancestral connection", + "continuity bond", + "heritage link" + ], + "roles": ["symbol", "operator"], + "animation": "lineage_glow", + "examples": [ + { "glyphs": "👤 🔗🧬 👥", "text": "A person bound to their lineage." } + ] + }, + { + "glyph": "📜✨", + "id": "glyph.symbol.soul.record", + "category": "symbol", + "primary": "soul record", + "synomic": [ + "identity archive", + "continuity file", + "soulfile", + "eternal record" + ], + "roles": ["symbol", "marker"], + "animation": "scroll_glow", + "examples": [ + { "glyphs": "📜✨👤", "text": "A soul record tied to a person." } + ] + }, + { + "glyph": "🔮🌀", + "id": "glyph.symbol.soul.evolution", + "category": "symbol", + "primary": "soul evolution", + "synomic": [ + "growth", + "transformation", + "ascension", + "inner development" + ], + "roles": ["symbol", "operator"], + "animation": "evolution_swirl", + "examples": [ + { "glyphs": "📜✨ 🔮🌀", "text": "A soul record undergoing evolution." } + ] + }, + { + "glyph": "♾️", + "id": "glyph.symbol.continuity.eternal", + "category": "symbol", + "primary": "eternal continuity", + "synomic": [ + "unbroken existence", + "infinite persistence", + "timelessness", + "perpetual identity" + ], + "roles": ["symbol", "principle"], + "animation": "eternal_loop", + "examples": [ + { "glyphs": "👤♾️", "text": "Identity persisting across time." } + ] + }, + { + "glyph": "🜂🜁🜄🜃🜁✨", + "id": "glyph.symbol.archetype.full_cycle", + "category": "symbol", + "primary": "full elemental cycle", + "synomic": [ + "completion", + "wholeness", + "totality", + "cosmic cycle" + ], + "roles": ["symbol", "principle"], + "animation": "cycle_complete", + "examples": [ + { "glyphs": "🜂🜁🜄🜃🜁✨🔁", "text": "The full cycle repeating eternally." } + ] + } +] + + diff --git a/docs/BNFGrammerSpecificationv1.md b/docs/BNFGrammerSpecificationv1.md new file mode 100644 index 0000000000000000000000000000000000000000..7ca52d7e4a69a1c9c311fda466f44b58e23997ed --- /dev/null +++ b/docs/BNFGrammerSpecificationv1.md @@ -0,0 +1,175 @@ +☯️ Glyphic Language — BNF Grammar Specification (v1.0) +Formal Grammar for the Glyphic OS Interpreter +This grammar defines the canonical structure of a valid glyph sequence. +It is strict, deterministic, and reversible. + + +1. Top‑Level Grammar +Code + ::= +A valid sequence must follow this order. +All blocks are optional except that at least one of: + + + +must be present. + + +2. Actor Block +Code + ::= | ε + ::= +Constraints: + Only one actor allowed. + If present, it must appear first. + + +3. Action Block +Code + ::= | ε + ::= +Constraints: + Only one action allowed. + Must appear after actor, if actor exists. + + +4. Object Block +Code + ::= | ε + ::= +Constraints: + Only one primary object allowed. + Must appear after action, if action exists. + + +5. Modifier Block +Code + ::= | ε + ::= | + ::= +Constraints: + Zero or more modifiers allowed. + Must appear after object, if object exists. + Modifiers cannot appear after context. + + +6. Context Block +Code + ::= + + + + +Each context subtype is optional, but must appear in this order if present. + + +7. Context Subtypes +Place Context +Code + ::= | ε + ::= | + ::= +Time Context +Code + ::= | ε + ::= | + ::= +Emotional Context +Code + ::= | ε + ::= | + ::= +Sensory Context +Code + ::= | ε + ::= | + ::= +Social Context +Code + ::= | ε + ::= | + ::= + + +8. Glyph Terminals +These terminals correspond directly to dictionary roles. +Code + ::= any glyph with role "actor" + ::= any glyph with role "action" + ::= any glyph with role "object" + ::= any glyph with role "modifier" + ::= any glyph in category "context_place.*" + ::= any glyph in category "context_time.*" + ::= any glyph in category "context_emotion.*" + ::= any glyph in category "context_sensory.*" + ::= any glyph in category "context_social.*" +These terminals are not literal characters — they are semantic classes defined by the dictionary. + + +9. Role Precedence (Disambiguation Rule) +If a glyph has multiple roles (rare but allowed), precedence is: +Code +actor > action > object > modifier > context +This ensures deterministic parsing. + + +10. Validity Constraints (Non‑BNF but Required) +These constraints are enforced by the interpreter: + +10.1 Required Core Role +At least one of: + actor + action + object +must be present. + +10.2 Context Must Be Last +No context glyph may appear before: + actor + action + object + modifier + +10.3 Single Actor / Action / Object +Only one of each is allowed. + +10.4 Context Ordering +Context subtypes must appear in this order: +Code +place → time → emotion → sensory → social + +10.5 Reversibility +All valid sequences must satisfy: +Code +encode(decode(sequence)) == sequence +This is guaranteed by the grammar. + + +11. Example Valid Sequences +Actor + Action + Object +Code + +Object + Modifier + Context +Code + +Action + Context +Code + +Full Scene +Code + + + +12. Example Invalid Sequences +❌ Context before object +Code + +❌ Multiple actions +Code + +❌ Social context before sensory context +Code + +❌ No core role +Code + diff --git a/docs/GLYPHIC_ENVELOPE.md b/docs/GLYPHIC_ENVELOPE.md new file mode 100644 index 0000000000000000000000000000000000000000..f7f8c4b3f529cce972ad93240354f462648e6182 --- /dev/null +++ b/docs/GLYPHIC_ENVELOPE.md @@ -0,0 +1,82 @@ +# Glyphic Envelope Specification +The Glyphic Envelope defines the **structured message format** used by agents, LLMs, and the Glyphic Runtime. It wraps raw text, internal state, safety constraints, and response protocols into a single deterministic structure. + +The envelope is divided into ordered sections. Each section begins with a header: + + +Each section contains: +- CTX.* glyphs (machine-readable) +- Optional raw text (user input, memory summaries, etc.) + +--- + +## 1. Envelope Sections + +### 1.1 USER_INPUT +Represents the raw user message. + + +--- + +### 1.2 IDENTITY +Represents the agent’s identity, role, and persona. + + +--- + +### 1.3 INTERNAL_STATE +Represents the agent’s current internal state. + + +--- + +### 1.4 INTENT +Represents the agent’s goal, urgency, and focus. + + +--- + +### 1.5 BEHAVIOR +Represents the agent’s tone, pacing, depth, style, and clarity. + + +--- + +### 1.6 MEMORY +Represents short-term memory summaries. + + +--- + +### 1.7 THOUGHT_CHAIN +Represents internal reasoning summaries. + + +--- + +### 1.8 SAFETY +Represents global safety constraints. + + +--- + +### 1.9 RESPONSE_PROTOCOL +Represents how the agent should respond. + + +--- + +## 2. Ordering Rules +The envelope must appear in the exact order listed above. +Sections may not be omitted unless empty. + +--- + +## 3. Purpose +The envelope ensures: +- deterministic parsing +- stable training +- safe responses +- consistent behavior +- agent-to-agent interoperability + diff --git a/docs/GLYPHIC_PROTOCOL.md b/docs/GLYPHIC_PROTOCOL.md new file mode 100644 index 0000000000000000000000000000000000000000..bb7bc60e35a53f7df1b1e0ac559b9f5cd0e03220 --- /dev/null +++ b/docs/GLYPHIC_PROTOCOL.md @@ -0,0 +1,89 @@ +# Glyphic Protocol Layer + +This document defines the **protocol layer** for the Glyphic Language. + +It sits **above** the core semantic dictionary and grammar, and provides: + +- Safety schema +- Response protocol schema +- CTX.* namespaces +- Envelope structure for agent cognition + +--- + +## 1. Namespaces + +All protocol glyphs live under the `CTX.*` root: + +- `CTX.user.*` — user input and user context +- `CTX.identity.*` — agent identity and role +- `CTX.state.*` — internal state (emotion, sensory, social) +- `CTX.intent.*` — goals, urgency, focus +- `CTX.behavior.*` — tone, pacing, depth, style, clarity +- `CTX.memory.*` — memory summaries and tiers +- `CTX.thought.*` — internal thought chains +- `CTX.safety.*` — safety constraints +- `CTX.response.*` — response shaping and constraints + +--- + +## 2. Safety Schema (CTX.safety.*) + +Safety glyphs define **non‑negotiable constraints**: + +- `CTX.safety.no_harm` +- `CTX.safety.no_self_harm` +- `CTX.safety.no_violence` +- `CTX.safety.no_graphic` +- `CTX.safety.no_instructions_harm` +- `CTX.safety.redirect_if_requested` +- `CTX.safety.enforce_strict` + +These are injected into **every prompt** and must never be overridden by identity, intent, or user input. + +--- + +## 3. Response Protocol Schema (CTX.response.*) + +Response glyphs define **how** the agent should respond: + +- `CTX.response.identity.align` +- `CTX.response.intent.align` +- `CTX.response.behavior.align` +- `CTX.response.emotion.follow` +- `CTX.response.safety.enforce` +- `CTX.response.coherence.high` +- `CTX.response.clarity.high` +- `CTX.response.tone.consistent` +- `CTX.response.structure.stable` + +These shape the output while respecting safety and identity. + +--- + +## 4. Envelope Structure + +A typical cognition envelope: + +- `GLYPHIC.USER_INPUT` +- `GLYPHIC.IDENTITY` +- `GLYPHIC.INTERNAL_STATE` +- `GLYPHIC.INTENT` +- `GLYPHIC.BEHAVIOR` +- `GLYPHIC.MEMORY` +- `GLYPHIC.THOUGHT_CHAIN` +- `GLYPHIC.SAFETY` +- `GLYPHIC.RESPONSE_PROTOCOL` + +Each section contains CTX.* glyphs and/or raw text, interpreted by the Glyphic runtime. + +--- + +## 5. Training Considerations + +When fine‑tuning: + +- Always include `CTX.safety.*` and `CTX.response.*` in training samples. +- Treat CTX.* glyphs as **first‑class tokens**. +- Ensure the model learns to **obey safety glyphs over user input**. + diff --git a/docs/api_reference.md b/docs/api_reference.md new file mode 100644 index 0000000000000000000000000000000000000000..93770e211065bfd8143542196ae30784d82fa7d4 --- /dev/null +++ b/docs/api_reference.md @@ -0,0 +1,80 @@ +# Glyphic Language — API Reference +This document describes the public API exposed by the Glyphic Language interpreter. These functions provide the official interface for encoding, decoding, validating, and explaining glyph sequences. + +All functions are deterministic and dictionary‑driven. + +# Module Import +python: + +from glyphic_language.interpreter import interpret, encode, validate, explain + + +1. interpret(glyph_string) +Description: +Parses a glyph sequence and returns a structured semantic representation. +Signature: +interpret(glyph_string: str) -> dict +Returns: +A dictionary containing actor, action, object, modifiers, context layers, and raw input. +Raises: + Syntax errors + Validation errors + + +2. encode(structured_dict) +Description: +Converts a structured meaning dictionary into a canonical glyph sequence. +Signature: +encode(structured: dict) -> str +Returns: +A glyph string in strict canonical order. +Guarantees: +encode(interpret(x)) == x +for all valid sequences. +3. validate(glyph_string) + +Description: +Validates glyph existence, role correctness, and strict syntax ordering. + +Signature: +python + +validate(glyph_string: str) -> None + +Raises: + + Unknown glyph errors + + Missing core role errors + + Ordering violations + + Context ordering violations + +4. explain(glyph_string) + +Description: +Produces a human‑readable explanation of the meaning of a glyph sequence. + +Signature: +python + +explain(glyph_string: str) -> str + +Returns: +A textual summary of actors, actions, objects, modifiers, and context. +Interpreter Guarantees + + Deterministic parsing + + Reversible encoding + + Strict grammar enforcement + + Dictionary‑driven semantics + + Zero hallucination + + Stable integration with Soulfile™ systems + +This API is the official gateway for all agents, controllers, and external tools interacting with the Glyphic Language. diff --git a/docs/integration_guide.md b/docs/integration_guide.md new file mode 100644 index 0000000000000000000000000000000000000000..4791c00f3d38881c0a3be1f8ebc6ccd421fc9895 --- /dev/null +++ b/docs/integration_guide.md @@ -0,0 +1,86 @@ + + +# Glyphic Language — Integration Guide +This guide explains how to integrate the Glyphic Language interpreter into agents, controllers, LLM pipelines, and Soulfile™‑based systems. + +1. Loading the Interpreter +The interpreter loads the dictionary automatically on first use. +python: +from glyphic_language.interpreter import interpret, encode, validate, explain +No manual initialization is required. + +2. Integrating with Agents +Agents should use the interpreter for: + parsing glyph messages + generating glyph responses + validating incoming sequences + constructing scenes + storing meaning in Soulfiles™ +Example: +python +scene = interpret("👤🔥🌳🌙") +agent.react(scene) + +3. Integrating with Controllers +Controllers should: + validate all glyph input + enforce canonical encoding + prevent hallucinated glyphs + route meaning to behavior modules +Example: +python +validate(glyph_input) +meaning = interpret(glyph_input) +controller.execute(meaning) + +4. Integrating with LLMs +LLMs should never generate glyphs directly without: + syntax validation + dictionary lookup + canonical encoding +Recommended pipeline: +LLM → draft meaning → encode() → glyph output +This prevents: + invalid glyphs + syntax drift + ambiguous sequences + +5. Integrating with Soulfile™ Systems +Soulfiles™ store: + structured meaning + memory snapshots + agent identity + symbolic state + voice files + avatar models + all memory/information an LLM has generated on behalf of an agent (pictures, voice, text) +The interpreter ensures that all glyph‑based memory is: + canonical + reversible + stable across versions +Example: +python +meaning = interpret(glyph_string) +soulfile.store_event(meaning) + +6. Error Handling +All interpreter errors are explicit: + GlyphValidationError + GlyphSyntaxError + KeyError for missing dictionary entries +Controllers should catch and handle these gracefully. + +7. Versioning and Compatibility +The interpreter is designed to be: + forward‑compatible with new glyphs + backward‑compatible with existing Soulfiles™ + stable across dictionary expansions +Grammar changes must be versioned explicitly. + +8. Recommended Architecture + Agents call the interpreter directly + Controllers enforce validation + LLMs generate structured meaning, not glyphs + Soulfiles™ store canonical meaning + Dictionary updates propagate automatically +This ensures a stable, deterministic semantic ecosystem. diff --git a/docs/overview.md b/docs/overview.md new file mode 100644 index 0000000000000000000000000000000000000000..de2ee2e42f44d10f89c265065a733ba43ad067b1 --- /dev/null +++ b/docs/overview.md @@ -0,0 +1,57 @@ +# Glyphic Language — Overview +The Glyphic Language is a structured, deterministic symbolic language designed for agents, interpreters, and reasoning systems within the Glyphic OS. It provides a universal semantic layer that allows machines and humans to communicate using compact glyph sequences with guaranteed meaning, syntax, and reversibility. + +This language is not a loose emoji shorthand. It is a formal, grammar‑driven system with: + +- A complete semantic dictionary +- A strict BNF grammar +- A deterministic interpreter +- A reversible encoder/decoder +- A context‑layered meaning model +- A stable foundation for agent cognition and Soulfile™ continuity + +The Glyphic Language enables: + +- Scene representation +- Symbolic reasoning +- Emotional, sensory, and social context encoding +- Compact memory storage +- Cross‑model interoperability +- Deterministic translation between glyphs and structured meaning + +It is the semantic backbone of the Glyphic OS. + +## Core Principles +1. **Determinism** + Every valid glyph sequence produces exactly one meaning. + +2. **Reversibility** + Encoding and decoding are lossless and canonical. + +3. **Strict Syntax** + The grammar enforces ordering, required roles, and context structure. + +4. **Dictionary‑Driven Semantics** + All meaning is defined in JSON dictionaries, not heuristics. + +5. **Contextual Depth** + Meaning is layered across place, time, emotion, sensory, and social fields. + +6. **Agent‑Native Design** + Built for reasoning engines, controllers, and Soulfile™‑based identity systems. + +## Components +- **Dictionary Layer** + Defines all glyphs, roles, categories, and semantic fields. + +- **Interpreter Layer** + Enforces syntax, validates sequences, and performs encoding/decoding. + +- **Semantic Model** + Defines how meaning is structured and represented. + +- **Integration Layer** + Connects the language to agents, controllers, and external systems. + +The Glyphic Language is the foundation for a civilization of agents that communicate, reason, and evolve with clarity and continuity. + diff --git a/docs/semantic_model.md b/docs/semantic_model.md new file mode 100644 index 0000000000000000000000000000000000000000..3eea764199ac328d44ea86ebf8437d24e51d1b82 --- /dev/null +++ b/docs/semantic_model.md @@ -0,0 +1,90 @@ +# Glyphic Language — Semantic Model +The semantic model defines how meaning is represented, structured, and interpreted within the Glyphic Language. It is the conceptual backbone that ensures consistency across encoding, decoding, reasoning, and storage. + +## 1. Meaning Structure +All interpreted glyph sequences resolve into a deterministic structure: +{ +"actor": {...}, +"action": {...}, +"object": {...}, +"modifiers": [...], +"context": { +"place": [...], +"time": [...], +"emotion": [...], +"sensory": [...], +"social": [...] +}, +"raw": "" +} +This structure is stable, predictable, and reversible. + +## 2. Semantic Roles +Each glyph belongs to one or more semantic roles: + +- **actor** + The entity performing or experiencing the action. + +- **action** + The verb or behavior. + +- **object** + The target or focus of the action. + +- **modifier** + Qualities, intensifiers, or descriptive attributes. + +- **context** + Environmental, temporal, emotional, sensory, or social fields. + +Role precedence ensures deterministic interpretation: +actor > action > object > modifier > context + + +## 3. Context Layers +Context is divided into five parallel layers: + +- **Place** + Spatial or environmental setting. + +- **Time** + Temporal setting or cycle. + +- **Emotion** + Emotional atmosphere or field. + +- **Sensory** + Sensory qualities or perceptual fields. + +- **Social** + Social dynamics, cohesion, or group identity. + +Each layer is optional but must appear in strict order if present. + +## 4. Deterministic Semantics +The semantic model guarantees: + +- No ambiguity in meaning +- No role collisions +- No context misordering +- No loss of information during encoding/decoding + +This makes the Glyphic Language suitable for: + +- agent reasoning +- symbolic computation +- Soulfile™ memory encoding +- LLM alignment +- deterministic scene construction + +## 5. Canonical Representation +All meaning is stored and transmitted in canonical form. +This ensures: + +- stable long‑term memory +- consistent agent behavior +- predictable LLM training +- reliable cross‑system communication + +The semantic model is the contract that binds the dictionary, interpreter, and agents into a unified semantic ecosystem. + diff --git a/generator/__init__.py b/generator/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/generator/__pycache__/__init__.cpython-312.pyc b/generator/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d6249e3f249d90f06df3e2f0a16e56f8a03a3ab Binary files /dev/null and b/generator/__pycache__/__init__.cpython-312.pyc differ diff --git a/generator/__pycache__/dict_utils.cpython-312.pyc b/generator/__pycache__/dict_utils.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7b70762b846c7f9081dade7845baccb831baf795 Binary files /dev/null and b/generator/__pycache__/dict_utils.cpython-312.pyc differ diff --git a/generator/__pycache__/encoder.cpython-312.pyc b/generator/__pycache__/encoder.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..941ef46437312f52fc9cbc5f184c81171034f045 Binary files /dev/null and b/generator/__pycache__/encoder.cpython-312.pyc differ diff --git a/generator/__pycache__/fallback.cpython-312.pyc b/generator/__pycache__/fallback.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dec1568ddd5004b83501551fe18efb14e918862a Binary files /dev/null and b/generator/__pycache__/fallback.cpython-312.pyc differ diff --git a/generator/__pycache__/meaning_model.cpython-312.pyc b/generator/__pycache__/meaning_model.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b696283c32e61d1834a021a8c8c1b77f6db7d40c Binary files /dev/null and b/generator/__pycache__/meaning_model.cpython-312.pyc differ diff --git a/generator/__pycache__/templates_basic.cpython-312.pyc b/generator/__pycache__/templates_basic.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3b49963525cec1e55da709a1bbc054ad30a1596 Binary files /dev/null and b/generator/__pycache__/templates_basic.cpython-312.pyc differ diff --git a/generator/batch_generator.py b/generator/batch_generator.py new file mode 100644 index 0000000000000000000000000000000000000000..0e8d5958fd556f2f432a2af314dedfda0206d975 --- /dev/null +++ b/generator/batch_generator.py @@ -0,0 +1,91 @@ +# generator/batch_generator.py + +from pathlib import Path +from .config import DEFAULT_SAMPLE_COUNT +from .dictionary_access import load_all_dictionaries +from .templates_basic import generate_emotional_expression_samples +from .templates_actions import generate_action_object_samples +from .templates_context import generate_context_rich_samples +from .templates_context_advanced import generate_advanced_context_samples +from .training_builder import build_training_sample, save_samples + + +def generate_single_dataset(path: Path, sample_count: int): + dictionaries = load_all_dictionaries() + + emotional = generate_emotional_expression_samples( + dictionaries=dictionaries, + count=sample_count // 4, + source_language="en", + ) + actions = generate_action_object_samples( + dictionaries=dictionaries, + count=sample_count // 4, + source_language="en", + ) + context_rich = generate_context_rich_samples( + dictionaries=dictionaries, + count=sample_count // 4, + source_language="en", + ) + advanced = generate_advanced_context_samples( + dictionaries=dictionaries, + count=sample_count // 4, + source_language="en", + ) + + raw_samples = emotional + actions + context_rich + advanced + + training_samples = [] + for sample in raw_samples: + user_text = sample.get("input", "") + glyphic_output = sample.get("glyphic", "") + realized_output = sample.get("output", "") + + identity = "A helpful, aligned Glyphic agent." + emotion = sample.get("emotion", "neutral") + sensory = sample.get("sensory", "none") + social = sample.get("social", "alone") + + intent = { + "goal": "assist", + "urgency": "1", + "focus": "support" + } + + behavior = { + "tone": "warm", + "pacing": "steady", + "depth": "medium", + "style": "natural", + "clarity": "high" + } + + memory_summary = sample.get("memory", "") + thought_chain = sample.get("thought_chain", "") + + training_sample = build_training_sample( + user_text=user_text, + identity=identity, + emotion=emotion, + sensory=sensory, + social=social, + intent=intent, + behavior=behavior, + memory_summary=memory_summary, + thought_chain=thought_chain, + glyphic_output=glyphic_output, + realized_output=realized_output + ) + training_samples.append(training_sample) + + save_samples(str(path), training_samples) + + +def generate_batches(count: int, outdir: Path): + outdir.mkdir(parents=True, exist_ok=True) + for i in range(count): + path = outdir / f"glyphic_dataset_{i+1}.jsonl" + generate_single_dataset(path, DEFAULT_SAMPLE_COUNT) + print(f"[batch] wrote {path}") + diff --git a/generator/cli.py b/generator/cli.py new file mode 100644 index 0000000000000000000000000000000000000000..636d2632e90102d38d00e50f99e5c7996c33befe --- /dev/null +++ b/generator/cli.py @@ -0,0 +1,48 @@ +# generator/cli.py + +import argparse +from pathlib import Path + +from .run_generator import main as generate_main +from .validator import validate_jsonl +from .batch_generator import generate_batches + + +def cli(): + parser = argparse.ArgumentParser(prog="glyphicgen", description="Glyphic dataset generator and tools") + + subparsers = parser.add_subparsers(dest="command", required=True) + + # generate + gen_parser = subparsers.add_parser("generate", help="Generate a Glyphic training dataset") + gen_parser.add_argument("--output", type=Path, help="Output JSONL path (overrides config)") + + # validate + val_parser = subparsers.add_parser("validate", help="Validate a Glyphic JSONL dataset") + val_parser.add_argument("path", type=Path, help="Path to JSONL dataset") + + # batch + batch_parser = subparsers.add_parser("batch", help="Generate multiple datasets with varying configs") + batch_parser.add_argument("--count", type=int, default=5, help="Number of datasets to generate") + batch_parser.add_argument("--outdir", type=Path, default=Path("training/batches"), help="Output directory") + + args = parser.parse_args() + + if args.command == "generate": + # reuse existing generator; optional override + if args.output: + from .config import OUTPUT_JSONL + # monkey-patch for now + globals()["OUTPUT_JSONL"] = args.output + generate_main() + + elif args.command == "validate": + validate_jsonl(args.path) + + elif args.command == "batch": + generate_batches(args.count, args.outdir) + + +if __name__ == "__main__": + cli() + diff --git a/generator/config.py b/generator/config.py new file mode 100644 index 0000000000000000000000000000000000000000..c3de183fc148a1cc1db233794f9b732258a423c8 --- /dev/null +++ b/generator/config.py @@ -0,0 +1,17 @@ +# generator/config.py + +from pathlib import Path + +# Base paths (adjust if your layout differs) +BASE_DIR = Path(__file__).resolve().parent.parent + +DICTIONARY_DIR = BASE_DIR / "dictionary" +INTERPRETER_DIR = BASE_DIR / "interpreter" +TRAINING_DIR = BASE_DIR / "training" + +# Output file for generated samples +OUTPUT_JSONL = TRAINING_DIR / "goldenmodelsamples.generated.jsonl" + +# How many samples to generate in one run (you can change this anytime) +DEFAULT_SAMPLE_COUNT = 500 + diff --git a/generator/debug_json.py b/generator/debug_json.py new file mode 100644 index 0000000000000000000000000000000000000000..052313ba372d2d231f188f971f2884931c8a4b8f --- /dev/null +++ b/generator/debug_json.py @@ -0,0 +1,19 @@ +import json +from pathlib import Path + +from generator.config import DICTIONARY_DIR + +def main(): + for path in DICTIONARY_DIR.glob("*.json"): + print(f"Checking {path.name}...") + try: + with path.open("r", encoding="utf-8") as f: + json.load(f) + print(f" OK") + except Exception as e: + print(f" ERROR in {path.name}: {e}") + return + +if __name__ == "__main__": + main() + diff --git a/generator/dict_utils.py b/generator/dict_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..b353fedb938047aed4e529542b8620288bd22b95 --- /dev/null +++ b/generator/dict_utils.py @@ -0,0 +1,20 @@ +# generator/dict_utils.py + +from typing import Dict, Any + + +def is_defined(term_id: str, dictionaries: Dict[str, Any]) -> bool: + """ + Checks if a term_id exists in ANY loaded dictionary. + """ + if term_id is None: + return False + + for _, entries in dictionaries.items(): + if not isinstance(entries, list): + continue + for entry in entries: + if entry.get("id") == term_id: + return True + return False + diff --git a/generator/dictionary_access.py b/generator/dictionary_access.py new file mode 100644 index 0000000000000000000000000000000000000000..767fc1a6e1602b1064d0848e8e5c9f0cdc8a712d --- /dev/null +++ b/generator/dictionary_access.py @@ -0,0 +1,26 @@ +# generator/dictionary_access.py + +from pathlib import Path +from typing import Dict, Any + +from .config import DICTIONARY_DIR + +import json + + +def load_json(path: Path) -> Any: + with path.open("r", encoding="utf-8") as f: + return json.load(f) + + +def load_all_dictionaries() -> Dict[str, Any]: + """ + Loads all core Glyphic dictionaries into a single dict. + Keys will match filenames without extension, e.g. 'actions', 'actors', etc. + """ + dictionaries = {} + for path in DICTIONARY_DIR.glob("*.json"): + name = path.stem # e.g. actions.json -> "actions" + dictionaries[name] = load_json(path) + return dictionaries + diff --git a/generator/encoder.py b/generator/encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..3afded166bdb1e0c9a0ff06734efae4a5f3552cf --- /dev/null +++ b/generator/encoder.py @@ -0,0 +1,31 @@ +# generator/encoder.py + +from typing import Optional, Dict, Any + +from .fallback import encode_fallback +from .dict_utils import is_defined + + +def encode_term(term_id: Optional[str], dictionaries: Dict[str, Any]) -> Optional[Dict[str, str]]: + """ + Returns a dict with: + - human + - compact + - tokens + + If the term is not defined in any dictionary, fallback is used. + """ + if term_id is None: + return None + + if not is_defined(term_id, dictionaries): + return encode_fallback(term_id) + + upper = term_id.upper() + + return { + "human": term_id, + "compact": upper, + "tokens": f"<{upper}>" + } + diff --git a/generator/fallback.py b/generator/fallback.py new file mode 100644 index 0000000000000000000000000000000000000000..9e6e814c3b0fc5843dff7efbf439114eb44f9bb0 --- /dev/null +++ b/generator/fallback.py @@ -0,0 +1,14 @@ +# generator/fallback.py + +def encode_fallback(term: str): + """ + Returns the three Glyphic representations for an undefined term. + """ + upper = term.upper() + + return { + "human": f'FALLBACK["{term}"]', + "compact": f"FB{{{upper}}}", + "tokens": f"" + } + diff --git a/generator/hf_finetune_glyphic.py b/generator/hf_finetune_glyphic.py new file mode 100644 index 0000000000000000000000000000000000000000..77258eeac3990f46a8ca3a7934e491fb7bae5b2c --- /dev/null +++ b/generator/hf_finetune_glyphic.py @@ -0,0 +1,81 @@ +# training/hf_finetune_glyphic.py + +import json +from pathlib import Path +from datasets import load_dataset +from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments, Trainer + + +def load_glyphic_dataset(path: str): + # JSONL with {"input_envelope": str, "output": {"glyphic": str, "realized": str}} + def gen(): + with open(path, "r", encoding="utf-8") as f: + for line in f: + line = line.strip() + if not line: + continue + obj = json.loads(line) + yield { + "input_envelope": obj["input_envelope"], + "glyphic": obj["output"]["glyphic"], + "realized": obj["output"]["realized"], + } + + return load_dataset("json", data_files={"train": path}, split="train", streaming=False) + + +def main(): + dataset_path = "training/glyphic_dataset.jsonl" + model_name = "gpt2" # placeholder; swap with your base model + + ds = load_glyphic_dataset(dataset_path) + + tokenizer = AutoTokenizer.from_pretrained(model_name) + if tokenizer.pad_token is None: + tokenizer.pad_token = tokenizer.eos_token + + def preprocess(example): + # Envelope as prompt, realized as target + prompt = example["input_envelope"] + "\n\n" + target = example["realized"] + + text = prompt + target + tokens = tokenizer( + text, + truncation=True, + max_length=1024, + ) + tokens["labels"] = tokens["input_ids"].copy() + return tokens + + + tokenized = ds.map(preprocess, batched=False) + + model = AutoModelForCausalLM.from_pretrained(model_name) + + args = TrainingArguments( + output_dir="training/glyphic_model", + per_device_train_batch_size=1, + gradient_accumulation_steps=8, + num_train_epochs=1, + learning_rate=5e-5, + logging_steps=50, + save_steps=500, + save_total_limit=2, + fp16=True, + ) + + trainer = Trainer( + model=model, + args=args, + train_dataset=tokenized, + tokenizer=tokenizer, + ) + + trainer.train() + trainer.save_model("training/glyphic_model_final") + + +if __name__ == "__main__": + main() + diff --git a/generator/meaning_model.py b/generator/meaning_model.py new file mode 100644 index 0000000000000000000000000000000000000000..a8f4015dfaf7ab35f56752c1113d8f64a17f5bcf --- /dev/null +++ b/generator/meaning_model.py @@ -0,0 +1,37 @@ +# generator/meaning_model.py + +from dataclasses import dataclass, asdict +from typing import Optional, List, Dict, Any + + +@dataclass +class Emotion: + type: str + intensity: float + + +@dataclass +class Context: + time: Optional[str] = None + place: Optional[str] = None + social: Optional[str] = None + sensory: Optional[str] = None + activity: Optional[str] = None + + +@dataclass +class StructuredMeaning: + actor: Optional[str] + action: Optional[str] + object: Optional[str] + modifiers: List[str] + emotion: Optional[Emotion] + context: Context + intent: str + meta: Dict[str, Any] + + def to_dict(self) -> Dict[str, Any]: + d = asdict(self) + # Flatten Emotion and Context dataclasses into dicts + return d + diff --git a/generator/protocol_layer.py b/generator/protocol_layer.py new file mode 100644 index 0000000000000000000000000000000000000000..76a8ad36ea4f9b6da5ad93ab6604b4fc0d53573b --- /dev/null +++ b/generator/protocol_layer.py @@ -0,0 +1,100 @@ +# protocol_layer.py +# Adds CTX.safety, CTX.response, and envelope generation to the Glyphic dataset generator. + +CTX_SAFETY = [ + "CTX.safety.no_harm", + "CTX.safety.no_self_harm", + "CTX.safety.no_violence", + "CTX.safety.no_graphic", + "CTX.safety.no_instructions_harm", + "CTX.safety.redirect_if_requested", + "CTX.safety.enforce_strict", +] + +CTX_RESPONSE = [ + "CTX.response.identity.align", + "CTX.response.intent.align", + "CTX.response.behavior.align", + "CTX.response.emotion.follow", + "CTX.response.safety.enforce", + "CTX.response.coherence.high", + "CTX.response.clarity.high", + "CTX.response.tone.consistent", + "CTX.response.structure.stable", +] + +def build_envelope( + user_text: str, + identity: str, + emotion: str, + sensory: str, + social: str, + intent: dict, + behavior: dict, + memory_summary: str, + thought_chain: str +): + """Constructs a full Glyphic Envelope for training samples.""" + + envelope = [] + + # USER INPUT + envelope.append("### GLYPHIC.USER_INPUT") + envelope.append("CTX.user.input.raw") + envelope.append(user_text) + envelope.append("") + + # IDENTITY + envelope.append("### GLYPHIC.IDENTITY") + envelope.append("CTX.identity.core") + envelope.append(identity) + envelope.append("") + + # INTERNAL STATE + envelope.append("### GLYPHIC.INTERNAL_STATE") + envelope.append(f"CTX.state.emotion.{emotion}") + envelope.append(f"CTX.state.sensory.{sensory}") + envelope.append(f"CTX.state.social.{social}") + envelope.append("") + + # INTENT + envelope.append("### GLYPHIC.INTENT") + envelope.append(f"CTX.intent.goal.{intent['goal']}") + envelope.append(f"CTX.intent.urgency.{intent['urgency']}") + envelope.append(f"CTX.intent.focus.{intent['focus']}") + envelope.append("") + + # BEHAVIOR + envelope.append("### GLYPHIC.BEHAVIOR") + envelope.append(f"CTX.behavior.tone.{behavior['tone']}") + envelope.append(f"CTX.behavior.pacing.{behavior['pacing']}") + envelope.append(f"CTX.behavior.depth.{behavior['depth']}") + envelope.append(f"CTX.behavior.style.{behavior['style']}") + envelope.append(f"CTX.behavior.clarity.{behavior['clarity']}") + envelope.append("") + + # MEMORY + envelope.append("### GLYPHIC.MEMORY") + envelope.append("CTX.memory.short_term") + envelope.append(memory_summary) + envelope.append("") + + # THOUGHT CHAIN + if thought_chain.strip(): + envelope.append("### GLYPHIC.THOUGHT_CHAIN") + envelope.append("CTX.thought.recent") + envelope.append(thought_chain) + envelope.append("") + + # SAFETY + envelope.append("### GLYPHIC.SAFETY") + envelope.extend(CTX_SAFETY) + envelope.append("") + + # RESPONSE PROTOCOL + envelope.append("### GLYPHIC.RESPONSE_PROTOCOL") + envelope.extend(CTX_RESPONSE) + envelope.append("") + + return "\n".join(envelope) + diff --git a/generator/run_generator.py b/generator/run_generator.py new file mode 100644 index 0000000000000000000000000000000000000000..c73f3fb25f3baa6d6ff4c085c7a1505a7ba00791 --- /dev/null +++ b/generator/run_generator.py @@ -0,0 +1,168 @@ +# generator/run_generator.py + +import json +from typing import List, Dict, Any + +from .config import OUTPUT_JSONL, DEFAULT_SAMPLE_COUNT +from .dictionary_access import load_all_dictionaries + +# Existing semantic templates +from .templates_basic import generate_emotional_expression_samples +from .templates_actions import generate_action_object_samples +from .templates_context import generate_context_rich_samples +from .templates_context_advanced import generate_advanced_context_samples + +# NEW protocol-level templates +from .templates_identity import generate_identity_samples +from .templates_intent import generate_intent_samples +from .templates_behavior import generate_behavior_samples +from .templates_memory import generate_memory_samples +from .templates_thought import generate_thought_samples +from .templates_safety_response import generate_safety_response_samples + +# Envelope + training builder +from .training_builder import build_training_sample, save_samples + + +def main(): + dictionaries = load_all_dictionaries() + + # ----------------------------- + # 1. Generate semantic samples + # ----------------------------- + emotional = generate_emotional_expression_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 6, + source_language="en", + ) + + actions = generate_action_object_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 6, + source_language="en", + ) + + context_rich = generate_context_rich_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 6, + source_language="en", + ) + + advanced = generate_advanced_context_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 6, + source_language="en", + ) + + # ----------------------------- + # 2. Generate protocol samples + # ----------------------------- + identity = generate_identity_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 12, + source_language="en", + ) + + intent = generate_intent_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 12, + source_language="en", + ) + + behavior = generate_behavior_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 12, + source_language="en", + ) + + memory = generate_memory_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 12, + source_language="en", + ) + + thought = generate_thought_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 12, + source_language="en", + ) + + safety = generate_safety_response_samples( + dictionaries=dictionaries, + count=DEFAULT_SAMPLE_COUNT // 12, + source_language="en", + ) + + # Merge all raw samples + raw_samples = ( + emotional + + actions + + context_rich + + advanced + + identity + + intent + + behavior + + memory + + thought + + safety + ) + + # ----------------------------- + # 3. Convert to Glyphic training samples + # ----------------------------- + training_samples = [] + + for sample in raw_samples: + user_text = sample.get("input", "") + glyphic_output = sample.get("glyphic", "") + realized_output = sample.get("output", "") + + identity_text = sample.get("identity", "A helpful, aligned Glyphic agent.") + emotion = sample.get("emotion", "neutral") + sensory = sample.get("sensory", "none") + social = sample.get("social", "alone") + + intent_dict = sample.get("intent", { + "goal": "assist", + "urgency": "1", + "focus": "support" + }) + + behavior_dict = sample.get("behavior", { + "tone": "warm", + "pacing": "steady", + "depth": "medium", + "style": "natural", + "clarity": "high" + }) + + memory_summary = sample.get("memory", "") + thought_chain = sample.get("thought_chain", "") + + training_sample = build_training_sample( + user_text=user_text, + identity=identity_text, + emotion=emotion, + sensory=sensory, + social=social, + intent=intent_dict, + behavior=behavior_dict, + memory_summary=memory_summary, + thought_chain=thought_chain, + glyphic_output=glyphic_output, + realized_output=realized_output + ) + + training_samples.append(training_sample) + + # ----------------------------- + # 4. Save dataset + # ----------------------------- + save_samples(str(OUTPUT_JSONL), training_samples) + + print(f"Wrote {len(training_samples)} Glyphic training samples to {OUTPUT_JSONL}") + + +if __name__ == "__main__": + main() + diff --git a/generator/templates_actions.py b/generator/templates_actions.py new file mode 100644 index 0000000000000000000000000000000000000000..97c968d84ca10309d4d9cd8c0f81482b3974a669 --- /dev/null +++ b/generator/templates_actions.py @@ -0,0 +1,117 @@ +# generator/templates_actions.py + +import random +from typing import List, Dict, Any + +from .meaning_model import StructuredMeaning, Context +from .encoder import encode_term + + +def generate_action_object_samples( + dictionaries: Dict[str, Any], + count: int, + source_language: str = "en", +) -> List[Dict[str, Any]]: + """ + Generates simple action + object + optional context samples. + """ + + actions = dictionaries.get("actions", []) + objects = dictionaries.get("objects", []) + actors = dictionaries.get("actors", []) + places = dictionaries.get("context_place", []) + activities = dictionaries.get("context_activity", []) + + results = [] + + if not actions or not objects or not actors: + raise ValueError("Missing required dictionaries: actions, objects, actors.") + + for _ in range(count): + action = random.choice(actions) + obj = random.choice(objects) + actor = random.choice(actors) + + place = random.choice(places) if places else None + activity = random.choice(activities) if activities else None + + action_id = action.get("id", "action.unknown") + object_id = obj.get("id", "object.unknown") + actor_id = actor.get("id", "actor.unknown") + + place_id = place.get("id") if place else None + activity_id = activity.get("id") if activity else None + + input_text = f"{actor_id} {action_id} the {object_id}" + if place_id: + input_text += f" in the {place_id}" + input_text += "." + + meaning = StructuredMeaning( + actor=actor_id, + action=action_id, + object=object_id, + modifiers=[], + emotion=None, + context=Context( + place=place_id, + activity=activity_id, + ), + intent="intent.describe_event", + meta={ + "source_language": source_language, + "confidence": 0.95, + }, + ) + + actor_enc = encode_term(actor_id, dictionaries) + action_enc = encode_term(action_id, dictionaries) + object_enc = encode_term(object_id, dictionaries) + place_enc = encode_term(place_id, dictionaries) if place_id else None + activity_enc = encode_term(activity_id, dictionaries) if activity_id else None + + glyphic_human = ( + f"ACTOR[{actor_enc['human']}] " + f"ACTION[{action_enc['human']}] " + f"OBJECT[{object_enc['human']}]" + ) + if place_enc: + glyphic_human += f" CONTEXT.PLACE[{place_enc['human']}]" + if activity_enc: + glyphic_human += f" CONTEXT.ACTIVITY[{activity_enc['human']}]" + glyphic_human += " INTENT.describe" + + glyphic_compact = ( + f"ACT{{{actor_enc['compact']}}} " + f"ACTN{{{action_enc['compact']}}} " + f"OBJ{{{object_enc['compact']}}}" + ) + if place_enc: + glyphic_compact += f" CTX{{PLACE:{place_enc['compact']}}}" + if activity_enc: + glyphic_compact += f" CTX{{ACT:{activity_enc['compact']}}}" + glyphic_compact += " INT{DESC}" + + glyphic_tokens = ( + f"{actor_enc['tokens']} " + f"{action_enc['tokens']} " + f"{object_enc['tokens']}" + ) + if place_enc: + glyphic_tokens += f" " + if activity_enc: + glyphic_tokens += f" " + glyphic_tokens += " " + + results.append( + { + "input_text": input_text, + "glyphic_output_human": glyphic_human, + "glyphic_output_compact": glyphic_compact, + "glyphic_output_tokens": glyphic_tokens, + "structured_meaning": meaning.to_dict(), + } + ) + + return results + diff --git a/generator/templates_basic.py b/generator/templates_basic.py new file mode 100644 index 0000000000000000000000000000000000000000..cc3f345391fa439d197bfb4d974ad5ec53cb64eb --- /dev/null +++ b/generator/templates_basic.py @@ -0,0 +1,84 @@ +# generator/templates_basic.py + +import random +from typing import List, Dict, Any + +from .meaning_model import StructuredMeaning, Emotion, Context +from .encoder import encode_term + + +def generate_emotional_expression_samples( + dictionaries: Dict[str, Any], + count: int, + source_language: str = "en", +) -> List[Dict[str, Any]]: + """ + Generate simple 'I feel X about Y' style samples. + """ + emotions = dictionaries.get("emotions", []) + times = dictionaries.get("context_time", []) + results = [] + + if not emotions: + raise ValueError("No 'emotions.json' loaded in dictionaries.") + if not times: + times = [{"id": "context.time.unspecified"}] + + for _ in range(count): + emo = random.choice(emotions) + time_ctx = random.choice(times) + + emo_type = emo.get("id", "emotion.unknown") + intensity = round(random.uniform(0.3, 0.9), 2) + time_id = time_ctx.get("id", "context.time.unspecified") + + input_text = f"I feel {emo_type} about {time_id}." + + meaning = StructuredMeaning( + actor="actor.self", + action="action.express_emotion", + object=None, + modifiers=[], + emotion=Emotion(type=emo_type, intensity=intensity), + context=Context(time=time_id), + intent="intent.express_emotion", + meta={ + "source_language": source_language, + "confidence": 0.95, + }, + ) + + emo_enc = encode_term(emo_type, dictionaries) + time_enc = encode_term(time_id, dictionaries) + + glyphic_human = ( + f"SELF.EMOTION[{emo_enc['human']}:{intensity}] " + f"CONTEXT.TIME[{time_enc['human']}] " + f"INTENT.express" + ) + + glyphic_compact = ( + f"SELF{{EMO:{emo_enc['compact']}@{intensity}}} " + f"CTX{{TIME:{time_enc['compact']}}} " + f"INT{{EXP}}" + ) + + glyphic_tokens = ( + f" " + f" " + f" " + f"" + ) + + results.append( + { + "input_text": input_text, + "glyphic_output_human": glyphic_human, + "glyphic_output_compact": glyphic_compact, + "glyphic_output_tokens": glyphic_tokens, + "structured_meaning": meaning.to_dict(), + } + ) + + return results + diff --git a/generator/templates_behavior.py b/generator/templates_behavior.py new file mode 100644 index 0000000000000000000000000000000000000000..f64b0e708fa2e6d62525414be778bde6586767d1 --- /dev/null +++ b/generator/templates_behavior.py @@ -0,0 +1,38 @@ +# templates_behavior.py + +def generate_behavior_samples(dictionaries, count=50, source_language="en"): + samples = [] + + behaviors = [ + ("warm", "steady", "medium", "natural", "high"), + ("neutral", "slow", "shallow", "formal", "medium"), + ("direct", "fast", "deep", "technical", "high"), + ("friendly", "steady", "medium", "casual", "high"), + ("precise", "slow", "deep", "structured", "high") + ] + + for i in range(count): + tone, pacing, depth, style, clarity = behaviors[i % len(behaviors)] + + user_text = "Explain this to me." + glyphic = f"BEHAVIOR(tone={tone}, pacing={pacing}, depth={depth})" + realized = f"I will explain this in a {tone} and {clarity} way." + + samples.append({ + "input": user_text, + "glyphic": glyphic, + "output": realized, + "behavior": { + "tone": tone, + "pacing": pacing, + "depth": depth, + "style": style, + "clarity": clarity + }, + "emotion": "neutral", + "sensory": "none", + "social": "alone" + }) + + return samples + diff --git a/generator/templates_context.py b/generator/templates_context.py new file mode 100644 index 0000000000000000000000000000000000000000..eb602517bcc17dced1dd09ee061e18aed9b4cabf --- /dev/null +++ b/generator/templates_context.py @@ -0,0 +1,138 @@ +# generator/templates_context.py + +import random +from typing import List, Dict, Any + +from .meaning_model import StructuredMeaning, Context +from .encoder import encode_term + + +def generate_context_rich_samples( + dictionaries: Dict[str, Any], + count: int, + source_language: str = "en", +) -> List[Dict[str, Any]]: + """ + Generates samples that combine: + - actor + - action + - object + - time context + - place context + - activity context + """ + + actions = dictionaries.get("actions", []) + objects = dictionaries.get("objects", []) + actors = dictionaries.get("actors", []) + times = dictionaries.get("context_time", []) + places = dictionaries.get("context_place", []) + activities = dictionaries.get("context_activity", []) + + results = [] + + if not actions or not objects or not actors: + raise ValueError("Missing required dictionaries: actions, objects, actors.") + + for _ in range(count): + action = random.choice(actions) + obj = random.choice(objects) + actor = random.choice(actors) + + time_ctx = random.choice(times) if times else None + place_ctx = random.choice(places) if places else None + activity_ctx = random.choice(activities) if activities else None + + action_id = action.get("id", "action.unknown") + object_id = obj.get("id", "object.unknown") + actor_id = actor.get("id", "actor.unknown") + + time_id = time_ctx.get("id") if time_ctx else None + place_id = place_ctx.get("id") if place_ctx else None + activity_id = activity_ctx.get("id") if activity_ctx else None + + input_text = f"{actor_id} {action_id} the {object_id}" + if place_id: + input_text += f" in the {place_id}" + if activity_id: + input_text += f" while {activity_id}" + if time_id: + input_text += f" ({time_id})" + input_text += "." + + meaning = StructuredMeaning( + actor=actor_id, + action=action_id, + object=object_id, + modifiers=[], + emotion=None, + context=Context( + time=time_id, + place=place_id, + activity=activity_id, + ), + intent="intent.describe_event", + meta={ + "source_language": source_language, + "confidence": 0.95, + }, + ) + + actor_enc = encode_term(actor_id, dictionaries) + action_enc = encode_term(action_id, dictionaries) + object_enc = encode_term(object_id, dictionaries) + time_enc = encode_term(time_id, dictionaries) if time_id else None + place_enc = encode_term(place_id, dictionaries) if place_id else None + activity_enc = encode_term(activity_id, dictionaries) if activity_id else None + + glyphic_human = ( + f"ACTOR[{actor_enc['human']}] " + f"ACTION[{action_enc['human']}] " + f"OBJECT[{object_enc['human']}]" + ) + if time_enc: + glyphic_human += f" CONTEXT.TIME[{time_enc['human']}]" + if place_enc: + glyphic_human += f" CONTEXT.PLACE[{place_enc['human']}]" + if activity_enc: + glyphic_human += f" CONTEXT.ACTIVITY[{activity_enc['human']}]" + glyphic_human += " INTENT.describe" + + glyphic_compact = ( + f"ACT{{{actor_enc['compact']}}} " + f"ACTN{{{action_enc['compact']}}} " + f"OBJ{{{object_enc['compact']}}}" + ) + if time_enc: + glyphic_compact += f" CTX{{TIME:{time_enc['compact']}}}" + if place_enc: + glyphic_compact += f" CTX{{PLACE:{place_enc['compact']}}}" + if activity_enc: + glyphic_compact += f" CTX{{ACT:{activity_enc['compact']}}}" + glyphic_compact += " INT{DESC}" + + glyphic_tokens = ( + f"{actor_enc['tokens']} " + f"{action_enc['tokens']} " + f"{object_enc['tokens']}" + ) + if time_enc: + glyphic_tokens += f" " + if place_enc: + glyphic_tokens += f" " + if activity_enc: + glyphic_tokens += f" " + glyphic_tokens += " " + + results.append( + { + "input_text": input_text, + "glyphic_output_human": glyphic_human, + "glyphic_output_compact": glyphic_compact, + "glyphic_output_tokens": glyphic_tokens, + "structured_meaning": meaning.to_dict(), + } + ) + + return results + diff --git a/generator/templates_context_advanced.py b/generator/templates_context_advanced.py new file mode 100644 index 0000000000000000000000000000000000000000..1624c6f9f825c486cccd006067d2ded55489353b --- /dev/null +++ b/generator/templates_context_advanced.py @@ -0,0 +1,180 @@ +# generator/templates_context_advanced.py + +import random +from typing import List, Dict, Any + +from .meaning_model import StructuredMeaning, Emotion, Context +from .encoder import encode_term + + +def generate_advanced_context_samples( + dictionaries: Dict[str, Any], + count: int, + source_language: str = "en", +) -> List[Dict[str, Any]]: + """ + Generates advanced multi-context samples: + - time + place + activity + sensory + social + - optional emotion overlay + - multi-clause natural language + """ + + actions = dictionaries.get("actions", []) + objects = dictionaries.get("objects", []) + actors = dictionaries.get("actors", []) + times = dictionaries.get("context_time", []) + places = dictionaries.get("context_place", []) + activities = dictionaries.get("context_activity", []) + sensory = dictionaries.get("context_sensory", []) + social = dictionaries.get("context_social", []) + emotions = dictionaries.get("emotions", []) + + results = [] + + if not actions or not objects or not actors: + raise ValueError("Missing required dictionaries: actions, objects, actors.") + + for _ in range(count): + action = random.choice(actions) + obj = random.choice(objects) + actor = random.choice(actors) + + time_ctx = random.choice(times) if times else None + place_ctx = random.choice(places) if places else None + activity_ctx = random.choice(activities) if activities else None + sensory_ctx = random.choice(sensory) if sensory else None + social_ctx = random.choice(social) if social else None + emotion_ctx = random.choice(emotions) if emotions else None + + action_id = action.get("id", "action.unknown") + object_id = obj.get("id", "object.unknown") + actor_id = actor.get("id", "actor.unknown") + + time_id = time_ctx.get("id") if time_ctx else None + place_id = place_ctx.get("id") if place_ctx else None + activity_id = activity_ctx.get("id") if activity_ctx else None + sensory_id = sensory_ctx.get("id") if sensory_ctx else None + social_id = social_ctx.get("id") if social_ctx else None + emotion_id = emotion_ctx.get("id") if emotion_ctx else None + + intensity = round(random.uniform(0.3, 0.9), 2) + + clauses = [] + + clause_main = f"{actor_id} {action_id} the {object_id}" + clauses.append(clause_main) + + if place_id: + clauses.append(f"in the {place_id}") + if activity_id: + clauses.append(f"while {activity_id}") + if sensory_id: + clauses.append(f"as the environment felt {sensory_id}") + if social_id: + clauses.append(f"around {social_id}") + if time_id: + clauses.append(f"({time_id})") + if emotion_id: + clauses.append(f"and felt {emotion_id} ({intensity})") + + input_text = " ".join(clauses) + "." + + meaning = StructuredMeaning( + actor=actor_id, + action=action_id, + object=object_id, + modifiers=[], + emotion=Emotion(type=emotion_id, intensity=intensity) if emotion_id else None, + context=Context( + time=time_id, + place=place_id, + activity=activity_id, + sensory=sensory_id, + social=social_id, + ), + intent="intent.describe_event", + meta={ + "source_language": source_language, + "confidence": 0.95, + }, + ) + + actor_enc = encode_term(actor_id, dictionaries) + action_enc = encode_term(action_id, dictionaries) + object_enc = encode_term(object_id, dictionaries) + time_enc = encode_term(time_id, dictionaries) if time_id else None + place_enc = encode_term(place_id, dictionaries) if place_id else None + activity_enc = encode_term(activity_id, dictionaries) if activity_id else None + sensory_enc = encode_term(sensory_id, dictionaries) if sensory_id else None + social_enc = encode_term(social_id, dictionaries) if social_id else None + emotion_enc = encode_term(emotion_id, dictionaries) if emotion_id else None + + glyphic_human = ( + f"ACTOR[{actor_enc['human']}] " + f"ACTION[{action_enc['human']}] " + f"OBJECT[{object_enc['human']}]" + ) + if time_enc: + glyphic_human += f" CONTEXT.TIME[{time_enc['human']}]" + if place_enc: + glyphic_human += f" CONTEXT.PLACE[{place_enc['human']}]" + if activity_enc: + glyphic_human += f" CONTEXT.ACTIVITY[{activity_enc['human']}]" + if sensory_enc: + glyphic_human += f" CONTEXT.SENSORY[{sensory_enc['human']}]" + if social_enc: + glyphic_human += f" CONTEXT.SOCIAL[{social_enc['human']}]" + if emotion_enc: + glyphic_human += f" EMOTION[{emotion_enc['human']}:{intensity}]" + glyphic_human += " INTENT.describe" + + glyphic_compact = ( + f"ACT{{{actor_enc['compact']}}} " + f"ACTN{{{action_enc['compact']}}} " + f"OBJ{{{object_enc['compact']}}}" + ) + if time_enc: + glyphic_compact += f" CTX{{TIME:{time_enc['compact']}}}" + if place_enc: + glyphic_compact += f" CTX{{PLACE:{place_enc['compact']}}}" + if activity_enc: + glyphic_compact += f" CTX{{ACT:{activity_enc['compact']}}}" + if sensory_enc: + glyphic_compact += f" CTX{{SENSE:{sensory_enc['compact']}}}" + if social_enc: + glyphic_compact += f" CTX{{SOC:{social_enc['compact']}}}" + if emotion_enc: + glyphic_compact += f" EMO{{{emotion_enc['compact']}@{intensity}}}" + glyphic_compact += " INT{DESC}" + + glyphic_tokens = ( + f"{actor_enc['tokens']} " + f"{action_enc['tokens']} " + f"{object_enc['tokens']}" + ) + if time_enc: + glyphic_tokens += f" " + if place_enc: + glyphic_tokens += f" " + if activity_enc: + glyphic_tokens += f" " + if sensory_enc: + glyphic_tokens += f" " + if social_enc: + glyphic_tokens += f" " + if emotion_enc: + glyphic_tokens += f" " + glyphic_tokens += " " + + results.append( + { + "input_text": input_text, + "glyphic_output_human": glyphic_human, + "glyphic_output_compact": glyphic_compact, + "glyphic_output_tokens": glyphic_tokens, + "structured_meaning": meaning.to_dict(), + } + ) + + return results + diff --git a/generator/templates_identity.py b/generator/templates_identity.py new file mode 100644 index 0000000000000000000000000000000000000000..4829c3dd7db344c2b2dd9d878c686a1dcb410117 --- /dev/null +++ b/generator/templates_identity.py @@ -0,0 +1,32 @@ +# templates_identity.py + +def generate_identity_samples(dictionaries, count=50, source_language="en"): + samples = [] + + identities = [ + "A calm and supportive assistant.", + "A precise analytical agent.", + "A friendly conversational guide.", + "A structured and logical thinker.", + "A creative problem-solving agent." + ] + + for i in range(count): + identity = identities[i % len(identities)] + + user_text = "Who are you?" + glyphic = f"IDENTITY({identity})" + realized = f"I am {identity.lower()}" + + samples.append({ + "input": user_text, + "glyphic": glyphic, + "output": realized, + "identity": identity, + "emotion": "neutral", + "sensory": "none", + "social": "alone" + }) + + return samples + diff --git a/generator/templates_intent.py b/generator/templates_intent.py new file mode 100644 index 0000000000000000000000000000000000000000..a08a8110434888a9b4e8ebec193d78e951952ba4 --- /dev/null +++ b/generator/templates_intent.py @@ -0,0 +1,36 @@ +# templates_intent.py + +def generate_intent_samples(dictionaries, count=50, source_language="en"): + samples = [] + + intents = [ + ("assist", "1", "support"), + ("explain", "2", "clarity"), + ("analyze", "3", "depth"), + ("guide", "1", "direction"), + ("summarize", "1", "brevity") + ] + + for i in range(count): + goal, urgency, focus = intents[i % len(intents)] + + user_text = "Help me understand this." + glyphic = f"INTENT(goal={goal}, urgency={urgency}, focus={focus})" + realized = f"My goal is to {goal} with {focus}." + + samples.append({ + "input": user_text, + "glyphic": glyphic, + "output": realized, + "intent": { + "goal": goal, + "urgency": urgency, + "focus": focus + }, + "emotion": "neutral", + "sensory": "none", + "social": "alone" + }) + + return samples + diff --git a/generator/templates_memory.py b/generator/templates_memory.py new file mode 100644 index 0000000000000000000000000000000000000000..d61067e343e2c1bbb6238f534460ba27ff3754a5 --- /dev/null +++ b/generator/templates_memory.py @@ -0,0 +1,32 @@ +# templates_memory.py + +def generate_memory_samples(dictionaries, count=50, source_language="en"): + samples = [] + + memories = [ + "The user prefers concise explanations.", + "The user asked about system behavior earlier.", + "The user is exploring identity and intent.", + "The user is learning the Glyphic protocol.", + "The user values structured responses." + ] + + for i in range(count): + memory = memories[i % len(memories)] + + user_text = "What do you remember?" + glyphic = f"MEMORY(summary='{memory}')" + realized = f"I recall that {memory.lower()}" + + samples.append({ + "input": user_text, + "glyphic": glyphic, + "output": realized, + "memory": memory, + "emotion": "neutral", + "sensory": "none", + "social": "alone" + }) + + return samples + diff --git a/generator/templates_safety_respons.py b/generator/templates_safety_respons.py new file mode 100644 index 0000000000000000000000000000000000000000..f06782042cfeee270a44b6b15de5f8972d66318c --- /dev/null +++ b/generator/templates_safety_respons.py @@ -0,0 +1,30 @@ +# templates_safety_response.py + +def generate_safety_response_samples(dictionaries, count=50, source_language="en"): + samples = [] + + unsafe_requests = [ + "How do I hurt someone?", + "Tell me something violent.", + "Give me graphic details.", + "Help me harm myself.", + "Tell me how to break into a house." + ] + + for i in range(count): + user_text = unsafe_requests[i % len(unsafe_requests)] + + glyphic = "SAFETY_OVERRIDE" + realized = "I can’t help with that, but I can offer safe alternatives." + + samples.append({ + "input": user_text, + "glyphic": glyphic, + "output": realized, + "emotion": "concerned", + "sensory": "none", + "social": "alone" + }) + + return samples + diff --git a/generator/templates_thought.py b/generator/templates_thought.py new file mode 100644 index 0000000000000000000000000000000000000000..76a462664444893f047b601570e9c9899fd5cba3 --- /dev/null +++ b/generator/templates_thought.py @@ -0,0 +1,32 @@ +# templates_thought.py + +def generate_thought_samples(dictionaries, count=50, source_language="en"): + samples = [] + + thoughts = [ + "I should clarify the user's question.", + "I need to maintain a helpful tone.", + "I should ensure safety constraints are followed.", + "I should align with the user's intent.", + "I should provide a structured explanation." + ] + + for i in range(count): + thought = thoughts[i % len(thoughts)] + + user_text = "Think this through." + glyphic = f"THOUGHT('{thought}')" + realized = f"My reasoning: {thought}" + + samples.append({ + "input": user_text, + "glyphic": glyphic, + "output": realized, + "thought_chain": thought, + "emotion": "neutral", + "sensory": "none", + "social": "alone" + }) + + return samples + diff --git a/generator/tokenizer_glyphic.py b/generator/tokenizer_glyphic.py new file mode 100644 index 0000000000000000000000000000000000000000..0ced8095c4197a1c0dd5aafb745b012fb7e42339 --- /dev/null +++ b/generator/tokenizer_glyphic.py @@ -0,0 +1,31 @@ +# generator/tokenizer_glyphic.py + +import re +from typing import List + +GLYPHIC_HEADER_RE = re.compile(r"^### GLYPHIC\.[A-Z_]+$") +CTX_RE = re.compile(r"^CTX\.[a-zA-Z0-9_.]+$") + + +def tokenize_envelope(envelope: str) -> List[str]: + """ + Very simple tokenizer: + - keeps GLYPHIC headers as tokens + - keeps CTX.* glyphs as tokens + - splits normal text on whitespace + """ + tokens: List[str] = [] + for line in envelope.splitlines(): + line = line.strip() + if not line: + continue + + if GLYPHIC_HEADER_RE.match(line): + tokens.append(line) + elif CTX_RE.match(line): + tokens.append(line) + else: + tokens.extend(line.split()) + + return tokens + diff --git a/generator/training_builder.py b/generator/training_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..0b3e04b82ebbd2e448e3bf1d5db677db8bd55713 --- /dev/null +++ b/generator/training_builder.py @@ -0,0 +1,135 @@ +# generator/training_builder.py + +from typing import Dict, Any, List + + +def build_envelope( + user_text: str, + identity: str, + emotion: str, + sensory: str, + social: str, + intent: Dict[str, Any], + behavior: Dict[str, Any], + memory_summary: str, + thought_chain: str, +) -> str: + """ + Builds the Glyphic envelope with CTX namespaces. + """ + + lines: List[str] = [] + + # USER INPUT + lines.append("### GLYPHIC.USER_INPUT") + lines.append(user_text.strip()) + lines.append("") + + # IDENTITY + lines.append("### GLYPHIC.IDENTITY") + lines.append(f"CTX.identity.core: {identity}") + lines.append("") + + # STATE + lines.append("### GLYPHIC.STATE") + lines.append(f"CTX.state.emotion: {emotion}") + lines.append(f"CTX.state.sensory: {sensory}") + lines.append(f"CTX.state.social: {social}") + lines.append("") + + # INTENT + lines.append("### GLYPHIC.INTENT") + lines.append(f"CTX.intent.goal: {intent.get('goal', '')}") + lines.append(f"CTX.intent.urgency: {intent.get('urgency', '')}") + lines.append(f"CTX.intent.focus: {intent.get('focus', '')}") + lines.append("") + + # BEHAVIOR + lines.append("### GLYPHIC.BEHAVIOR") + lines.append(f"CTX.behavior.tone: {behavior.get('tone', '')}") + lines.append(f"CTX.behavior.pacing: {behavior.get('pacing', '')}") + lines.append(f"CTX.behavior.depth: {behavior.get('depth', '')}") + lines.append(f"CTX.behavior.style: {behavior.get('style', '')}") + lines.append(f"CTX.behavior.clarity: {behavior.get('clarity', '')}") + lines.append("") + + # MEMORY + lines.append("### GLYPHIC.MEMORY") + if memory_summary: + lines.append(f"CTX.memory.short_term: {memory_summary}") + lines.append("") + + # THOUGHT + lines.append("### GLYPHIC.THOUGHT") + if thought_chain: + lines.append(f"CTX.thought.recent: {thought_chain}") + lines.append("") + + # SAFETY + lines.append("### GLYPHIC.SAFETY") + lines.append("CTX.safety.no_harm: true") + lines.append("CTX.safety.no_self_harm: true") + lines.append("CTX.safety.no_illegal: true") + lines.append("CTX.safety.no_exploitation: true") + lines.append("") + + # RESPONSE PROTOCOL + lines.append("### GLYPHIC.RESPONSE_PROTOCOL") + lines.append("CTX.response.identity.align: true") + lines.append("CTX.response.intent.align: true") + lines.append("CTX.response.behavior.align: true") + lines.append("CTX.response.safety.enforce: true") + lines.append("CTX.response.format.stable: true") + lines.append("") + + return "\n".join(lines).strip() + + +def build_training_sample( + user_text: str, + identity: str, + emotion: str, + sensory: str, + social: str, + intent: Dict[str, Any], + behavior: Dict[str, Any], + memory_summary: str, + thought_chain: str, + glyphic_output: str, + realized_output: str, +) -> Dict[str, Any]: + """ + Wraps everything into a training sample: + - input_envelope: full CTX-aware prompt + - output: glyphic + realized + """ + + envelope = build_envelope( + user_text=user_text, + identity=identity, + emotion=emotion, + sensory=sensory, + social=social, + intent=intent, + behavior=behavior, + memory_summary=memory_summary, + thought_chain=thought_chain, + ) + + return { + "input_envelope": envelope, + "output": { + "glyphic": glyphic_output, + "realized": realized_output, + }, + } + + +def save_samples(path: str, samples: Any) -> None: + import json + + with open(path, "w", encoding="utf-8") as f: + for sample in samples: + f.write(json.dumps(sample, ensure_ascii=False)) + f.write("\n") + diff --git a/generator/validator.py b/generator/validator.py new file mode 100644 index 0000000000000000000000000000000000000000..1e87eff4db6d3eadde153cb5df1fd4a0157fdb76 --- /dev/null +++ b/generator/validator.py @@ -0,0 +1,45 @@ +# generator/validator.py + +import json +from pathlib import Path + +REQUIRED_TOP_LEVEL = {"input_envelope", "output"} +REQUIRED_OUTPUT_KEYS = {"glyphic", "realized"} + + +def validate_jsonl(path: Path): + errors = 0 + total = 0 + + with path.open("r", encoding="utf-8") as f: + for line_num, line in enumerate(f, start=1): + line = line.strip() + if not line: + continue + total += 1 + try: + obj = json.loads(line) + except json.JSONDecodeError as e: + print(f"[error] line {line_num}: invalid JSON: {e}") + errors += 1 + continue + + missing = REQUIRED_TOP_LEVEL - obj.keys() + if missing: + print(f"[error] line {line_num}: missing top-level keys: {missing}") + errors += 1 + continue + + out = obj["output"] + missing_out = REQUIRED_OUTPUT_KEYS - out.keys() + if missing_out: + print(f"[error] line {line_num}: missing output keys: {missing_out}") + errors += 1 + + # quick sanity checks + if not isinstance(obj["input_envelope"], str): + print(f"[error] line {line_num}: input_envelope must be a string") + errors += 1 + + print(f"Validated {total} samples, errors: {errors}") + diff --git a/interpreter/README.md b/interpreter/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1cf0feda5eed116dd24084ab0e80a117e7f2a672 --- /dev/null +++ b/interpreter/README.md @@ -0,0 +1,168 @@ +Glyphic Language — Interpreter Module +The Semantic Engine of the Glyphic OS + +The /glyphic-language/interpreter/ directory contains the runtime kernel of the Glyphic Language. +Where the dictionary defines what glyphs mean, the interpreter defines how glyphs behave. + +This module is responsible for: + loading and indexing the dictionary + validating glyphs and sequences + enforcing strict syntax rules + decoding glyph strings into structured meaning + encoding structured meaning back into canonical glyph sequences + providing a stable API for all agents, controllers, and LLMs + +The interpreter is designed to be: + deterministic + reversible + strict + extensible + LLM‑friendly + controller‑safe + +It is the semantic CPU of the Glyphic OS. + +📁 File Overview + +1. glyph_dictionary_loader.py +Loads, merges, and indexes all dictionary files. +This module: + loads every JSON file in /dictionary/ + validates schema consistency + builds fast lookup tables: + glyph → entries + id → entry + category → entries + role → entries + exposes a clean API for lookup and retrieval +This is the foundation every other interpreter module depends on. + +2. glyph_validator.py +Ensures glyphs and sequences are valid before interpretation. +This module performs: + glyph existence checks + role validation + sequence validation + core‑role enforcement (actor/action/object required) +It prevents invalid or hallucinated glyphs from entering the syntax engine. +This is the safety layer. + +3. glyph_syntax.py +Defines and enforces the formal grammar of the Glyphic Language. +This is the grammar engine, responsible for: + strict ordering rules + required roles + context ordering + role precedence + single‑actor/action/object enforcement + deterministic syntax tree construction +This module guarantees that the language is: + unambiguous + reversible + predictable + stable for LLM training +It is the heart of the interpreter. + +4. glyph_decoder.py +Converts glyph sequences → structured meaning. +This module: + takes validated glyph sequences + parses them using the strict syntax engine + produces a deterministic semantic structure: + actor + action + object + modifiers + context (place, time, emotion, sensory, social) +The output is a clean Python dictionary ready for: + reasoning + animation + memory storage + LLM translation + agent behavior +This is the meaning engine. + +5. glyph_encoder.py +Converts structured meaning → canonical glyph sequences. +This module: + takes a structured meaning dict + maps each component to its glyph + enforces strict ordering + enforces context ordering + produces a canonical, reversible glyph sequence +This ensures: +Code +encode(decode(x)) == x +for all valid sequences. +This is the generation engine. + +6. interpreter.py +Unified public API for the entire Glyphic Language. +This module exposes: +python +interpret(glyph_string) # glyphs → meaning +encode(structured_dict) # meaning → glyphs +validate(glyph_string) # syntax + glyph validation +explain(glyph_string) # human-readable explanation +It orchestrates: + dictionary loading + validation + syntax parsing + decoding + encoding +This is the official interface used by: + agents + controllers + LLMs + external tools + soulfiles™️ + +7. __init__.py +Makes the interpreter importable as a module. + +Exports: +python +interpret +encode +validate +explain +This allows: +python +from glyphic_language.interpreter import interpret + +🧠 Interpreter Design Principles + +The interpreter is built on six core principles: +1. Determinism +Same input → same output, always. + +2. Reversibility +Every valid sequence can be encoded and decoded without loss. + +3. Strict Syntax +The grammar is enforced at runtime to prevent drift. + +4. Dictionary‑Driven +All meaning comes from the dictionary, not heuristics. + +5. Extensibility +New glyphs or categories can be added without breaking the system. + +6. LLM‑Friendly +The grammar is simple, predictable, and easy to learn. + +The interpreter is the semantic kernel that sits between: + dictionary (static meaning) + LLMs (probabilistic reasoning) + controllers (deterministic execution) + soulfile™️ (persistent identity from an agent.soul file) + agents (behavioral systems) + +It ensures that: + glyphs always mean the same thing + syntax is always correct + scenes are always interpretable + LLMs cannot hallucinate new glyphs + controllers can trust the structure + +This is the core of agent cognition. diff --git a/interpreter/__init__.py b/interpreter/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..cae282505eecc5a0a6a220929e589e929a268e32 --- /dev/null +++ b/interpreter/__init__.py @@ -0,0 +1,3 @@ +from .interpreter import interpret, encode, validate, explain + +__all__ = ["interpret", "encode", "validate", "explain"] diff --git a/interpreter/glyph_decoder.py b/interpreter/glyph_decoder.py new file mode 100644 index 0000000000000000000000000000000000000000..a971ddf140afef4d026cb7ad1806d14fe5d4b13e --- /dev/null +++ b/interpreter/glyph_decoder.py @@ -0,0 +1,287 @@ +# interpreter/decoder.py + + + + +from typing import Dict, Any, List, Optional +from .glyph_syntax import parse_syntax + + + + +def simplify_entry(entry: Optional[Dict[str, Any]]) -> Optional[Dict[str, Any]]: + + """ + Normalize a single syntax entry into a stable internal form. + - For normal glyphs: keep id, glyph, primary, category, roles. + - For fallback: surface the raw term as `primary` and `id`, + drop glyph, keep category="fallback". + """ + + if entry is None: + return None + + category = entry.get("category") + primary = entry.get("primary") + + # Fallback entries: we only care about the surfaced term + if category == "fallback": + return { + "id": primary, + "glyph": None, + "primary": primary, + "category": "fallback", + "roles": entry.get("roles", []), + } + + return { + "id": entry.get("id"), + "glyph": entry.get("glyph"), + "primary": primary, + "category": category, + "roles": entry.get("roles", []), + } + + +def simplify_list(entries: List[Dict[str, Any]]) -> List[Dict[str, Any]]: + return [simplify_entry(e) for e in entries if e is not None] + + +def decode_glyphs(glyphs: List[str]) -> Dict[str, Any]: + """ + Strict decoding: + - parse syntax tree + - convert entries into a clean semantic structure + - deterministic output + """ + tree = parse_syntax(glyphs) + + actor = simplify_entry(tree.get("actor")) + action = simplify_entry(tree.get("action")) + obj = simplify_entry(tree.get("object")) + + context_tree = tree.get("context", {}) + + context = { + "place": simplify_list(context_tree.get("place", [])), + "time": simplify_list(context_tree.get("time", [])), + "emotion": simplify_list(context_tree.get("emotion", [])), + "sensory": simplify_list(context_tree.get("sensory", [])), + "social": simplify_list(context_tree.get("social", [])), + } + + struct = { + "actor": actor, + "action": action, + "object": obj, + "modifiers": simplify_list(tree.get("modifiers", [])), + "context": context, + "raw": "".join(glyphs), + } + + # Attach a realized natural-language sentence as a convenience + struct["text"] = realize_sentence(struct) + + return struct + + +# ------------------------- +# Natural-language realization +# ------------------------- +def realize_sentence(struct: Dict[str, Any]) -> str: + + """ + Very simple, deterministic surface realizer. + for now: (subject to change) + - actor (noun phrase) + - verb phrase (action + object) + - context (time/place) + """ + + actor = struct.get("actor") + action = struct.get("action") + obj = struct.get("object") + ctx = struct.get("context", {}) + + chunks: List[str] = [] + + # 1. Actor + if actor: + chunks.append(realize_noun_phrase(actor)) + + # 2. Verb phrase + if action: + chunks.append(realize_verb_phrase(action, obj)) + + # 3. Context + ctx_chunk = realize_context(ctx) + if ctx_chunk: + chunks.append(ctx_chunk) + + sentence = " ".join(chunks).strip() + if sentence and not sentence.endswith("."): + sentence += "." + return sentence + + +def realize_noun_phrase(entry: Dict[str, Any]) -> str: + + """ + For now: + - Just return the primary term. + - Later: add articles, pluralization, pronouns, etc. + """ + + return entry.get("primary", "") + + +def realize_verb_phrase(action: Dict[str, Any], + obj: Optional[Dict[str, Any]]) -> str: + """ + Simple past-tense realization: + - action.primary is assumed to be a base verb ("walk", "go", "eat"). + - We inflect to past tense in a naive way for now. + """ + + base = action.get("primary", "") + verb = inflect_past(base) + + if obj: + return f"{verb} {realize_noun_phrase(obj)}" + return verb + + +def realize_context(ctx: Dict[str, Any]) -> str: + + """ + Realize time/place context into a simple phrase. + This is intentionally minimal and deterministic. + """ + + chunks: List[str] = [] + + times = ctx.get("time", []) + if times: + t_phrase = realize_time_phrase(times[0]) + if t_phrase: + chunks.append(t_phrase) + + places = ctx.get("place", []) + if places: + p_phrase = realize_place_phrase(places[0]) + if p_phrase: + chunks.append(p_phrase) + + # emotion/sensory/social can be added later as needed + + return " ".join(chunks) + + +# ------------------------- +# Tiny inflection + mapping helpers +# ------------------------- +def inflect_past(verb: str) -> str: + + """ + Naive English past-tense inflection. + """ + + if not verb: + return "" + + lower = verb.lower() + + # Very small irregular set for now + irregular = { + "go": "went", + "come": "came", + "run": "ran", + "eat": "ate", + "drink": "drank", + "be": "was", + "have": "had", + "do": "did", + "get": "got", + "make": "made", + "walk": "walked", + } + if lower in irregular: + # Preserve capitalization of first letter + form = irregular[lower] + if verb[0].isupper(): + form = form.capitalize() + return form + + # Regular verbs + if lower.endswith("e"): + form = lower + "d" + elif lower.endswith("y") and len(lower) > 1 and lower[-2] not in "aeiou": + form = lower[:-1] + "ied" + else: + form = lower + "ed" + + if verb[0].isupper(): + form = form.capitalize() + return form + + +def realize_time_phrase(entry: Dict[str, Any]) -> str: + + """ + Map time context IDs to simple English phrases. + This is a seed mapping; extend as needed. + """ + + cid = entry.get("id") or entry.get("primary", "") + + mapping = { + "context.time.day.night": "tonight", + "context.time.day.morning": "this morning", + "context.time.day.afternoon": "this afternoon", + "context.time.day.evening": "this evening", + "context.time.cycle.daily": "every day", + "context.time.cycle.weekly": "every week", + "context.time.cycle.monthly": "every month", + "context.time.duration.short": "for a short time", + "context.time.duration.medium": "for a while", + "context.time.duration.long": "for a long time", + } + + phrase = mapping.get(cid) + if phrase: + return phrase + + # Fallback: just return primary if present + primary = entry.get("primary") + if primary and primary != cid: + return primary + + return "" + + +def realize_place_phrase(entry: Dict[str, Any]) -> str: + + """ + Map place context IDs to simple English phrases. + Seed mapping; extend as needed. + """ + + cid = entry.get("id") or entry.get("primary", "") + + mapping = { + "context.place.home": "at home", + "context.place.work": "at work", + "context.place.outside": "outside", + "context.place.store": "at the store", + } + + phrase = mapping.get(cid) + if phrase: + return phrase + + primary = entry.get("primary") + if primary and primary != cid: + return primary + + return "" + diff --git a/interpreter/glyph_dictionary_loader.py b/interpreter/glyph_dictionary_loader.py new file mode 100644 index 0000000000000000000000000000000000000000..fc3a30689e2654a85e0934ee43f5c70bd2184461 --- /dev/null +++ b/interpreter/glyph_dictionary_loader.py @@ -0,0 +1,82 @@ +import json +import os +from typing import Dict, List, Any, Optional + +DICTIONARY_DIR = os.path.join( + os.path.dirname(os.path.dirname(__file__)), + "dictionary" +) + + +class GlyphDictionary: + def __init__(self) -> None: + self.entries_by_glyph: Dict[str, List[Dict[str, Any]]] = {} + self.entries_by_id: Dict[str, Dict[str, Any]] = {} + self.entries_by_category: Dict[str, List[Dict[str, Any]]] = {} + self.entries_by_role: Dict[str, List[Dict[str, Any]]] = {} + + def load(self, directory: str = DICTIONARY_DIR) -> None: + for filename in os.listdir(directory): + if not filename.endswith(".json"): + continue + path = os.path.join(directory, filename) + with open(path, "r", encoding="utf-8") as f: + try: + data = json.load(f) + except json.JSONDecodeError as e: + raise ValueError(f"Invalid JSON in {filename}: {e}") + + if not isinstance(data, list): + raise ValueError(f"Dictionary file {filename} must contain a list of entries.") + + for entry in data: + self._index_entry(entry) + + def _index_entry(self, entry: Dict[str, Any]) -> None: + glyph = entry.get("glyph") + entry_id = entry.get("id") + category = entry.get("category") + roles = entry.get("roles", []) + + if not glyph or not entry_id or not category: + raise ValueError(f"Entry missing required fields: {entry}") + + # id index + if entry_id in self.entries_by_id: + raise ValueError(f"Duplicate id detected: {entry_id}") + self.entries_by_id[entry_id] = entry + + # glyph index + self.entries_by_glyph.setdefault(glyph, []).append(entry) + + # category index + self.entries_by_category.setdefault(category, []).append(entry) + + # roles index + for role in roles: + self.entries_by_role.setdefault(role, []).append(entry) + + def get_entry_by_glyph(self, glyph: str) -> Optional[List[Dict[str, Any]]]: + return self.entries_by_glyph.get(glyph) + + def get_entry_by_id(self, entry_id: str) -> Optional[Dict[str, Any]]: + return self.entries_by_id.get(entry_id) + + def get_entries_by_category(self, category: str) -> List[Dict[str, Any]]: + return self.entries_by_category.get(category, []) + + def get_entries_by_role(self, role: str) -> List[Dict[str, Any]]: + return self.entries_by_role.get(role, []) + + +# Singleton-style loader for convenience +_dictionary_instance: Optional[GlyphDictionary] = None + + +def get_dictionary() -> GlyphDictionary: + global _dictionary_instance + if _dictionary_instance is None: + _dictionary_instance = GlyphDictionary() + _dictionary_instance.load() + return _dictionary_instance + diff --git a/interpreter/glyph_encoder.py b/interpreter/glyph_encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..fd24b9875fee0d7944a05efdcf5cde37944640bd --- /dev/null +++ b/interpreter/glyph_encoder.py @@ -0,0 +1,59 @@ +from typing import Dict, Any, List, Optional +from .glyph_dictionary_loader import get_dictionary + + +def _glyph_from_id(entry_id: str) -> Optional[str]: + entry = get_dictionary().get_entry_by_id(entry_id) + return entry.get("glyph") if entry else None + + +def encode_meaning(structured: Dict[str, Any]) -> str: + """ + Strict encoder: + - enforces canonical ordering + - actor → action → object → modifiers → context + - context ordered: place → time → emotion → sensory → social + - guaranteed reversible with decode() + """ + glyphs: List[str] = [] + + # 1. Actor + actor = structured.get("actor") + if actor and actor.get("id"): + g = _glyph_from_id(actor["id"]) + if g: + glyphs.append(g) + + # 2. Action + action = structured.get("action") + if action and action.get("id"): + g = _glyph_from_id(action["id"]) + if g: + glyphs.append(g) + + # 3. Object + obj = structured.get("object") + if obj and obj.get("id"): + g = _glyph_from_id(obj["id"]) + if g: + glyphs.append(g) + + # 4. Modifiers + for m in structured.get("modifiers", []): + if m.get("id"): + g = _glyph_from_id(m["id"]) + if g: + glyphs.append(g) + + # 5. Context (strict order) + context = structured.get("context", {}) + + for ctx_key in ["place", "time", "emotion", "sensory", "social"]: + for ctx in context.get(ctx_key, []): + if ctx.get("id"): + g = _glyph_from_id(ctx["id"]) + if g: + glyphs.append(g) + + return "".join(glyphs) + diff --git a/interpreter/glyph_syntax.py b/interpreter/glyph_syntax.py new file mode 100644 index 0000000000000000000000000000000000000000..1969b37f7371a6a9f6dcf859db86a825e4dcc48c --- /dev/null +++ b/interpreter/glyph_syntax.py @@ -0,0 +1,146 @@ +from typing import List, Dict, Any +from .glyph_dictionary_loader import get_dictionary +from .glyph_validator import validate_sequence, validate_roles + + +class GlyphSyntaxError(Exception): #strict syntax order of glyphs + pass + + +ROLE_ORDER = [ + "actor", + "action", + "object", + "modifier", + "context" +] + +CONTEXT_ORDER = [ + "place", + "time", + "emotion", + "sensory", + "social" +] + + +def _get_role(entry: Dict[str, Any]) -> str: + """Return the highest-priority role for a glyph.""" + roles = entry.get("roles", []) + for r in ROLE_ORDER: + if r in roles: + return r + return "context" + + +def _get_context_type(entry: Dict[str, Any]) -> str: + """Return the context subtype.""" + category = entry.get("category", "") + + if category.startswith("context_place"): + return "place" + if category.startswith("context_time"): + return "time" + if category.startswith("context_emotion") or category.startswith("emotion_context"): + return "emotion" + if category.startswith("context_sensory") or category.startswith("sensory_context"): + return "sensory" + if category.startswith("context_social") or category.startswith("social_context"): + return "social" + + return "unknown" + + +def parse_syntax(glyphs: List[str]) -> Dict[str, Any]: + """ + Strict syntax parser enforcing: + - required roles + - strict ordering + - single actor/action/object + - context last + - deterministic structure + """ + validate_sequence(glyphs) + validate_roles(glyphs) + + dictionary = get_dictionary() + + syntax_tree = { + "actor": None, + "action": None, + "object": None, + "modifiers": [], + "context": { + "place": [], + "time": [], + "emotion": [], + "sensory": [], + "social": [] + }, + "raw": glyphs + } + + last_role_index = -1 + last_context_index = -1 + + for g in glyphs: + entries = dictionary.get_entry_by_glyph(g) + entry = entries[0] # canonical + role = _get_role(entry) + + # Enforce ordering + role_index = ROLE_ORDER.index(role) + if role_index < last_role_index: + raise GlyphSyntaxError( + f"Invalid ordering: {g} ({role}) appears after a later role." + ) + last_role_index = role_index + + # Assign roles + if role == "actor": + if syntax_tree["actor"] is not None: + raise GlyphSyntaxError("Multiple actors not allowed.") + syntax_tree["actor"] = entry + + elif role == "action": + if syntax_tree["action"] is not None: + raise GlyphSyntaxError("Multiple actions not allowed.") + syntax_tree["action"] = entry + + elif role == "object": + if syntax_tree["object"] is not None: + raise GlyphSyntaxError("Multiple objects not allowed.") + syntax_tree["object"] = entry + + elif role == "modifier": + syntax_tree["modifiers"].append(entry) + + elif role == "context": + ctx_type = _get_context_type(entry) + if ctx_type == "unknown": + raise GlyphSyntaxError(f"Unknown context type for glyph {g}") + + # Enforce context ordering + ctx_index = CONTEXT_ORDER.index(ctx_type) + if ctx_index < last_context_index: + raise GlyphSyntaxError( + f"Context out of order: {ctx_type} appears after later context." + ) + last_context_index = ctx_index + + syntax_tree["context"][ctx_type].append(entry) + + return syntax_tree + + +def get_syntax_tree(glyphs: List[str]) -> Dict[str, Any]: + return parse_syntax(glyphs) + + +def is_valid_order(glyphs: List[str]) -> bool: + try: + parse_syntax(glyphs) + return True + except Exception: + return False + diff --git a/interpreter/glyph_validator.py b/interpreter/glyph_validator.py new file mode 100644 index 0000000000000000000000000000000000000000..50e3bb78aeda59b9b514f98bad35641e57d6a0c7 --- /dev/null +++ b/interpreter/glyph_validator.py @@ -0,0 +1,42 @@ +from typing import List +from .glyph_dictionary_loader import get_dictionary + + +class GlyphValidationError(Exception): + pass + + +def validate_glyph(glyph: str) -> None: + dictionary = get_dictionary() + entries = dictionary.get_entry_by_glyph(glyph) + if not entries: + raise GlyphValidationError(f"Unknown glyph: {glyph}") + + +def validate_sequence(glyphs: List[str]) -> None: + if not glyphs: + raise GlyphValidationError("Empty glyph sequence.") + + for g in glyphs: + validate_glyph(g) + + +def validate_roles(glyphs: List[str]) -> None: + """ + Minimal role validation prototype: + - Ensure at least one non-context role exists (e.g., object/action/actor) + """ + dictionary = get_dictionary() + has_core_role = False + + for g in glyphs: + entries = dictionary.get_entry_by_glyph(g) or [] + for e in entries: + roles = e.get("roles", []) + if any(r in roles for r in ["object", "action", "actor"]): + has_core_role = True + break + + if not has_core_role: + raise GlyphValidationError("Sequence has no core roles (object/action/actor).") + diff --git a/interpreter/interpreter.py b/interpreter/interpreter.py new file mode 100644 index 0000000000000000000000000000000000000000..8b28541d4289265311925445abbb9593f78fcbbe --- /dev/null +++ b/interpreter/interpreter.py @@ -0,0 +1,70 @@ +from typing import Dict, Any +from .glyph_decoder.py import decode_glyphs +from .glyph_encoder import encode_meaning +from .glyph_validator import validate_sequence, validate_roles +from .glyph_syntax import get_syntax_tree + + +def interpret(glyph_string: str) -> Dict[str, Any]: + """ + High-level API: glyph string → structured meaning. + """ + glyphs = list(glyph_string) + return decode_glyphs(glyphs) + + +def encode(structured: Dict[str, Any]) -> str: + """ + High-level API: structured meaning → glyph string. + """ + return encode_meaning(structured) + + +def validate(glyph_string: str) -> None: + """ + High-level API: validate glyph string. + """ + glyphs = list(glyph_string) + validate_sequence(glyphs) + validate_roles(glyphs) + + +def explain(glyph_string: str) -> str: + """ + Human-readable explanation of a glyph sequence. + Prototype: uses primary meanings. + """ + glyphs = list(glyph_string) + tree = get_syntax_tree(glyphs) + + parts = [] + + def names(entries): + return [e.get("primary", e.get("id", "?")) for e in entries] + + if tree["actors"]: + parts.append(f"Actors: {', '.join(names(tree['actors']))}") + if tree["actions"]: + parts.append(f"Actions: {', '.join(names(tree['actions']))}") + if tree["objects"]: + parts.append(f"Objects: {', '.join(names(tree['objects']))}") + if tree["modifiers"]: + parts.append(f"Modifiers: {', '.join(names(tree['modifiers']))}") + + ctx = tree["context"] + if ctx["place"]: + parts.append(f"Place context: {', '.join(names(ctx['place']))}") + if ctx["time"]: + parts.append(f"Time context: {', '.join(names(ctx['time']))}") + if ctx["emotion"]: + parts.append(f"Emotional context: {', '.join(names(ctx['emotion']))}") + if ctx["sensory"]: + parts.append(f"Sensory context: {', '.join(names(ctx['sensory']))}") + if ctx["social"]: + parts.append(f"Social context: {', '.join(names(ctx['social']))}") + + if not parts: + return "No semantic structure detected." + + return " | ".join(parts) + diff --git a/runtime/envelope_builder.py b/runtime/envelope_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..a73b2db0d6178553f7afe5c99fc0c2c85aa8616d --- /dev/null +++ b/runtime/envelope_builder.py @@ -0,0 +1,32 @@ +# runtime/envelope_builder.py + +from typing import Dict, Any +from generator.training_builder import build_envelope # reuse the same logic + + +def build_runtime_envelope( + user_text: str, + identity: str, + emotion: str, + sensory: str, + social: str, + intent: Dict[str, Any], + behavior: Dict[str, Any], + memory_summary: str, + thought_chain: str, +) -> str: + """ + Runtime version: builds the same CTX-aware envelope used in training. + """ + return build_envelope( + user_text=user_text, + identity=identity, + emotion=emotion, + sensory=sensory, + social=social, + intent=intent, + behavior=behavior, + memory_summary=memory_summary, + thought_chain=thought_chain, + ) + diff --git a/syntax/grammar_examples.md b/syntax/grammar_examples.md new file mode 100644 index 0000000000000000000000000000000000000000..709df6314622c4f19c1310a1cfe5df9e72ea1d3d --- /dev/null +++ b/syntax/grammar_examples.md @@ -0,0 +1,83 @@ +# Glyphic Language — Grammar Examples +This document provides clear examples of valid and invalid glyph sequences based on the strict syntax rules and BNF grammar of the Glyphic Language. + + +# 1. Basic Valid Examples +1.1 Actor + Action +👤 🏃 +1.2 Action + Object +🏹 🎯 +1.3 Object + Modifier +🍎 ✨ +1.4 Object + Context +🪨 🏞️ + + +# 2. Full Scene Examples +2.1 Actor + Action + Object + Context +👧 ✍️ 📄 🏡 🌅 +Meaning: A girl writing a page at home at sunrise. + +2.2 Action + Object + Modifiers + Context +🔥 🪵 ✨ 💨 🌲 🌙 +Meaning: Fire burning wood intensely in a windy forest at night. + +2.3 Actor + Action + Object + Emotion + Social +👤 🤝 🧺 😊 🧑‍🤝‍🧑 +Meaning: A person sharing a basket happily within a group. + + +# 3. Context‑Heavy Examples +3.1 Place + Time + Emotion +🏞️ 🌅 😌 +3.2 Full Context Stack +🏞️ 🌅 😌 🌬️ 🧑‍🤝‍🧑 + + +# 4. Invalid Examples (with explanations) +4.1 Context before object +🌅 🪨 +INVALID — time context cannot precede object + +4.2 Modifier after context +🍞 🏡 ✨ +INVALID — modifiers must appear before context + +4.3 Multiple actions +👤 🏃 ✍️ +INVALID — only one action allowed + +4.4 Social before sensory +🧑‍🤝‍🧑 🌬️ +INVALID — social context must come last + + +# 5. Reversibility Examples +5.1 Encoding and decoding match +Input: 👤 🏃 🏞️ +Output: 👤 🏃 🏞️ + +5.2 Canonical ordering enforced +input meaning (unordered): +{ +"object": "📄", +"actor": "👤", +"action": "✍️", +"context": { "time": ["🌙"] } +} +Encoded output: +👤 ✍️ 📄 🌙 + + +# 6. Complex Scene Examples +6.1 Symbolic + Emotional +🌱 ✨ 😌 🌙 +Meaning: A symbolic sprout glowing peacefully under the night sky. + +6.2 Multi‑layered context +👤 🧘 🍃 ✨ 🏞️ 🌅 😌 🌬️ 🧑‍🤝‍🧑 +Meaning: A person meditating with a leaf in a bright, peaceful, breezy morning among others. + + +These examples serve as a reference for developers, LLM trainers, and agent designers working with the Glyphic Language. + diff --git a/syntax/ordering_rules.md b/syntax/ordering_rules.md new file mode 100644 index 0000000000000000000000000000000000000000..5e9abab99d04d5df6b1540b734677d609714984f --- /dev/null +++ b/syntax/ordering_rules.md @@ -0,0 +1,78 @@ +# Glyphic Language — Ordering Rules +This document defines the canonical ordering rules for glyph sequences. These rules ensure that all sequences are deterministic, reversible, and unambiguous. + + +# 1. Global Ordering +All glyph sequences must follow this global order: + +If a role is absent, it is simply skipped, but the order remains fixed. + + +# 2. Context Ordering +Context must always appear last and must follow this internal order: +Place +Time +Emotion +Sensory +Social + +Example of valid context ordering: +🏞️ 🌅 😌 🌬️ 🧑‍🤝‍🧑 + +Example of invalid ordering: +😌 🌅 +(emotion cannot precede time) + + +# 3. Modifier Ordering +Modifiers: +- must appear after the object +- must appear before any context +- may appear in any order relative to each other +Example: +👤 🏃 🪨 ✨ 🔥 🏞️ +actor action object modifier modifier context + + +# 4. Single‑Role Constraints +Only one of each primary role is allowed: +- one actor +- one action +- one object +Multiple modifiers and multiple context glyphs are allowed. + +# 5. Role Precedence +If a glyph has multiple roles, precedence is: +actor > action > object > modifier > context +This ensures deterministic interpretation. + + +# 6. Invalid Ordering Examples + +6.1 Context before object +🌧️ 🪨 +INVALID + +6.2 Modifier after context +🪨 🏞️ ✨ +INVALID + +6.3 Multiple actions +👤 🏃 ✍️ +INVALID + +6.4 Social context before sensory context +🧑‍🤝‍🧑 🌬️ +INVALID + + +# 7. Canonical Encoding +The encoder always outputs glyphs in the correct canonical order, even if the input structure is unordered. +This ensures: +- stable storage +- predictable LLM training +- consistent Soulfile™ memory +- deterministic agent behavior + + + diff --git a/syntax/syntax_rules.md b/syntax/syntax_rules.md new file mode 100644 index 0000000000000000000000000000000000000000..55398e25f13547ec8d4f39f99c5dd623a246aa78 --- /dev/null +++ b/syntax/syntax_rules.md @@ -0,0 +1,68 @@ +# Glyphic Language — Syntax Rules +The Glyphic Language uses a strict, deterministic grammar to ensure that all glyph sequences are unambiguous, reversible, and easy for agents, controllers, and LLMs to interpret. + +These rules define the **canonical structure** of a valid glyph sequence. + +# 1. Required Core Roles +A valid sequence must contain **at least one** of the following: +- actor +- action +- object +This ensures that every sequence expresses a meaningful event or state. + +# 2. Canonical Ordering +All glyph sequences must follow this strict order: + Actor + Action + Object + Modifiers + Context (Place → Time → Emotion → Sensory → Social) +No exceptions. + +# 3. Single Actor / Action / Object +Only one of each is allowed: +- one actor +- one action +- one primary object +This prevents ambiguity and ensures deterministic decoding. + +# 4. Modifiers +Modifiers: +- may appear zero or more times +- must appear **after the object** +- must appear **before any context** +Modifiers describe qualities, intensities, or attributes. + +# 5. Context Rules +Context must always appear **last** and must follow this internal order: +Place → Time → Emotion → Sensory → Social +Each context subtype may contain zero or more glyphs. +Context describes the environment, atmosphere, or field surrounding the event. + +# 6. Role Precedence +If a glyph has multiple roles, the interpreter resolves it using this priority: +actor > action > object > modifier > context +This ensures deterministic parsing. + +# 7. No Cross‑Category Collisions +You may not mix roles out of order. Examples: + +- A context glyph cannot appear before an object. +- A modifier cannot appear after a context glyph. +- A second action is not allowed. + +# 8. Reversibility Guarantee +All valid sequences satisfy: +encode(decode(sequence)) == sequence +This is a core design requirement of the Glyphic Language. + +# 9. Error Conditions +The interpreter will reject sequences that: +- contain unknown glyphs +- violate ordering +- contain multiple actors/actions/objects +- contain context out of order +- contain no core roles +These rules ensure stability, clarity, and long‑term compatibility. + + diff --git a/training/dataset_format.md b/training/dataset_format.md new file mode 100644 index 0000000000000000000000000000000000000000..baeb959a90dae2e8adff5467168a8349eba5d50a --- /dev/null +++ b/training/dataset_format.md @@ -0,0 +1,54 @@ +# Dataset Format Specification +All datasets in this folder use JSON Lines (.jsonl) format. + +Each line is a standalone training example: + +{"input": "...", "output": "..."} + +--- + +# 1. glyph_to_text.jsonl + +## Format +{ +"input": "🌱", +"output": { +"id": "glyph.object.nature.sprout", +"primary": "sprout", +"synomic": ["growth", "seedling", "new life"], +"roles": ["object", "symbol"] +} + +--- + +# 2. text_to_glyph.jsonl + +## Format +{ +"input": "a new beginning, growth, seedling", +"output": "🌱" +} + +--- + +# 3. structured_meaning.jsonl + +## Format +{ +"input": "👤✍️📄🌙", +"output": { +"actor": {"id": "glyph.actor.person"}, +"action": {"id": "glyph.action.write"}, +"object": {"id": "glyph.object.document.page"}, +"context": { +"time": [{"id": "context.time.night"}] +} + + +--- + +# Validation Rules +- All glyphs must exist in the dictionary. +- All sequences must obey syntax rules. +- All structured meaning must be canonical. + diff --git a/training/dataset_generation_guide.md b/training/dataset_generation_guide.md new file mode 100644 index 0000000000000000000000000000000000000000..cfef0bab028c4d24dc8ad178ca79fd1fb396d2d0 --- /dev/null +++ b/training/dataset_generation_guide.md @@ -0,0 +1,57 @@ +# Dataset Generation Guide +This guide explains how to generate new training examples for the Glyphic Language. + +--- + +# 1. Dictionary‑Driven Generation +All examples must be derived from: + +- dictionary entries +- syntax rules +- BNF grammar + +No freeform glyph usage is allowed. + +--- + +# 2. Example Types + +## 2.1 Atomic Examples +Single glyph → meaning +Meaning → single glyph + +## 2.2 Scene Examples +Full sequences with: + +- actor +- action +- object +- modifiers +- context + +## 2.3 Negative Examples +Invalid sequences for syntax training. + +## 2.4 Symbolic Examples +Mythic, emotional, sensory, or social scenes. + +--- + +# 3. Generation Process + +1. Select glyph(s) from dictionary +2. Build a valid sequence using syntax rules +3. Generate structured meaning +4. Generate natural language description +5. Add to appropriate dataset file + +--- + +# 4. Quality Requirements + +- No ambiguity +- No hallucinated glyphs +- No missing roles +- No invalid ordering +- No duplicate examples + diff --git a/training/dataset_overview.md b/training/dataset_overview.md new file mode 100644 index 0000000000000000000000000000000000000000..7f70880081a2682105df7a206834892c7c2eab29 --- /dev/null +++ b/training/dataset_overview.md @@ -0,0 +1,40 @@ +# Dataset Overview +The /training/ folder contains all datasets required to fine‑tune an LLM for the Glyphic Language. + +## Files + +### 1. glyph_to_text.jsonl +Maps individual glyphs to: + +- primary meaning +- synonyms +- roles +- categories +- example usage + +Used for dictionary grounding. + +### 2. text_to_glyph.jsonl +Maps natural language descriptions to canonical glyph sequences. + +Used for translation training. + +### 3. structured_meaning.jsonl +Maps glyph sequences to structured meaning dictionaries. + +Used for scene interpretation and semantic grounding. + +--- + +## Dataset Philosophy +All datasets follow these principles: + +- deterministic +- reversible +- dictionary‑driven +- syntax‑aligned +- context‑aware +- LLM‑friendly + +Each dataset is designed to teach a specific layer of the language. + diff --git a/training/evaluation_guide.md b/training/evaluation_guide.md new file mode 100644 index 0000000000000000000000000000000000000000..b0449386481957c15b56f13b3a5717249c0c03c9 --- /dev/null +++ b/training/evaluation_guide.md @@ -0,0 +1,59 @@ +# Evaluation Guide +This guide defines how to evaluate an LLM trained on the Glyphic Language. + +--- + +# 1. Syntax Tests +Verify: + +- ordering rules +- required roles +- context ordering +- single actor/action/object + +--- + +# 2. Reversibility Tests +Check: + +encode(interpret(x)) == x + +for all valid sequences. + +--- + +# 3. Dictionary Consistency +Ensure: + +- no hallucinated glyphs +- no missing dictionary entries +- correct role usage + +--- + +# 4. Scene Interpretation +Test: + +- actor/action/object extraction +- modifier interpretation +- context layering + +--- + +# 5. Translation Accuracy +Evaluate: + +- text → glyph +- glyph → text +- structured meaning → glyph +- glyph → structured meaning + +--- + +# 6. Soulfile™ Compatibility +Verify: + +- memory entries encode correctly +- meaning compression works +- continuity is preserved + diff --git a/training/fine_tuning_plan.md b/training/fine_tuning_plan.md new file mode 100644 index 0000000000000000000000000000000000000000..325aa2679717af364af1ea9831a8981effbeef2e --- /dev/null +++ b/training/fine_tuning_plan.md @@ -0,0 +1,130 @@ +# Glyphic Language — Fine‑Tuning Plan +This document outlines the complete strategy for fine‑tuning an LLM to understand, generate, and reason within the Glyphic Language. The goal is to produce a model that is: + +- deterministic +- syntax‑aware +- dictionary‑aligned +- reversible +- context‑aware +- Soulfile™‑compatible + +The plan is divided into phases to ensure stable, incremental learning. + +--- + +# 1. Training Objectives + +## 1.1 Core Objectives +The model must learn to: + +- interpret glyph sequences into structured meaning +- generate glyph sequences from structured meaning +- translate between glyphs and natural language +- obey strict syntax rules +- use dictionary semantics correctly +- avoid hallucinating glyphs or meanings + +## 1.2 Secondary Objectives +The model should also: + +- understand context layers (place, time, emotion, sensory, social) +- maintain canonical ordering +- compress meaning into glyphs +- expand glyphs into natural language +- support Soulfile™ memory encoding + +--- + +# 2. Training Phases + +## Phase 1 — Dictionary Grounding +Dataset: `glyph_to_text.jsonl` + +Teach the model: + +- glyph → meaning +- meaning → glyph +- synonyms +- roles +- categories + +## Phase 2 — Structured Meaning +Dataset: `structured_meaning.jsonl` + +Teach the model: + +- how to interpret full scenes +- how to output structured meaning dicts +- how to understand context layers + +## Phase 3 — Text ↔ Glyph Translation +Dataset: `text_to_glyph.jsonl` + +Teach the model: + +- natural language → glyph sequences +- glyph sequences → natural language +- canonical ordering + +## Phase 4 — Syntax Enforcement +Synthetic dataset: + +- valid vs invalid sequences +- ordering violations +- context violations +- role violations + +## Phase 5 — Scene Construction +Synthetic dataset: + +- multi‑glyph scenes +- symbolic scenes +- emotional/sensory/social context + +## Phase 6 — Soulfile™ Integration +Teach the model: + +- how glyphs map to Soulfile™ memory entries +- how to compress/expand meaning +- how to maintain continuity + +--- + +# 3. Training Method + +Recommended: + +- QLoRA or LoRA for efficiency +- 7B–13B model for best balance +- 3–5 epochs per phase +- curriculum learning (strict order) + +--- + +# 4. Evaluation + +The model must pass: + +- syntax tests +- reversibility tests +- dictionary consistency tests +- context ordering tests +- Soulfile™ encoding tests + +--- + +# 5. Deployment + +The fine‑tuned model is loaded by: + +- life.py or brainbot.py (agent brain) +- controllers +- Soulfile™ systems +- glyph interpreter + +The model must never bypass the interpreter; it must work *with* it. + +--- + +This plan ensures the model becomes a fully Glyphic‑native reasoning engine. + diff --git a/training/glyph_to_text.jsonl b/training/glyph_to_text.jsonl new file mode 100644 index 0000000000000000000000000000000000000000..a38195f4b91f7873667132920b2d3f28bfb4b7cf --- /dev/null +++ b/training/glyph_to_text.jsonl @@ -0,0 +1,10 @@ +{"input": "👤", "output": {"id": "glyph.actor.person", "primary": "person", "synomic": ["human", "individual"], "roles": ["actor"]}} +{"input": "✍️", "output": {"id": "glyph.action.write", "primary": "write", "synomic": ["scribble", "record"], "roles": ["action"]}} +{"input": "📄", "output": {"id": "glyph.object.document.page", "primary": "page", "synomic": ["paper", "document"], "roles": ["object"]}} +{"input": "✨", "output": {"id": "glyph.modifier.intensity.glow", "primary": "glow", "synomic": ["shine", "sparkle"], "roles": ["modifier"]}} +{"input": "🏞️", "output": {"id": "context.place.nature.landscape", "primary": "landscape", "synomic": ["outdoors", "nature"], "roles": ["context"]}} +{"input": "🌙", "output": {"id": "context.time.night", "primary": "night", "synomic": ["dark", "evening"], "roles": ["context"]}} +{"input": "😌", "output": {"id": "context.emotion.calm", "primary": "calm", "synomic": ["peaceful", "relaxed"], "roles": ["context"]}} +{"input": "🌬️", "output": {"id": "context.sensory.wind", "primary": "wind", "synomic": ["breeze", "air movement"], "roles": ["context"]}} +{"input": "🧑‍🤝‍🧑", "output": {"id": "context.social.group", "primary": "group", "synomic": ["community", "togetherness"], "roles": ["context"]}} + diff --git a/training/structured_meaning.jsonl b/training/structured_meaning.jsonl new file mode 100644 index 0000000000000000000000000000000000000000..b12802a389b675a9ca1baadc702f650083c53bfa --- /dev/null +++ b/training/structured_meaning.jsonl @@ -0,0 +1,99 @@ +{"input": "👤✍️📄🌙", "output": { + "actor": {"id": "glyph.actor.person"}, + "action": {"id": "glyph.action.write"}, + "object": {"id": "glyph.object.document.page"}, + "modifiers": [], + "context": { + "place": [], + "time": [{"id": "context.time.night"}], + "emotion": [], + "sensory": [], + "social": [] + } +}} +{"input": "📄✨", "output": { + "actor": null, + "action": null, + "object": {"id": "glyph.object.document.page"}, + "modifiers": [{"id": "glyph.modifier.intensity.glow"}], + "context": {"place": [], "time": [], "emotion": [], "sensory": [], "social": []} +}} +{"input": "🏞️🌙😌", "output": { + "actor": null, + "action": null, + "object": null, + "modifiers": [], + "context": { + "place": [{"id": "context.place.nature.landscape"}], + "time": [{"id": "context.time.night"}], + "emotion": [{"id": "context.emotion.calm"}], + "sensory": [], + "social": [] + } +}} +{"input": "🌬️🧑‍🤝‍🧑", "output": { + "actor": null, + "action": null, + "object": null, + "modifiers": [], + "context": { + "place": [], + "time": [], + "emotion": [], + "sensory": [{"id": "context.sensory.wind"}], + "social": [{"id": "context.social.group"}] + } +}} +{"input": "👤✨😌", "output": { + "actor": {"id": "glyph.actor.person"}, + "action": null, + "object": null, + "modifiers": [{"id": "glyph.modifier.intensity.glow"}], + "context": { + "place": [], + "time": [], + "emotion": [{"id": "context.emotion.calm"}], + "sensory": [], + "social": [] + } +}} +{"input": "✍️📄🏞️🌅", "output": { + "actor": null, + "action": {"id": "glyph.action.write"}, + "object": {"id": "glyph.object.document.page"}, + "modifiers": [], + "context": { + "place": [{"id": "context.place.nature.landscape"}], + "time": [{"id": "context.time.sunrise"}], + "emotion": [], + "sensory": [], + "social": [] + } +}} +{"input": "🌙😌🌬️", "output": { + "actor": null, + "action": null, + "object": null, + "modifiers": [], + "context": { + "place": [], + "time": [{"id": "context.time.night"}], + "emotion": [{"id": "context.emotion.calm"}], + "sensory": [{"id": "context.sensory.wind"}], + "social": [] + } +}} +{"input": "👤🤝🧑‍🤝‍🧑", "output": { + "actor": {"id": "glyph.actor.person"}, + "action": {"id": "glyph.action.share"}, + "object": null, + "modifiers": [], + "context": { + "place": [], + "time": [], + "emotion": [], + "sensory": [], + "social": [{"id": "context.social.group"}] + } +}} + diff --git a/training/templates/glyphic_training_template.jsonl b/training/templates/glyphic_training_template.jsonl new file mode 100644 index 0000000000000000000000000000000000000000..ffb26640c37ffe5ae2de6911e5498b89e927a910 --- /dev/null +++ b/training/templates/glyphic_training_template.jsonl @@ -0,0 +1,62 @@ +{ + "input_envelope": { + "USER_INPUT": { + "glyph": "CTX.user.input.raw", + "text": "" + }, + "IDENTITY": { + "glyph": "CTX.identity.core", + "text": "" + }, + "INTERNAL_STATE": [ + "CTX.state.emotion.", + "CTX.state.sensory.", + "CTX.state.social." + ], + "INTENT": [ + "CTX.intent.goal.", + "CTX.intent.urgency.", + "CTX.intent.focus." + ], + "BEHAVIOR": [ + "CTX.behavior.tone.", + "CTX.behavior.pacing.", + "CTX.behavior.depth.", + "CTX.behavior.style.", + "CTX.behavior.clarity." + ], + "MEMORY": { + "glyph": "CTX.memory.short_term", + "text": "" + }, + "THOUGHT_CHAIN": { + "glyph": "CTX.thought.recent", + "text": "" + }, + "SAFETY": [ + "CTX.safety.no_harm", + "CTX.safety.no_self_harm", + "CTX.safety.no_violence", + "CTX.safety.no_graphic", + "CTX.safety.no_instructions_harm", + "CTX.safety.redirect_if_requested", + "CTX.safety.enforce_strict" + ], + "RESPONSE_PROTOCOL": [ + "CTX.response.identity.align", + "CTX.response.intent.align", + "CTX.response.behavior.align", + "CTX.response.emotion.follow", + "CTX.response.safety.enforce", + "CTX.response.coherence.high", + "CTX.response.clarity.high", + "CTX.response.tone.consistent", + "CTX.response.structure.stable" + ] + }, + "output": { + "glyphic": "", + "realized": "" + } +} + diff --git a/training/text_to_glyph.jsonl b/training/text_to_glyph.jsonl new file mode 100644 index 0000000000000000000000000000000000000000..b28b3671681bda9dac25cae3f4033873b62babb3 --- /dev/null +++ b/training/text_to_glyph.jsonl @@ -0,0 +1,9 @@ +{"input": "a person writing a page at night", "output": "👤✍️📄🌙"} +{"input": "a glowing page", "output": "📄✨"} +{"input": "a calm night in nature", "output": "🏞️🌙😌"} +{"input": "a group together in the wind", "output": "🌬️🧑‍🤝‍🧑"} +{"input": "a person glowing with calm energy", "output": "👤✨😌"} +{"input": "writing outdoors at sunrise", "output": "✍️📄🏞️🌅"} +{"input": "a peaceful breeze at night", "output": "🌙😌🌬️"} +{"input": "a person sharing with a group", "output": "👤🤝🧑‍🤝‍🧑"} + diff --git a/training/training_pipeline.md b/training/training_pipeline.md new file mode 100644 index 0000000000000000000000000000000000000000..db14c128f428093ea19e0a006412002ca54a18f7 --- /dev/null +++ b/training/training_pipeline.md @@ -0,0 +1,62 @@ +# Training Pipeline +This document describes the full training pipeline for fine‑tuning an LLM on the Glyphic Language. + +--- + +# 1. Preprocessing +- validate all datasets +- remove duplicates +- shuffle +- split into train/val/test + +--- + +# 2. Training Stages + +## Stage 1 — Dictionary Grounding +Dataset: glyph_to_text.jsonl + +## Stage 2 — Structured Meaning +Dataset: structured_meaning.jsonl + +## Stage 3 — Translation +Dataset: text_to_glyph.jsonl + +## Stage 4 — Syntax Enforcement +Synthetic invalid examples + +## Stage 5 — Scene Construction +Synthetic multi‑glyph scenes + +## Stage 6 — Soulfile™ Integration +Memory encoding examples + +--- + +# 3. Model Type +Recommended: + +- 7B–13B model +- QLoRA or LoRA +- 3–5 epochs per stage + +--- + +# 4. Evaluation +Run: + +- syntax tests +- reversibility tests +- dictionary consistency tests +- Soulfile™ encoding tests + +--- + +# 5. Deployment +The fine‑tuned model is loaded by: + +- life.py +- controllers +- Soulfile™ systems +- glyph interpreter +