Files
photocraft/crates/text
d396a80272 Integration: one Txt2 frame per layer on save (#8175)
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>
2026-10-25 12:35:07 +01:00
..