save state
This commit is contained in:
55
CLAUDE.md
Normal file
55
CLAUDE.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
Mosis Designer is a Windows desktop application for previewing RML/RCSS files using the RmlUi library. It provides live reloading when files change in the assets directory.
|
||||
|
||||
## Build Commands
|
||||
|
||||
```bash
|
||||
# Configure the build (requires vcpkg for glfw3 and freetype)
|
||||
cmake -B build
|
||||
|
||||
# Build debug
|
||||
cmake --build build --config Debug
|
||||
|
||||
# Build release
|
||||
cmake --build build --config Release
|
||||
|
||||
# Build with parallel jobs
|
||||
cmake --build build --parallel 4
|
||||
```
|
||||
|
||||
## Running the Application
|
||||
|
||||
```bash
|
||||
# Run with an RML file
|
||||
./build/Debug/mosis-designer.exe assets/demo.rml
|
||||
```
|
||||
|
||||
The application watches the parent directory of the loaded file for changes and automatically reloads.
|
||||
|
||||
## Architecture
|
||||
|
||||
Single-file C++23 application (`main.cpp`) that:
|
||||
- Uses RmlUi for rendering HTML/CSS-like markup (RML/RCSS)
|
||||
- Uses GLFW + OpenGL 3 backend from RmlUi
|
||||
- Windows-specific file watching via `FindFirstChangeNotification`
|
||||
- Automatically loads all `.ttf` fonts from the RML file's directory
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **RmlUi**: Fetched via CMake FetchContent from GitHub
|
||||
- **GLFW3**: Via vcpkg
|
||||
- **FreeType**: Via vcpkg
|
||||
|
||||
## Code Style
|
||||
|
||||
- C++23 standard
|
||||
- 4 spaces indentation
|
||||
- snake_case for variables, camelCase for functions/classes
|
||||
- UPPER_CASE for constants and enums
|
||||
- Early returns preferred over nested conditionals
|
||||
- Smart pointers over raw pointers
|
||||
Reference in New Issue
Block a user