From 94acfe3ba1f02a5606422a1841ea2da4e48a7ac2 Mon Sep 17 00:00:00 2001 From: Nettika Date: Tue, 27 Jan 2026 16:47:56 -0800 Subject: [PATCH] Structure research project --- CLAUDE.md | 8 +++++++ research/index.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 CLAUDE.md create mode 100644 research/index.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000..5ed950061 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,8 @@ +- Your research directory is `research`. +- Keep track of researched features in @research/index.md. + - As you document each feature, update its status in the index. + - For each each feature, document these three things: + 1. A short summary. + 2. An in-depth technical description of systems and plausible reasons for their design. + 3. A reference of classes/functions/methods. +- Use `nix-shell` to grab temporary tools as needed. diff --git a/research/index.md b/research/index.md new file mode 100644 index 000000000..b5dc2c7f3 --- /dev/null +++ b/research/index.md @@ -0,0 +1,58 @@ +# MatterControl Codebase Research Index + +This directory contains comprehensive documentation of the MatterControl 3D printing application codebase. + +## Project Overview + +**MatterControl** is a sophisticated 3D printing control application built in C# targeting .NET 6.0. It provides comprehensive 3D printing workflow management including model viewing, slicing, printer control, and print management. + +### Technology Stack +- **Language:** C# (.NET 6.0) +- **UI Framework:** agg-sharp (custom 2D/3D rendering engine) +- **Database:** SQLite +- **3D Rendering:** OpenGL +- **Slicing Engine:** MatterSlice (internal) + +### Project Structure +- **Total C# Files:** ~965 +- **Solution Projects:** 17 +- **Printer Profiles:** 56+ + +--- + +## Documentation Status + +| Document | Status | Last Updated | +|----------|--------|--------------| +| [Core Architecture](./01-core-architecture.md) | Pending | - | +| [Application Controller](./02-application-controller.md) | Pending | - | +| [UI & Rendering System](./03-ui-rendering.md) | Pending | - | +| [3D View & Part Preview](./04-part-preview.md) | Pending | - | +| [Printer Communication](./05-printer-communication.md) | Pending | - | +| [Slicing System](./06-slicing-system.md) | Pending | - | +| [Library & Content Management](./07-library-system.md) | Pending | - | +| [Data Storage & Persistence](./08-data-storage.md) | Pending | - | +| [Settings Management](./09-settings-management.md) | Pending | - | +| [Design Tools](./10-design-tools.md) | Pending | - | +| [Print Queue & History](./11-print-queue.md) | Pending | - | +| [Plugin System](./12-plugin-system.md) | Pending | - | +| [Mesh Operations](./13-mesh-operations.md) | Pending | - | +| [Utilities & Helpers](./14-utilities.md) | Pending | - | + +--- + +## Quick Reference + +### Main Entry Points +- `Program.cs` - Application entry point +- `MatterControlLib/ApplicationView/ApplicationController.cs` - Central controller +- `MatterControlLib/ApplicationView/RootSystemWindow.cs` - Main window + +### Key Namespaces +- `MatterHackers.MatterControl` - Main application +- `MatterHackers.MatterControl.PrinterCommunication` - Printer drivers +- `MatterHackers.MatterControl.SlicerConfiguration` - Slicing settings +- `MatterHackers.MatterControl.PartPreviewWindow` - 3D visualization +- `MatterHackers.MatterControl.Library` - Content management +- `MatterHackers.MatterControl.DataStorage` - Database layer +- `MatterHackers.MatterControl.DesignTools` - 3D editing tools