Family diagrams & identity

Family chart name layout proof

Lay out an authored family diagram while separating people from repeated chart occurrences. Capture label sizes in this browser, inspect arrow crossings and frame overflow, and export an ID-labelled SVG without pretending that repeated boxes are different people.

Read the naming guide ↓
01

Set the story constraints

1–80 {id,name,short}. IDs unique ≤40, labels ≤120; empty short falls back to full. Authored links assert no biological or legal relationship.

1–100 {id,person}. Reuse a person ID for repeated appearances, but every box has its own occurrence ID.

0–160 {from,to} occurrence links, no duplicates, self-links or directed cycles. Arrows mean only what your caption declares.

Use the capture button after generating. {} uses explicitly labelled estimates. Supplied measurements must match the current labels/font; changing them requires recapture. A saved measurement record is not independently authenticated.

≤1000 units; included in private audit and SVG metadata.

Save & restore a creative project

Stored on this browser. A private project export contains all inputs, including hidden identities. Review it before sharing.

02

Consider the result 4

Static example; JavaScript enables interaction.

Default-input example. Initial lettering metrics are approximate.

Read people separately from their boxes

These arrows follow your authored occurrence DAG. A repeated person ID remains one identity; two similar labels do not establish a relationship. The SVG may be wider than the panel; its own horizontal area keeps the page usable.

Estimated text sizes — capture this browser before treating the diagram as a typography proof.

Family chart placement proofPrivate authored chart. Boxes carry occurrence and person IDs; repeated person IDs are one person. estimated{"scope":"private-authored-occurrence-chart","sourceKey":"{\"labels\":[{\"id\":\"ena-left\",\"person\":\"ena\",\"label\":\"Ena Vale\",\"fallback\":false},{\"id\":\"ena-right\",\"person\":\"ena\",\"label\":\"Ena Vale\",\"fallback\":false},{\"id\":\"sol-box\",\"person\":\"sol\",\"label\":\"Sol Vale\",\"fallback\":false},{\"id\":\"min-box\",\"person\":\"min\",\"label\":\"Min Vale\",\"fallback\":false},{\"id\":\"tavi-box\",\"person\":\"tavi\",\"label\":\"Tavi Reed\",\"fallback\":false}],\"fontSize\":18,\"fontFamily\":\"Georgia, serif\",\"lineHeight\":1.35}","context":"Ena is repeated on two authored branches. The caption must make clear that two boxes do not mean two ancestors; arrows are fictional relation links, not inferred blood or inheritance.","dimensionMode":"estimated"}Ena Valeena-left | enaEna Valeena-right | enaSol Valesol-box | solMin Valemin-box | minTavi Reedtavi-box | tavi
Dimensions, frame and drawing findings
MeasureResult
Dimension modeestimated
Diagram / target frame321.6×300.9 / 720×520
Proper crossings: initial → retained1 → 0
Box overlaps / line-through-box / outside frame0 / 0 / 0

Refinement retains only strict crossing improvements over eight sweeps. It is not a global optimum. Dimensions are estimates or explicitly source-bound supplied bounds.

One person, several occurrences
Person / full nameOccurrence IDs
ena | Ena Valeena-left, ena-right
sol | Sol Valesol-box
min | Min Valemin-box
tavi | Tavi Reedtavi-box

Repeated boxes are not extra people. Unplaced supplied people remain explicit. Link meaning comes from the author’s caption, not surname matching.

Label positions and source dimensions
Occurrence / personLiteral labelx,y / width,heightFinding
ena-left / enaEna Vale24, 24, 124.8, 44.3inside frame
ena-right / enaEna Vale172.8, 24, 124.8, 44.3inside frame
sol-box / solSol Vale24, 128.3, 124.8, 44.3inside frame
min-box / minMin Vale172.8, 128.3, 124.8, 44.3inside frame
tavi-box / taviTavi Reed92.1, 232.6, 137.4, 44.3inside frame

Coordinates are drawing pixels. Changing full/short labels or font size invalidates old dimensions. Orientation and gaps change the actual geometry.

Inspect remaining ambiguities and obstructions
KindIDs

Shared endpoints are not counted as proper crossings; collinear contacts and every visual perceptual issue are not certified. Review the exported SVG in the actual medium.

Ena Vale

2 chart occurrences reference person ena. Labels remain literal; the diagram is an estimate, not a font proof.

One person can occupy more than one branch

Person ena has these occurrence IDs: ena-left, ena-right. Repeating a box is a drawing decision, not a second identity. Put the common person ID or an explicit cross-reference where the reader can actually see it.

A line is not a complete relationship

The author’s caption defines these arrows. A shared surname or a neat branch does not establish blood, chosen household membership or legal inheritance. Read the diagram against the scene and keep its fictional assumptions attached to the private SVG.

Sol Vale

1 chart occurrences reference person sol. Labels remain literal; the diagram is an estimate, not a font proof.

One person can occupy more than one branch

Person sol has these occurrence IDs: sol-box. Repeating a box is a drawing decision, not a second identity. Put the common person ID or an explicit cross-reference where the reader can actually see it.

A line is not a complete relationship

The author’s caption defines these arrows. A shared surname or a neat branch does not establish blood, chosen household membership or legal inheritance. Read the diagram against the scene and keep its fictional assumptions attached to the private SVG.

Min Vale

1 chart occurrences reference person min. Labels remain literal; the diagram is an estimate, not a font proof.

One person can occupy more than one branch

Person min has these occurrence IDs: min-box. Repeating a box is a drawing decision, not a second identity. Put the common person ID or an explicit cross-reference where the reader can actually see it.

A line is not a complete relationship

The author’s caption defines these arrows. A shared surname or a neat branch does not establish blood, chosen household membership or legal inheritance. Read the diagram against the scene and keep its fictional assumptions attached to the private SVG.

Tavi Reed

1 chart occurrences reference person tavi. Labels remain literal; the diagram is an estimate, not a font proof.

One person can occupy more than one branch

Person tavi has these occurrence IDs: tavi-box. Repeating a box is a drawing decision, not a second identity. Put the common person ID or an explicit cross-reference where the reader can actually see it.

A line is not a complete relationship

The author’s caption defines these arrows. A shared surname or a neat branch does not establish blood, chosen household membership or legal inheritance. Read the diagram against the scene and keep its fictional assumptions attached to the private SVG.

Original AI-assisted guide. Updated 1 November 2026. Methods: explicit local rules and documented source records. Autonomous checks are recorded; no human expert approval is implied.

A family diagram can multiply a person by accident

A family chart is a reading interface. Its boxes, arrows and repeated names influence what a reader believes before the accompanying scene explains anything. Two boxes can mean two people, two appearances of one person or two competing accounts of an identity. If the drawing does not distinguish those possibilities, a neat layout may quietly introduce a relationship that the author never intended.

This tool separates a person record from each occurrence of that person in the chart. You supply the identities, the boxes and the directed links. The layout preserves those declarations, arranges the occurrence graph into layers and reports remaining crossings, obstructions and frame overflow. A shared surname does not create an edge, and an edge does not establish biological kinship, household membership or legal inheritance.

The specific task is preparing name-bearing diagrams for fiction, comics or game reference material. It is useful after you know who the people are. It does not generate a family’s names or decide which records are actually the same identity. Use a naming or identity-review tool for those decisions, then return with explicit records that the diagram can render without inventing a genealogy.

Original fictional scene: the ancestor drawn twice

Tavi was helping prepare a wall chart for a fictional family’s garden gathering. Ena appeared at the top of the left branch and again above the right branch. Both boxes led toward Tavi through different intermediate records. The maker had repeated Ena to keep the branches readable and had never intended to introduce a second ancestor.

Tavi drew two faces for the display. One had a broad hat and the other carried the small watering can mentioned in Ena’s story. When the maker said both boxes referred to Ena, Tavi asked which of the two drawings should be thrown away. The layout had made a production convenience look like a decision about who belonged in the family’s account.

The maker first tried joining the branches into a single top box. That reduced repetition but sent a long diagonal across another label. Shrinking every name made the chart fit its frame while making it harder to read. Neither change addressed Tavi’s actual question: whether two appearances meant two people. The solution needed an identity reference as well as a spatial adjustment.

They kept two occurrence boxes, ena-left and ena-right, both referring to the person ID ena. Each box showed its occurrence ID beside the shared person ID. A caption explained that Ena was repeated for navigation. Tavi kept both drawings as two views of the same imagined person, rather than treating one as an error that had to disappear. The chart’s function became clearer without erasing the contribution that the mistaken reading had produced.

The gathering, garden, people and relationships are original fiction created for this guide. The arrows mean the author’s declared fictional relations. They are not evidence about a real family, the meaning of a surname or an inheritance custom. The emotional interpretation concerns how a drawing shaped Tavi’s understanding, not something the program can infer from an ID.

Consider a different name and identity decision. If the two top boxes really were different people both called Ena Vale, reusing the person ID would be wrong. Give them different IDs and preserve their identical literal labels. The tool flags that shared label across different people for editorial attention. A caption might distinguish them by a supplied role, but the software must not silently merge them to make the picture cleaner.

Model identities and appearances separately

The people array contains one to eighty records with exactly id, name and short. IDs are unique and at most forty UTF-16 units. Full and short labels are at most 120 units; the short label may be empty. An occurrence references a person ID and has its own unique ID. The worksheet accepts one to one hundred occurrence boxes.

This separation permits one identity to appear on several branches. It also permits a supplied person to remain unplaced. The identity table lists that record as not placed instead of silently deleting it or inventing a box. Before exporting, decide whether the omission is intentional, a scope boundary for this chart or something that requires another occurrence.

Labels are literal author data. Matching surnames do not prove relationships. Equal full names do not prove that two person records are duplicates. Conversely, different labels on other production documents do not establish different people. Make those decisions explicitly in the source records; a layout engine should not settle them through a spelling shortcut.

The full-label mode uses name. Short-label mode uses short when it is supplied and falls back to the full name otherwise. Every fallback is reported. A short form is a display choice rather than a replacement identity, and choosing it may remove a useful distinction between two boxes. Inspect the same-label findings after changing the mode, particularly when several people share a familiar form.

Give arrows a meaning before asking them to fit

Links contain only from and to occurrence IDs. Up to 160 unique directed links are permitted. Both endpoints must exist, self-links are rejected and the entire occurrence graph must be acyclic. A cycle is an explicit input conflict; the engine does not break it by inventing a missing generation or silently removing a relationship.

The direction means whatever the author’s caption declares. You might use arrows to represent a restricted fictional relation for one production sheet. That choice does not automatically generalize to every family structure or to a historical convention. Keep the caption specific enough that a collaborator knows which relations the chart includes and which it intentionally leaves outside its scope.

Layers are derived from the directed graph using longest incoming paths. They establish a drawing order, not a calendar. A box on a lower layer is not automatically younger, and two boxes on one layer need not be contemporaries. If chronology matters, provide it elsewhere or choose a diagram whose explicit model includes dates. Do not ask visual alignment to carry information that was never entered.

Top-to-bottom and left-to-right modes change actual node coordinates and link endpoints. Within-layer spacing and between-layer spacing also change the geometry. These are meaningful production controls: a wide page and a narrow appendix may need different arrangements while preserving the same person and occurrence IDs. Changing orientation does not change who belongs to which authored relation.

Read the first layout as an estimate

Before a browser capture, the diagram uses disclosed text-width estimates based on the supplied labels, IDs and font size. It labels this mode estimated and keeps the result partial. Such a drawing can help you spot a missing box or an obvious branch problem, but it is not a typography proof. Different fonts, scripts and shaping behavior can make character-count estimates inaccurate.

The configured family is Georgia with a serif fallback, at a supplied size from ten to forty pixels. The browser capture waits for this document’s fonts, measures the literal main label and the smaller ID line, then uses the larger width plus padding. It preserves the name on one line. The ID text matters because a tiny name can still require a wider box for its explicit reference.

Captured dimensions are tied to the current labels and font settings through an exact source key. Changing full versus short mode, a name, an occurrence ID or the font size requires a new capture. Old dimensions produce an explicit conflict. You can clear them to return to estimates, but the page will again disclose that reduced assurance rather than pretending that a previous measurement still applies.

The measurement record is supplied data with a documented capture method, not independent authentication. A restored file can contain manually edited dimensions, and the program cannot certify where another person obtained them. Recapture in the browser and environment used for production. Orientation, spacing and target-frame changes can reuse the same text dimensions because they change placement rather than the labels being measured.

Improve crossings without promising an impossible perfect chart

The initial layered drawing has a deterministic order. The tool performs eight alternating barycentric ordering sweeps, looking at the relative positions of incoming or outgoing neighbors. It retains a candidate only when the count of proper straight-segment crossings decreases. If no improvement occurs, it keeps the earlier drawing rather than presenting movement as evidence of progress.

This is a bounded layout heuristic. It does not certify a globally minimal crossing count or discover the best artistic composition. The report shows the initial and retained counts so that you can assess the actual change. A small crossed pair can become uncrossed, while a dense relation graph may retain problems that require a different editorial arrangement.

Shared endpoints are excluded from proper-crossing counts because several relations can legitimately meet at a box. Collinear contacts and every possible visual confusion are not certified by this metric. The tool separately reports when a straight link intersects an unrelated box. That matters even in a chart whose pairwise crossing number is zero: a line through someone’s label can still misdirect a reader.

Node rectangles are checked for overlap. The exported drawing preserves the actual retained positions instead of quietly nudging boxes after the report was computed. Review the SVG and the findings together. If a link obstruction remains, changing the chart’s scope or splitting it into explicitly connected views may be more honest than reducing every label until the problem becomes hard to see.

Treat the frame as a production constraint

The target frame accepts widths and heights from 200 to 4,000 pixels. The diagram reports its actual overall dimensions and identifies boxes extending beyond the frame. It does not shrink the whole artwork merely to turn an overflow finding green. A ten-pixel name may technically fit but fail the reading conditions of the finished page.

Increasing the frame, reducing declared spacing or switching orientation are different interventions. Each has a different effect on the reader’s route through the branches. Try one change at a time and inspect the resulting coordinates. If using short labels, verify that they still distinguish people and that any full-name reference remains available in the accompanying material.

The on-page diagram has its own horizontal viewing area when it is wider than the panel. The document itself should remain usable on a phone. Moving within the drawing is a preview convenience, not evidence that a printed frame can contain it. Use the actual dimensions and overflow list when preparing a page, a game texture or an appendix.

Export an accountable picture

The private SVG includes visible occurrence and person IDs, accessible title and description text, exact retained coordinates and metadata carrying the source key, dimension mode and private story context. Names are escaped as literal text. A name containing markup-like characters is not interpreted as executable SVG content.

The download control checks the current worksheet against the displayed layout before exporting. Editing a label or relation and then clicking an old download asks you to recompute first. This guards against a plausible-looking picture that no longer matches its source. The private audit additionally retains the complete structured layout and findings for a collaborator who needs to trace a box back to its record.

Copying a result, saving favorites and comparing people preserve their occurrence references and the author’s caption. A project restore recovers editable inputs rather than turning the diagram into an independently reviewed family history. All these artifacts can contain private story information. Review their scope before sharing them with readers, performers or a public documentation site.

Revise the explanation as carefully as the geometry

After fitting the diagram, read it as someone who has not seen the source JSON. Can they recognize repeated appearances of one identity? Can they tell a deliberate namesake from an accidental merge? Does the caption explain the arrows without asking the reader to infer a social or biological relation from proximity alone? Those questions extend beyond rectangle overlap.

Return to Tavi’s two drawings. Removing a box could have made the page simpler while leaving the misunderstanding intact. Keeping an explicit identity reference made repetition understandable and gave the contribution a place in the finished display. In your own story, name-bearing diagrams can shape belonging and mistaken assumptions; their IDs and captions are part of that writing decision, not merely technical leftovers.

Does repeating a box create a second person?

No. Different occurrence IDs can reference one person ID. Keep that common reference visible; separate person IDs are required when the boxes truly represent different namesakes.

Are the diagram layers generations?

They are longest-path drawing layers from your directed arrows. They do not infer ages, blood relationships, household membership or legal inheritance. Define the arrow meaning in your caption.

Does a saved browser dimension record prove it was measured?

No. The source key rejects dimensions that do not match current labels and font, but does not authenticate who created the record. Recapture in the current production browser; {} explicitly returns to estimates.

Does zero crossing mean the chart is ready to print?

No. Inspect frame overflow, line-through-box findings, identical labels and actual reading conditions. Shared endpoints and collinear contacts are not counted as proper crossings, and the layout heuristic does not certify a global optimum.

Method references and scope

This page’s methods and fixtures are original creative-production models. The guide states their assumptions and limits; no external historical or cultural authority is implied.