Files
workinf_Blender_Wasm/main
mes123456 f3e21c6b98
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer,
web workflow engine and protocol, tooling, docs and task records.
Large generated evidence, user-testing archives, build snapshots and
imported test assets remain untracked.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-10 11:18:01 +08:00

74 lines
5.0 KiB
Plaintext

{
"schemaVersion": 1,
"task": "WBV2-P1424-001",
"scope": "batch",
"pattern": "state-",
"selectedUnits": [],
"sourcePathCount": 1,
"runtimePathCount": 0,
"hitCount": 605,
"truncated": true,
"hits": [
"203: if (state == nullptr || state->main == nullptr || state->scene == nullptr) {",
"353: if (state == nullptr || state->main == nullptr || object_id.empty()) return false;",
"354: for (Object *object : WebListWrapper<Object>(&state->main->objects)) {",
"379: if (state == nullptr || state->main == nullptr || state->scene == nullptr) {",
"687: if (state == nullptr || state->main == nullptr || state->scene == nullptr) {",
"768: if (state == nullptr || state->main == nullptr) return;",
"775: state->geometry_node_graph_overrides[payload[\"id\"].get<std::string>()] = payload.dump();",
"779: if (graph.is_object()) state->geometry_node_graph_overrides[graph_id] = graph.dump();",
"786: if (state->scene != nullptr) merge(read_id_string(state->scene->id, WEB_ENGINE_GEOMETRY_OVERRIDE_PROPERTY));",
"789: if (Text *text = find_text(state->main, WEB_ENGINE_GEOMETRY_OVERRIDE_TEXT)) merge(text_contents(*text));",
"790: for (Object &object : state->main->objects) {",
"802: if (state == nullptr || state->main == nullptr || !state->physics_simulation_override.empty()) return;",
"803: if (state->scene != nullptr) {",
"804: const std::string persisted = read_id_string(state->scene->id, WEB_ENGINE_PHYSICS_OVERRIDE_PROPERTY);",
"806: state->physics_simulation_override = persisted;",
"810: Text *text = find_text(state->main, WEB_ENGINE_PHYSICS_OVERRIDE_TEXT);",
"813: if (!contents.empty()) state->physics_simulation_override = contents;",
"819: for (const auto &[graph_id, graph_text] : state->geometry_node_graph_overrides) {",
"827: if (state->scene != nullptr && write_id_string(state->scene->id, WEB_ENGINE_GEOMETRY_OVERRIDE_PROPERTY, serialized)) {",
"830: for (Object &object : state->main->objects) {",
"833: return write_text(state->main, WEB_ENGINE_GEOMETRY_OVERRIDE_TEXT, serialized);",
"938: const auto it = state->retained_media_metadata.find(data_id);",
"939: return it == state->retained_media_metadata.end() ? nullptr : &it->second;",
"957: if (bSound *sound = find_sound(state->main, data_id)) return sound;",
"962: GlobalMainScope global_main_scope(state->main);",
"964: bSound *sound = adopt_web_id<bSound>(state->main, name.c_str());",
"981: if (Speaker *speaker = find_speaker(state->main, data_id)) return speaker;",
"986: GlobalMainScope global_main_scope(state->main);",
"988: Speaker *speaker = adopt_web_id<Speaker>(state->main, name.c_str());",
"1013: if (ParticleSettings *settings = find_particle_settings(state->main, data_id)) return settings;",
"1018: GlobalMainScope global_main_scope(state->main);",
"1020: ParticleSettings *settings = adopt_web_id<ParticleSettings>(state->main, name.c_str());",
"1541: state->blend = blend;",
"1542: state->main = blend->main;",
"1543: state->scene = blend->curscene != nullptr ? blend->curscene :",
"1544: static_cast<blender::Scene *>(state->main->scenes.first);",
"1545: state->view_layer = blend->cur_view_layer != nullptr ? blend->cur_view_layer :",
"1546: (state->scene != nullptr ?",
"1547: static_cast<blender::ViewLayer *>(state->scene->view_layers.first) :",
"1549: if (state->scene == nullptr || state->view_layer == nullptr) {",
"1554: for (blender::ViewLayer &candidate : state->scene->view_layers) {",
"1555: blender::BKE_view_layer_synced_ensure(*state->main, state->scene, &candidate);",
"1559: for (blender::wmWindowManager &wm : state->main->wm) {",
"1585: if (state->main != nullptr) {",
"1588: GlobalMainScope main_scope(state->main);",
"1589: while (auto *wm = static_cast<blender::wmWindowManager *>(state->main->wm.first)) {",
"1590: blender::BKE_id_free(state->main, wm);",
"1594: if (state->blend != nullptr) blender::BLO_blendfiledata_free(state->blend);",
"1819: CTX_data_main_set(context, state->main);",
"1824: for (bScreen &screen : state->main->screens) {",
"1838: for (Scene &candidate : state->main->scenes) {",
"1839: if (&candidate == state->scene) scene = &candidate;",
"1841: if (!scene) scene = static_cast<Scene *>(state->main->scenes.first);",
"1843: wmWindow *window = web_editor_window(state->main);",
"1845: for (wmWindowManager &manager : state->main->wm) {",
"1886: state->scene = CTX_data_scene(context);",
"1887: state->view_layer = state->scene ? CTX_data_view_layer(context) : nullptr;",
"1894: if (!state || !state->main) { error = \"EDITOR_CONTEXT_UNAVAILABLE\"; return false; }",
"1899: wmWindow *window = web_editor_window(state->main);",
"1902: for (WorkSpace &candidate : state->main->workspaces) {"
]
}