How to Merge Eye and Clothing Edits Made Separately to the Same Visual Novel Sprite Source File
When merging character sprites edited separately, use the shared base file to distinguish local adjustments from group positioning, then decide which version to retain for each layer. A fictional example involving adjusted eyes, a redrawn collar, and a raised head shows how to complete a layer-by-layer source merge sheet that another reviewer can verify.

Introduction
To merge two character sprite source files, first identify their shared base, establish what each editor changed, resolve the positioning and occlusion relationships they share, and then assemble a candidate file. A newer file was simply saved later; that does not prove it includes the other editor’s valid changes. Hand over both the candidate source file and a layer-by-layer source merge sheet so the reviewer can see where each change came from and why it was retained.
1. Establish the base file and separate intent from actual differences
The following is a fictional teaching example, not a real user case, measured result, record of an actual file merge, or DramaFork product feature. All movements are assumptions made for this example, not universally applicable image-editing values.
Call the shared base file for the character “Lan” Base 0. Starting from this file, Editor A adjusts both eyes two pixels to the right relative to the face. Editor B also starts from Base 0, redraws the collar, and moves the head group up six pixels. The head group contains the face, eyes, hair, and neck. The collar sits outside the group, and its front panel covers the lower edge of the neck. Neither editor changes the canvas size.
For this example, assume the art lead has approved both the eye adjustment and Editor B’s overall pose. The merge objective is therefore clear: retain A’s relative eye placement while adopting B’s head position and collar design. If the overall pose has not yet been approved, resolve that first; otherwise, each head movement may require the collar seam to be reworked.
In practice, preserve separate copies of Base 0, A’s file, and B’s file, and enter file identifiers in the merge sheet that make each one easy to locate. The shared base must be the version both editors actually started from, not an older file that merely looks similar. If it cannot be confirmed, mark the source as unconfirmed and do not yet claim that all differences have been identified.
2. Compare individual layers and their relationships
First check the canvas size, origin, and overall character position. Then compare “Base 0 against A’s file” and “Base 0 against B’s file” separately. Comparing A directly with B reveals differences but cannot tell you which version introduced a change and which remains unchanged.
In this example, A changes only the position of the eyes within the head group. B changes both the collar content and the head group’s position. Although B does not edit the eyes individually, their canvas position still changes with their parent group. Here, “they edited different layers” does not mean the changes have no effect on each other.
For every changed layer, also examine parent-group transforms, masks, clipping relationships, blend modes, and stacking order. Matching names are only a way to find layers: two layers named “Eyes” may have been moved, redrawn, or placed in different parent groups. Different names may simply reflect a rename.
Define independent changes explicitly: they do not compete over the same content, and neither changes the position, visible area, or compositing method on which the other depends. If they fail this test, record the dependency before deciding whether they can be combined. This example includes no scaling or rotation. If either is present, the simple pixel-offset reasoning used here no longer applies directly.
3. Complete the merge sheet and resolve shared positioning first
The table below contains the completed decision section for this example. All compositing checks remain pending. In actual use, retain these columns, replace short labels such as “Head group” with full layer paths, and add the decision-maker and candidate file identifier.
| Object | Shared base | Changes by each editor | Dependency changes | Source to retain | Conflict resolution | Composite review |
|---|---|---|---|---|---|---|
| Canvas and body | Base 0 | Neither A nor B changed them | None added | Base 0 | Keep the original reference | Pending: check boundaries and body position |
| Head group | Original position in Base 0 | B moved it up six pixels | Eyes, hair, and neck move with the group | Position from B’s file | Apply the group movement only once | Pending: check how the head and neck connect to the body |
| Eyes | Eye layer in Base 0 | A adjusted them two pixels to the right | Depend on the head group’s position | Local adjustment from A’s file | Place within the agreed head coordinate system | Pending: check the eyes’ relationship to the face |
| Collar and occlusion | Collar in Base 0 | B redrew the collar | Depends on the raised neck | B’s file | Retain the associated occlusion relationships too | Pending: check exposed neck area and seams |
Writing only “eyes from A, clothing from B” is not enough. It leaves out the head position that determines whether the two fit together. Record exclusions as well: do not adopt the full head positioning from A’s file, and do not treat B’s unadjusted eyes as the final version.
If the lead decides to retain the original head position, the collar must be checked again and adapted if necessary. That adaptation belongs to neither A’s nor B’s original changes. Add a new row to record it rather than hiding new drawing work done during the merge under “use B’s file.”
4. Assemble in dependency order and avoid counting a movement twice
For this example, copy B’s file to create the candidate because its collar was already drawn around B’s head-and-neck relationship. The trade-off is that B’s old eye placement must be deliberately excluded; the entire B file cannot simply be treated as final.
First confirm that the candidate’s head group is already six pixels higher, then handle A’s eye adjustment. Since A only moved the original eye layer without redrawing it, you can reproduce the “two pixels right relative to the head” adjustment on the corresponding eye layer in the candidate and record A’s file as its source. This is easier to verify than copying the entire head group without checking its coordinates.
If A also redrew the eyes, import A’s eye content and restore its local positional relationship to the head group. Drawing applications may handle positioning differently when copying between files, so do not assume the pasted content lands correctly. Once it is in the candidate file, recheck its parent group and canvas position.
Under this example’s assumptions, the final eyes should be two pixels to the right and six pixels above their position in Base 0. This result is only a diagnostic clue: if the eyes are twelve pixels higher, the group movement may have been applied twice; if they have not moved up at all, they may still occupy their original canvas position or belong to the wrong parent group.
Next, retain B’s collar layers and their associated occlusion settings, and check the boundary between neck and collar. Do not move the eyes again just to smooth out a seam; that would use a local adjustment to conceal a head-and-neck dependency problem.
5. Review positioning and occlusion separately before closing the merge sheet
In the first pass, check structure: does the canvas retain its original reference, has the head moved only once, is an old eye layer still unintentionally visible, and is the collar’s front panel in the agreed stacking order? Even a candidate that looks correct may contain duplicate layers that become apparent only when layers are switched later.
In the second pass, check relative relationships. Temporarily hide the collar and confirm that the face, eyes, hair, and neck are all in their correct positions together. Restore the collar, then inspect the exposed neck area, seams, and transparent gaps. Examine edges in a detail view, then assess the overall pose at the intended display size. Do not reach a conclusion from a close-up alone.
In the third pass, check the expression and outfit combinations included in this delivery. If the closed-eye layer still depends on the old position, add an outstanding item. Checking only the open-eye state does not justify signing off other expressions. Once the checks are complete, restore the agreed layer visibility and save a clearly identified version.
Each row’s review record must include at least the “candidate file identifier, item inspected, observed result, and reviewer.” For example, you can prefill the inspection requirements for the eyes, but the observed result must be entered only after actually viewing the file. If you find an offset, leave the item open and specify what needs rework.
This method applies when the shared base can be traced and the key layers remain intact. If one version has already been flattened, much of the face has been repainted, or the canvas has changed without preserving its mapping to the original, it may be impossible to reliably reconstruct each layer’s provenance. In that case, list the uncertain parts separately, choose one file as the basis for a fresh adaptation, and clearly identify what needs to be redrawn and reviewed.






