mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-27 09:42:00 +01:00
Two layers could update the same Txt2 frame, the last one winning. An edited layer whose object can't be refitted (a run array whose length is no count) was rebuilt from a template naming frame <slot number>, which can be the frame another object draws in; and a new layer whose slot number is a path layer's frame number named that frame too. A point layer then turned the path layer's frame into a point frame, and the path text reopened as plain text. A rebuilt object now keeps the frame its old object was drawn in (when the frame list has it), and a new or rebuilt object whose slot number is another object's frame gets a free frame past the list (padded like the others). A frame the file already had two objects drawn in is left as the file has it. Tests (each fails without its part): an_object_rebuilt_from_a_template_keeps_its_own_frame, a_new_object_gets_a_frame_no_other_object_is_drawn_in, a_rebuilt_object_never_names_a_missing_frame, a_frame_two_objects_name_is_kept, a_kept_object_naming_a_far_frame_adds_no_frames (the list only grows for frames handed out here); an_area_layer_gets_a_box_frame covers the merge with main's area type. Answers CodeRabbit's review thread at crates/text/src/psd.rs:1242. Co-authored-by: Michael Higgins <55243596+Higgs32584@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>