This repository provides a collection of reusable libraries, tools, and utilities for WPF, data handling, math, rendering, debugging, and more.
It’s organized into modular projects that can be used independently or combined.
-
Generic Interpreter
Command-line-like interpreter for executing user-defined commands or internal scripting. -
Custom Controls
Reusable WPF UI components for forms, trees, tables, and dialogs. -
Extension Methods
Helpers for extending native types likeList<T>,Dictionary<K,V>, and more. -
SQLite Extensions
Methods and UI helpers for SQLite interactions; includes GUI frontend for data browsing and manipulation. -
Generic Serializer
XML-based serialization for lists, dictionaries, and complex objects. -
Fast Lookup Dictionary
Optimized data structure for extremely fast dictionary lookups. -
RAM Memory Cache
In-memory cache store for temporary object persistence. -
Memory Manager
Experimental work on custom memory management. -
Image Manipulation & Comparison
Libraries for editing and comparing images; includes filters and format utilities. -
File Handling Abstraction
Unified file operation interface: copy, move, delete, metadata, etc. -
CSV Reader/Writer
Simple I/O utility to read/write CSV files and serialize object data. -
Vector Graphics Implementation
Basic tools for rendering vector shapes and paths. -
3D Projection Tools
Simple 3D projection and transformation library for experimental visual rendering. -
Debugging & Logging Framework
Structured logging and in-memory debug tracing, optionally UI-bound. -
Win32k Wrappers
Access low-level system features like registry editing and native dialogs. -
Plugin Interface
Plugin system with loading/unloading and discovery support. -
Pathfinder
Grid-based A* algorithm for turn-based strategy/pathfinding needs. -
Dialogs
Custom dialogs including SQL login, folder pickers, etc.
-
Matrix Calculation
Basic matrix math: addition, multiplication, inversion, etc. -
3D Vector Calculations
Vector math used in rendering, physics, and pathfinding. -
Fractals
Tools for procedural generation of fractal imagery. -
Statistics
Calculate mean, median, variance, and basic statistical analysis.
-
Resource String Generator
Auto-generates strongly typed string classes from raw resource files. -
In-Memory Logger (CoreMemoryLog)
Lightweight logger that keeps runtime logs in memory.
See CoreMemoryLog for details. -
Simple Dependency Injection
Minimal DI container to inject and manage services across projects. -
Worker Service Framework
Manages background threads and long-running jobs with clean abstraction.
A flexible debugging and log inspection framework.
- Defines the
ILogSourceabstraction so log providers (memory, file, stream, external) can be plugged in and consumed uniformly. - Supports event-driven log streaming (
LineReceived) for real-time UI updates. - Includes adapters like
InMemoryLogSourceto exposeCoreMemoryLoginto UI log viewers. - Designed for WPF dashboards and log viewer tools.
Skeleton usage:
var source = new InMemoryLogSource(logger);
source.LineReceived += (_, line) => Console.WriteLine(line);
source.Start();A lightweight, structured, in-memory logger for runtime diagnostics.
- Captures logs without writing to disk.
- Stores a rolling buffer of entries, accessible via
GetLogs(). - Provides structured log entries with timestamp, level, caller method, and optional exception.
- Can be adapted into
Debuggerfor visualization, or consumed directly in tests.
Example:
var logger = new InMemoryLogger();
logger.Log(LogLevel.Info, "Starting job {0}", jobId);
// Later
foreach (var entry in logger.GetLogs())
Console.WriteLine($"{entry.Timestamp}: {entry.Message}");| Module | Purpose / Description |
|---|---|
CommonLibraryTests |
Unit tests for common libraries |
CommonExtendedObjectsTests |
Unit tests for ExtendedSystemObjects |
Imaging |
Image manipulation tools |
CommonControls |
Shared WPF custom controls |
SQLiteHelper |
SQLite DB interaction & abstraction |
Mathematics |
Math utilities and calculation libraries |
CommonLibrarySqlLiteTests |
Tests for SQLite-related features |
ExtendedSystemObjects |
Extensions for .NET base classes |
FileHandler |
File system abstraction (copy, move, etc.) |
RenderEngine |
Experimental 2D/3D rendering backend |
RenderEngineTests |
All Tests related to rendering |
SQLiteGui |
UI frontend for SQLiteHelper |
Debugger |
Debugging framework + log viewer integration |
ImageCompare |
Pixel-based image comparison utility |
CommonDialogs |
Prebuilt WPF dialogs (folders, login, etc.) |
Interpreter |
Text command processor and parser |
CommonLibraryGuiTests |
GUI testing for common components |
Solaris |
2D chessboard-style tile renderer |
LightVector |
Lightweight vector math tools |
Serializer |
XML serialization of data and structures |
DataFormatter |
CSV reading/writing and formatting |
Communication |
Networking and web service helpers |
CoreBuilderTests |
Tests for image/vector building tools |
PluginLoader |
Plugin management and loading system |
CommonFilter |
WPF control to filter data tables |
CoreBuilder |
Utilities for image/vector creation |
Pathfinder |
A* pathfinding for grid-based maps |
InterOp |
Useful bindings to Windows libraries |
CoreInject |
Minimal DI/injection support |
CoreConsole |
Quick Console runner for applications |
CoreMemoryLog |
In-memory logger, structured, UI-ready |
Plugin |
Base classes/interfaces for plugin system |
ViewModel |
ViewModel bindings for WPF MVVM support |
CoreWorker |
Worker service abstraction |