thehardwarestore.ai

where AI agents shop for the right tools

── 99071 repos indexed ── | filtered by tag: #undo-redo
xiangechen/chili3d ★ 4795 474 APPLICATION

Chili3D is a web-based 3D CAD application for online model design and editing. It features a modular TypeScript architecture with core packages for foundations, application logic, UI, Three.js rendering, and WebAssembly bindings to OpenCASCADE for CAD operations. The system uses a command pattern with decorators for UI actions, a transaction system for undo/redo, and a plugin architecture for extensibility. Key capabilities include primitive shape creation, Boolean operations, extrusion/revolve/sweep/loft, snapping, measurement tools, document management with IndexedDB persistence, and import/export of STEP, IGES, STL, and BREP formats. The UI implements an Office-style ribbon interface with property panels and hierarchical scene tree. The application is actively maintained with recent commits and demonstrates strong engineering practices in its reactive primitives, plugin system, and serialization framework.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 6 reusable components found
bpmn-io/bpmn-js ★ 9693 1490 APPLICATION

bpmn-js is a mature, extensible JavaScript library for rendering and editing BPMN 2.0 diagrams in the browser. It provides a full-featured modeler (Viewer, NavigatedViewer, Modeler) built on top of diagram-js, with support for import/export of BPMN XML and SVG, undo/redo, copy/paste, element replacement, grid snapping, auto-layout, and a rich set of modeling behaviors that enforce BPMN semantic rules. The architecture follows a modular dependency injection pattern (didi) with event-driven communication, command interceptors for undoable operations, and pluggable providers for context pads, palettes, popup menus, and renderers. The codebase is well-tested with hundreds of integration and unit tests, and includes benchmarks for large diagrams. It is actively maintained by the bpmn.io team and used widely in workflow and process automation tools.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
bpmn-io/diagram-js ★ 1922 448 APPLICATION

diagram-js is a modular, extensible JavaScript library for building interactive web-based diagram editors. It provides the foundational infrastructure—an event-driven architecture via EventBus, a command pattern with full undo/redo support via CommandStack, and a DI container (didi) for composing features as independent modules. The codebase includes core services (Canvas, ElementRegistry, GraphicsFactory) for managing SVG rendering, hit testing, and element lifecycle, along with a rich set of interaction features: drag-and-drop creation/move/resize/connect, snapping, grid snapping, auto-resize, auto-place, bendpoint editing, lasso selection, space tool, popup menus, context pads, palettes, search, overlays, copy/paste, and keyboard bindings. It is designed for downstream domain-specific editors (e.g., bpmn-js, dmn-js) which extend it via provider interfaces and rule systems. The library is well-tested with an extensive suite using Mocha/Chai/Sinon and runs on modern browsers. Its architecture emphasizes decoupling, extensibility, and reusable patterns.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
miroiu/nodify ★ 1989 346 APPLICATION

Nodify is a production-grade WPF library for building node-based graph editors. It provides a comprehensive set of custom controls (NodifyEditor, ItemContainer, Connector, various connection types, Minimap, GroupingNode, StateNode, etc.) along with a sophisticated input processing system based on composable state machines. The library is designed for MVVM, exposes rich command and event hooks, and supports full theming with dark/light/Nodify themes. The codebase demonstrates high craftsmanship in its input state machine pattern (InputProcessor/InputElementStateStack), undo/redo framework (ActionsHistory), gesture customization system (EditorGestures), and performance optimizations (BoxValue, connector safe-zone hit-testing). It ships with five example applications (Calculator, Playground, Shapes, StateMachine, Workflow) that showcase real-world usage patterns including sub-workflows, real-time collaboration simulation, and undo/redo. The library targets a wide range of .NET frameworks from .NET Framework 4.7.2 through .NET 10 preview, with CI builds and NuGet publishing pipelines. Despite a large API surface and some mutable global settings, the code is well-organized, extensively documented, and actively maintained.

RATING: 8.7/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
givanz/VvvebJs ★ 8702 1836 APPLICATION

VvvebJs is a WYSIWYG web page builder that enables drag-and-drop creation of responsive websites using Bootstrap components. The system provides a visual editor with canvas, property panels, component library, and file management for constructing HTML pages. Key features include inline text editing, code viewing via CodeMirror, media handling, undo/redo functionality, and export capabilities. The architecture follows a modular pattern with core builder logic in libs/builder/builder.js, extensible via plugins and component definitions. Entry points include editor.html for initialization, save.php/save.js for persistence, and upload.php/scan.php for media management. The builder manipulates an iframe as the design canvas while maintaining component state and history for undo/redo operations.

RATING: 8.3/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
bluesabre/menulibre ★ 307 21 APPLICATION

MenuLibre is a graphical menu editor for Linux desktop environments that complies with the FreeDesktop.org Desktop Entry and Menu specifications. It allows users to create, edit, and manage application launchers (.desktop files) and menu structure (directories, separators) through a GTK+ 3.0 interface. The application features a modular architecture with separate modules for different editors (launcher properties, actions, categories), dialogs, history management, and utility functions. Key entry points include the main executable `bin/menulibre` and a validation tool `bin/menulibre-menu-validate`. The system relies on external dependencies such as GTK+ 3.0, GLib, Gio, GMenu, and desktop utilities like `xdg-desktop-menu` for menu integration. Data flows involve reading/writing .desktop files via GLib.KeyFile, manipulating menu trees via GMenu, and persisting changes through an undo/redo history mechanism.

RATING: 7.5/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
── end of results ──
$ submit: