Add build infrastructure, installer scripts, and fix build errors

- Create vcpkg.json manifest with all editor dependencies
- Create CMakePresets.json for Windows (MSVC) and Linux (GCC)
- Create Inno Setup installer script (setup.iss) with file associations
- Create Windows build helper (build.ps1) with vcpkg auto-install
- Create Linux build/install scripts (build.sh, install.sh)
- Vendor imgui SDL2 backend locally (removed from vcpkg imgui 1.91+)
- Switch CMakeLists.txt from FetchContent to vcpkg find_package
- Fix ElispGenerator missing pure virtual overrides for memory annotations
- Fix Orchestrator::findNodeById const-correctness
- Fix orchestrator_main.cpp loadFile/saveFile type mismatches
- Fix main.cpp SDL_GL_SwapBuffers -> SDL_GL_SwapWindow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bill
2026-02-07 22:06:50 -07:00
parent d0a039e567
commit e08fc9e0e0
13 changed files with 1664 additions and 21 deletions

View File

@@ -288,8 +288,13 @@ json processRequest(const json& request) {
else if (method == "loadFile") {
try {
std::string path = request.at("params").at("path");
std::string content = g_orchestrator->loadFile(path);
response["result"] = content;
auto module = g_orchestrator->loadFile(path);
if (module) {
PythonGenerator gen;
response["result"] = gen.generate(module.get());
} else {
response["result"] = "";
}
} catch (...) {
response["error"] = json::object({
{"code", -32600},
@@ -301,7 +306,7 @@ json processRequest(const json& request) {
try {
std::string path = request.at("params").at("path");
std::string content = request.at("params").at("content");
bool success = g_orchestrator->saveFile(path, content);
bool success = g_orchestrator->saveContent(path, content);
if (success) {
response["result"] = true;
} else {