1.4 KiB
1.4 KiB
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
# 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
# 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
.ttffonts 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