"""a seed-library handoff figure

Generated from src/content/docs/reference/render-svg.md.
Run with the documented Fieldwork release in a writable directory.
Exports are saved there using the filenames shown in the walkthrough.
"""

from pathlib import Path

import pandas as pd
import fieldwork as fw

packets = pd.DataFrame(
    [("East", "Beans")] * 4
    + [("East", "Herbs")] * 2
    + [("West", "Beans")]
    + [("West", "Herbs")] * 3
    + [("West", "Flowers")] * 2,
    columns=["branch", "seed"],
)
counts = (
    packets.groupby(["branch", "seed"])
    .size()
    .reset_index(name="packets")
)
print(counts.to_string(index=False))

result = fw.profile(packets, ["branch", "seed"], pairs=False)
full_svg = fw.render_svg(result, section="census", view="tree")
Path("render_svg.svg").write_text(full_svg, encoding="utf-8")

figure_data = fw.visualization_data(
    result, section="census", detail="full"
)
leaves = [row for row in figure_data["rows"] if row["depth"] == 2]
for row in leaves:
    print(
        f"{row['parent_label']} / {row['label']}: {row['count']} packets; "
        f"{row['share']:.1%} of all; {row['parent_share']:.1%} of branch"
    )

topology_svg = fw.render_svg(
    result, section="census", view="tree", detail="topology"
)
Path("render_svg-topology.svg").write_text(
    topology_svg, encoding="utf-8"
)

shallow = fw.profile(
    packets, ["branch", "seed"], pairs=False, census={"max_depth": 1}
)
shallow_svg = fw.render_svg(shallow, section="census", view="tree")
Path("branches-only.svg").write_text(shallow_svg, encoding="utf-8")
