···5656 fn byte_to_char(&self, byte_offset: usize) -> usize;
57575858 /// Get info about the last edit operation, if any.
5959- fn last_edit(&self) -> Option<&EditInfo>;
5959+ fn last_edit(&self) -> Option<EditInfo>;
60606161 /// Check if a char offset is in the block-syntax zone (first few chars of a line).
6262 fn is_in_block_syntax_zone(&self, offset: usize) -> bool {
···198198 self.rope.byte_to_char(byte_offset)
199199 }
200200201201- fn last_edit(&self) -> Option<&EditInfo> {
202202- self.last_edit.as_ref()
201201+ fn last_edit(&self) -> Option<EditInfo> {
202202+ self.last_edit
203203 }
204204205205 fn is_in_block_syntax_zone(&self, offset: usize) -> bool {
+1-1
crates/weaver-editor-core/src/types.rs
···165165///
166166/// This tracks enough information to determine which paragraphs need re-rendering
167167/// after an edit, enabling efficient incremental updates instead of full re-renders.
168168-#[derive(Clone, Debug)]
168168+#[derive(Clone, Copy, Debug)]
169169pub struct EditInfo {
170170 /// Character offset where the edit occurred
171171 pub edit_char_pos: usize,