diff --git a/DESIGN.md b/DESIGN.md index a7346dd9..ad5df438 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1226,6 +1226,7 @@ pub trait ParserPlugin { component: &Component, processed_template: &str, ) -> Result<()>; + fn component_source_transform(&self) -> Option { None } fn classify_attribute(&mut self, attr_name: &str) -> AttributeAction; fn finish_element(&mut self, binding_attribute_count: u32) -> Option>; fn into_artifacts(self: Box) -> Result; @@ -1237,6 +1238,7 @@ pub trait ParserPlugin { - **Attribute loop**: `classify_attribute` decides whether framework-owned attrs are kept, skipped, or skipped-and-counted as bindings - **Element completion**: `finish_element` runs with the final binding count after all attrs are processed; returned bytes are emitted as a `Plugin` fragment - **Component registration**: `register_component_template` receives the plugin-facing component template HTML after HTML/CSS comment stripping. Authored root `