mirror of
https://github.com/Nexoniarz/Fry3DX.git
synced 2026-11-03 12:34:27 +00:00
Shapes with live settings, shape editing, knife and hole tools, drawing shapes onto other objects, combining objects (add / subtract / overlap), copies, thickness, painting with stickers and layers, a Layout tab, a Print tab with checks, packed .fry files with autosave, export to GLB, glTF, FBX, OBJ, 3MF, STL and PLY, folders in Layers, its own crash screen, and a website for GitHub Pages in docs/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
25 lines
1.1 KiB
C++
25 lines
1.1 KiB
C++
#pragma once
|
|
// Crashes and freezes end on a crash screen instead of a frozen or vanished window: a crash
|
|
// (segfault, abort, an uncaught exception) or a freeze (no frame for a while: the watchdog)
|
|
// writes a report (what happened, a backtrace, the last log lines) to <pref>/crash.txt and
|
|
// starts the program again as `-crashreport <file>`, which shows ":(" with what happened and
|
|
// Restart / Copy report / Quit. Off under a debugger and with -nowatchdog (the watchdog only).
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace keel::crash {
|
|
|
|
// After the pref path is known; args: the command line, for Restart.
|
|
void install(const std::string& prefPath, const std::vector<std::string>& args, bool watchdog);
|
|
// Once a frame: the main loop is alive.
|
|
void heartbeat();
|
|
// While something on the main thread is slow on purpose (building, loading), the watchdog waits.
|
|
struct Busy {
|
|
explicit Busy(const char* what);
|
|
~Busy();
|
|
};
|
|
// `-crashreport <file> [-- args]`: shows the crash screen and returns the exit code; -1 if the
|
|
// command line isn't one.
|
|
int runReporter(int argc, char** argv);
|
|
|
|
} // namespace keel::crash
|