docs(codemachine): refresh blueprint and plans#2
Merged
Conversation
Scaffold app/core/infrastructure placeholders to enforce clean layering. Align CI and docs with melos commands for consistent workspace tooling.
Add docs README describing architecture diagrams and rendering steps. Introduce system context and container diagrams with synced PNG/SVG outputs. Update component overview metadata and mark iteration task complete. Bump analyzer toolchain dependencies in packages/core/pubspec.lock.
Introduce docs/ui token registry and exporter CLI to keep theme source of truth shared between design and Flutter. Adopt the generated WireTuner theme so the app uses tokenized colors, typography, and spacing consistently.
Add matrix quality gate job so CI enforces format, lint, and tests. Document the gates, PR checklist, and contributing flow to align teams. Capture persistence decisions with ADRs, ERD diagrams, and Prisma schema.
Add SQLite-backed EventStoreServiceAdapter with batching integrity checks and CRUD workflows. Introduce schema migration harness and bump DatabaseProvider to schema v2 with verification. Document event store columns and add integration tests plus CLI integrity script.
Add GraphQL SDL, Yoga server, and schema lint tooling. Document telemetry OpenAPI spec and sample operations.
Implement background isolate serialization with memory guards, adaptive cadence, and timer-based triggers per ADR-0003/0004. Refresh snapshot schema defaults and document the implementation with comprehensive unit coverage.
Link blueprint flows to PlantUML diagrams and add rendering notes. Capture completion details in iteration plan and mark task I2.T4 done. Refresh analyzer dependencies via pub get to keep tooling current.
Introduce centralized TelemetryConfig and guard mixin to gate client metrics, structured logging, and OTLP export. Add collector service, docs, and tests covering opt-out and compliance flows. BREAKING CHANGE: TelemetryService now requires TelemetryConfig input.
Look up shortcuts in ToolRegistry so hotkeys switch registered tools. Add tool_registration module and tests for built-in tool metadata. Mark I3.T1 task done in CodeMachine artifact tracker.
Introduce NavigatorWindow shell, provider state, and service actions. Cover grid, card, provider, and service behavior with widget and unit tests.
Introduce inspector and layer modules with providers and docs. Add telemetry performance overlay with persistence and settings. Extend telemetry service metrics and cover modules with tests.
Implement WebSocket OT gateway with auth, Redis fanout, and presence. Expose Dart client via infrastructure package for Flutter integration. Document protocol and cover OT transforms and sessions with tests.
Adds window manager, navigator root, and artboard wrappers for lifecycle persistence, including viewport saving hooks. Adds window state repository and loosens undo provider coupling. Introduces platform thumbnail stubs and comprehensive window tests.
Introduce JsonExporter for archival snapshots with validation. Extend SvgExporter for multi-artboard and per-artboard workflows. Add export dialog UI plus JSON and SVG unit coverage for regressions.
Add infrastructure importer to convert AI PDF operators into events. Surface conversion warnings so UI can explain import limitations. Document warning catalog and add dialog plus tests for AI import.
Capture final validation results, remaining prerequisites, and updated release readiness status across QA reports.
…lization This commit addresses multiple critical bugs preventing the application from compiling and rendering correctly after the artboard architecture migration. **Compilation Fixes:** - Fixed null safety errors across editor shell, thumbnail generator, and tools - Updated all code to use artboard-based document structure instead of deprecated document-level layers and selection fields - Added default artboard initialization to prevent null reference errors **Artboard Migration:** - Updated DocumentProvider methods (updateViewport, updateSelection, updateLayers) to work with first artboard instead of document-level fields - Fixed editor_shell, thumbnail_generator, selection_tool, direct_selection_tool, and document_event_applier to access layers/selection through artboards - Added helper methods in tools to get active artboard **Selection & Event System:** - Implemented selection event handling (SelectObjectsEvent, DeselectObjectsEvent, ClearSelectionEvent) in DocumentEventApplier - Added auto-selection for newly created paths and shapes - Fixed selection state management to work with artboard-level selection **Anchor Point Visualization:** - Implemented differentiated anchor point rendering based on type: * Corner points (straight segments) → white squares with black/colored borders * Smooth/Bezier points (curved segments) → white circles with black/colored borders - Enhanced pen tool preview overlay to track and render all placed anchors during path creation with correct shape indicators - Updated selection overlay to render anchor shapes based on AnchorType - Added PreviewAnchor class to track both position and type information **Shape Rendering:** - Added fill rendering for shapes (light gray fill with stroke) - Shapes now render with visible fills making them clearly distinguishable - Fixed shape persistence and rendering in DocumentPainter This fixes the compilation blockers and implements proper visual feedback for anchor point types, making it clear which points create corners vs curves.
…h fills and strokes The render pipeline was enabled by default but doesn't support shapes - only paths. This caused shapes to not render at all (no fills or outlines visible). Changes: - Disable render pipeline by default in wiretuner_canvas.dart - Changed enableRenderPipeline default from true to false - Added documentation explaining why it's disabled (shapes not supported) - Add debug logging throughout rendering pipeline for troubleshooting: - DocumentPainter: logs path/shape counts and which renderer is used - _CanvasAdapter: logs object extraction from layers - ShapeToolBase: logs pointer events and shape creation - Fix selection overlay to show all anchor points when object is selected - Previously only showed anchors if specific anchors were selected - Now shows all anchors when object is selected (no specific anchor selection) With render pipeline disabled, DocumentPainter uses legacy _paintLegacy which: - Renders shapes with light gray fills - Renders shapes with black stroke outlines - Properly handles both path and shape rendering Issue: Shapes were invisible (no fills or outlines) even though they were being created and appearing in the layers panel. Root cause: Render pipeline's _paintWithPipeline ignores shapes map entirely. Fix: Use legacy renderer until shape support is added to render pipeline.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs(codemachine): refresh blueprint and plans