feat: Enhance JSON configuration writer and add heartbeat recording to crash recovery service

- Updated JsonConfigWriterService to structure the JSON output with new sections for scripts, window settings, input bindings, paths, rendering, and GUI configurations.
- Introduced a new method in ICrashRecoveryService to record frame heartbeats, allowing for better tracking of long-running operations.
- Refactored existing code to improve readability and maintainability, including the addition of helper functions for adding string members to JSON objects.
This commit is contained in:
2026-01-08 16:57:24 +00:00
parent 4fdbcdc4bc
commit df19ae9264
18 changed files with 1079 additions and 471 deletions

View File

@@ -2,6 +2,7 @@
-- Provides mesh generation, object builders, and utility functions
local math3d = require("math3d")
local config_resolver = require("config_resolver")
local framework = {}
@@ -328,8 +329,9 @@ function framework.MaterialRegistry.new(config)
self.materials = {}
self.default_key = nil
if config and config.materialx_materials then
for i, mat in ipairs(config.materialx_materials) do
local materials = config_resolver.resolve_materialx_materials(config)
if type(materials) == "table" then
for i, mat in ipairs(materials) do
if mat.shader_key then
self.materials[mat.shader_key] = mat
if i == 1 then