• Build a blank, schema-valid body part.

    Every field is seeded to the same default the corresponding DataModel schema field (BeingDataModel body.structure.parts[]) initializes to, so the returned object round-trips a Foundry update() into the structure's parts array without validation churn. Kept Foundry-free so the sohl.entity.body.BodyPart editor can seed a valid blank without a live DataModel.

    Hit locations are not nested here — they live in the structure's flat locations array and name this part via bodyPartCode (#780).

    Parameters

    • name: string = "Body Part"

      The display name for the new part (defaults to "Body Part").

    • shortcode: string = ""

      The part's shortcode (defaults to blank; assigned by the caller's add flow).

    • bodyZoneCode: string = ""

      Shortcode of the owning zone (defaults to blank; stamped by sohl.entity.body.BodyZone.addPartUpdate).

    Returns sohl.entity.body.BodyPart.Data

    A fully-populated BodyPart.Data with default values.