chore: checkpoint web Blender feature-gap work, docs and tests
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

- update native web_engine sources and rebuilt wasm artifacts
- add task cards, status notes and tooling scripts
- add web e2e specs, tutorial UI sources and tutorial assets
- sync golden task manifests and audit records

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-11 10:46:55 +08:00
parent f3e21c6b98
commit d1e6b63d54
665 changed files with 59149 additions and 39194 deletions

View File

@@ -1314,7 +1314,6 @@ static bke::bNodeSocketType *make_socket_type_bool()
};
static SocketValueVariant default_value{false};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1341,7 +1340,6 @@ static bke::bNodeSocketType *make_socket_type_bool()
RNA_def_property_flag(prop, PROP_FORCE_GEOMETRY_EVAL);
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1380,7 +1378,6 @@ static bke::bNodeSocketType *make_socket_type_rotation()
};
static SocketValueVariant default_value{math::Quaternion::identity()};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1400,7 +1397,6 @@ static bke::bNodeSocketType *make_socket_type_rotation()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_and_attribute_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1440,14 +1436,12 @@ static bke::bNodeSocketType *make_socket_type_matrix()
};
static SocketValueVariant default_value{float4x4::identity()};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
nodes::GeneratedTreeSrnaData &r_generated) {
make_common_fallback_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1475,14 +1469,12 @@ static bke::bNodeSocketType *make_socket_type_bundle()
};
static SocketValueVariant default_value = SocketValueVariant::From(nodes::BundlePtr());
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
nodes::GeneratedTreeSrnaData &r_generated) {
make_common_fallback_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1510,14 +1502,12 @@ static bke::bNodeSocketType *make_socket_type_closure()
};
static SocketValueVariant default_value = SocketValueVariant::From(nodes::ClosurePtr());
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
nodes::GeneratedTreeSrnaData &r_generated) {
make_common_fallback_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1548,7 +1538,6 @@ static bke::bNodeSocketType *make_socket_type_float(PropertySubType subtype)
};
static SocketValueVariant default_value{0.0f};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1569,7 +1558,6 @@ static bke::bNodeSocketType *make_socket_type_float(PropertySubType subtype)
RNA_def_property_subtype(prop, PropertySubType(data->subtype));
make_common_value_and_attribute_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1613,7 +1601,6 @@ static bke::bNodeSocketType *make_socket_type_int(PropertySubType subtype)
};
static SocketValueVariant default_value{0};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1634,7 +1621,6 @@ static bke::bNodeSocketType *make_socket_type_int(PropertySubType subtype)
RNA_def_property_subtype(prop, PropertySubType(data->subtype));
make_common_value_and_attribute_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1677,7 +1663,6 @@ static bke::bNodeSocketType *make_socket_type_vector(PropertySubType subtype, co
};
static SocketValueVariant default_value{float3(0, 0, 0)};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1699,7 +1684,6 @@ static bke::bNodeSocketType *make_socket_type_vector(PropertySubType subtype, co
RNA_def_property_subtype(prop, PropertySubType(data->subtype));
make_common_value_and_attribute_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1782,7 +1766,6 @@ static bke::bNodeSocketType *make_socket_type_rgba()
};
static SocketValueVariant default_value{ColorGeometry4f(0, 0, 0, 0)};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1802,7 +1785,6 @@ static bke::bNodeSocketType *make_socket_type_rgba()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_and_attribute_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1845,7 +1827,6 @@ static bke::bNodeSocketType *make_socket_type_string(PropertySubType subtype)
};
static SocketValueVariant default_value{std::string()};
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1867,7 +1848,6 @@ static bke::bNodeSocketType *make_socket_type_string(PropertySubType subtype)
}
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1937,7 +1917,6 @@ static bke::bNodeSocketType *make_socket_type_menu()
};
static SocketValueVariant default_value = SocketValueVariant::From(nodes::MenuValue());
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -1956,7 +1935,6 @@ static bke::bNodeSocketType *make_socket_type_menu()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -1998,7 +1976,6 @@ static bke::bNodeSocketType *make_socket_type_object()
static SocketValueVariant default_value = SocketValueVariant::From(
static_cast<Object *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2009,7 +1986,6 @@ static bke::bNodeSocketType *make_socket_type_object()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2040,14 +2016,12 @@ static bke::bNodeSocketType *make_socket_type_geometry()
};
static SocketValueVariant default_value = SocketValueVariant::From(bke::GeometrySet());
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
nodes::GeneratedTreeSrnaData &r_generated) {
make_common_fallback_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2078,7 +2052,6 @@ static bke::bNodeSocketType *make_socket_type_collection()
static SocketValueVariant default_value = SocketValueVariant::From(
static_cast<Collection *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2089,7 +2062,6 @@ static bke::bNodeSocketType *make_socket_type_collection()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2119,7 +2091,6 @@ static bke::bNodeSocketType *make_socket_type_texture()
};
static SocketValueVariant default_value = SocketValueVariant::From(static_cast<Tex *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2130,7 +2101,6 @@ static bke::bNodeSocketType *make_socket_type_texture()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2161,7 +2131,6 @@ static bke::bNodeSocketType *make_socket_type_image()
static SocketValueVariant default_value = SocketValueVariant::From(
static_cast<Image *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2172,7 +2141,6 @@ static bke::bNodeSocketType *make_socket_type_image()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2203,7 +2171,6 @@ static bke::bNodeSocketType *make_socket_type_material()
static SocketValueVariant default_value = SocketValueVariant::From(
static_cast<Material *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2214,7 +2181,6 @@ static bke::bNodeSocketType *make_socket_type_material()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2245,7 +2211,6 @@ static bke::bNodeSocketType *make_socket_type_font()
static SocketValueVariant default_value = SocketValueVariant::From(
static_cast<VFont *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2256,7 +2221,6 @@ static bke::bNodeSocketType *make_socket_type_font()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
#ifndef WITH_WEB
socktype->make_compositor_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
@@ -2342,7 +2306,6 @@ static bke::bNodeSocketType *make_socket_type_sound()
static SocketValueVariant default_value = SocketValueVariant::From(
static_cast<bSound *>(nullptr));
socktype->geometry_nodes_default_value = &default_value;
#ifndef WITH_WEB
socktype->make_geometry_nodes_input_srna = [](const bNodeTree & /*tree*/,
StructRNA &srna,
const bNodeTreeInterfaceSocket &socket,
@@ -2353,7 +2316,6 @@ static bke::bNodeSocketType *make_socket_type_sound()
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
make_common_value_props(srna, socket, r_generated);
};
#endif
return socktype;
}