13 repositorios
Architectural patterns for maintaining complex in-memory document structures.
Distinguishing note: Focuses on document-based state rather than general application state.
Explore 13 awesome GitHub repositories matching software engineering & architecture · Document State Managers. Refine with filters or upvote what's useful.
Aseprite is a specialized graphics editor and animation suite designed for the creation of pixel-based artwork. It provides a comprehensive environment for managing multi-layered animation sequences, offering tools for frame-by-frame design, onion skinning, and real-time motion previews. The application is built to handle both indexed color palettes and full-color RGB editing, allowing users to maintain precise control over pixel data and transparency. What distinguishes Aseprite is its focus on programmable workflows and game asset production. It features a scriptable command architecture th
Maintains the entire sprite structure as an in-memory object graph for real-time editing.
Tiptap is a headless rich text editor framework and extensible WYSIWYG framework designed for building custom text editors. It functions as a high-level wrapper around the ProseMirror toolkit, separating core editing logic and state management from the user interface. The framework enables real-time collaborative editing through a synchronization system using conflict-free replicated data types. It also supports the integration of AI content generation to provide automated suggestions and content refinement directly within the editor. The system utilizes a plugin-based extension architecture
Maintains a central document state and transaction system via a high-level wrapper around the ProseMirror toolkit.
Yjs is a CRDT framework and real-time state synchronization engine providing shared data types for collaborative software. It functions as a shared data type library of collaborative maps, arrays, and text structures that converge automatically across distributed clients, serving as a local-first data store and a collaborative editor backend. The system distinguishes itself through a synchronization engine that encodes document changes into commutative binary updates. It employs state-vector based differencing to transmit only missing incremental updates between peers and uses relative-positi
Reconstructs previous document versions by filtering items based on client clocks and state vectors.
Trix is a rich text editor and WYSIWYG text component designed for composing and formatting documents with inline styling and block elements. It functions as an HTML content editor that manages and sanitizes input to ensure a secure and consistent document structure, while serving as a document state manager that tracks edit history and persists serialized state. The editor integrates directly with standard HTML forms, converting rich text into data for submission. It features a configurable sanitization engine that cleanses input HTML to remove unsupported tags and mitigate security risks.
Loads serialized data to return the document and selection to a previous state.
tmux-resurrect is a terminal workspace persister and session manager implemented as a plugin for the tmux terminal multiplexer. It captures and stores the state of active sessions, window layouts, and working directories to maintain a workspace across system restarts. The utility distinguishes itself by recovering more than just layouts, offering the ability to relaunch specific programs via configurable lists and persisting the state of open files and cursor positions in text editors. It also captures visible pane text and provides timestamped snapshot versioning to revert the workspace to a
Reverts the session layout and working directories to a specific point in time by selecting a timestamped save file.
t3code is a platform for operating AI coding agents through a web interface to develop and maintain software projects. It functions as an orchestrator that manages AI agent lifecycles and communication, providing a system for provisioning isolated remote development environments and managing secure connections to cloud-hosted resources. The project utilizes an event-sourced backend architecture that processes typed commands into persisted domain events to maintain system state. It employs a communication system based on JSON-RPC over WebSockets to synchronize real-time state and events betwee
Captures workspace snapshots at specific intervals to allow restoring previous states.
This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti
Synchronizes global document properties like scroll behavior and page metadata with application state.
Notepads is a minimalist text editor for Windows that renders its interface directly through native Win32 API calls, without relying on cross-platform toolkits. It is built around a single-instance document model where each open file is managed as an independent object with its own undo history and state, organized through a tab-based interface with keyboard-driven navigation. The editor distinguishes itself by supporting bidirectional text flow, allowing users to toggle paragraph direction between left-to-right and right-to-left. It also includes a real-time Markdown live preview that displa
Manages each open document as an independent object with its own undo history and state.
Om is a frontend state management library and reactive user interface framework that integrates ClojureScript functional programming with the React virtual DOM rendering engine. It provides a bridge to build responsive web interfaces where visual elements automatically update when underlying application data changes. The project centers on a normalized state store that flattens complex data structures into a relational format. This data is accessed through a reader-based querying system, which decouples the user interface from the state by allowing components to declare specific data requirem
Restores the application to a prior version by referencing unique identifiers tied to historical data transactions.
Superdesign is an AI-powered design platform that generates UI mockups, wireframes, and multi-page user flows from natural language prompts within a collaborative canvas environment. It functions as a design-to-code exporter, producing production-ready HTML, ZIP archives, or Shopify Liquid templates for direct implementation, and includes an OpenAPI specification importer that automatically generates API documentation and client code from schema definitions. The platform distinguishes itself through a branch-based design exploration system that creates independent design variations from a sin
Replaces the current frame with a selected older version, instantly reverting the active design.
Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c
Provides the ability to reconstruct and render specific historical versions of a document by filtering the operation log.
undotree es un plugin de Vim que proporciona una interfaz basada en árbol para navegar y restaurar estados de edición no lineales. Funciona como un visualizador y gestor del historial de deshacer (undo), permitiendo a los usuarios navegar por ramas divergentes del historial de un archivo. El proyecto permite la recuperación de versiones que fueron sobrescritas previamente al cambiar entre rutas de edición divergentes. Renderiza el historial de deshacer como un grafo dirigido para facilitar la restauración de estados históricos específicos del documento. El plugin también incluye utilidades para gestionar archivos de deshacer persistentes en el disco, incluyendo una herramienta de limpieza para identificar y eliminar bloques de datos redundantes y ahorrar espacio de almacenamiento.
Provides the ability to reconstruct and restore specific historical versions of a document by navigating a non-linear history tree.
Inpad es una herramienta de gestión de proyectos basada en documentos y una base de conocimientos técnica colaborativa. Funciona como una plataforma de coordinación para equipos DevOps, combinando una base de conocimientos estructurada con gestión de tareas para alinear la documentación técnica con la ejecución del proyecto. La plataforma utiliza un almacén de documentos sin esquema que organiza el estado de la aplicación y las entidades del proyecto como estructuras jerárquicas de árbol anidadas. Este sistema de datos flexible permite que las estructuras de los documentos evolucionen sin requerir migraciones rígidas de base de datos y admite enlaces internos relacionales para crear una base de conocimientos interconectada. El espacio de trabajo incluye un motor de sincronización para la colaboración en equipo en tiempo real, transmitiendo cambios en los documentos a todos los clientes activos al instante. Cubre áreas de capacidad amplias, incluyendo la organización de bases de conocimientos, coordinación DevOps remota y la gestión de flujos de trabajo de proyectos a través de una interfaz basada en documentos.
Treats project entities and tasks as documents to align state management with technical documentation.