-
Notifications
You must be signed in to change notification settings - Fork 0
Preset JSON Format
Preset JSON files in the data folder define the parameters used by the shell-building pipeline. Each preset describes the growth path, shell surface, optional chamber septa, optional siphuncle, and rendering settings for one shell form.
Not every parameter is used by every shell. Some parameters apply only to particular growth modes, shell families, or optional features.
| Parameter | Purpose |
|---|---|
| name | Human-readable name for the preset. |
| description | Short description of the shell form and its main modelling features. |
| geometry | Broad geometry category used to describe the preset, such as log-spiral, centreline-conical, or conical-helix. |
| form | Morphological form label, such as planispiral, straight, curved, high-spired, or flared. |
| family | Biological or modelling family label, such as coiled-cephalopod, straight-shelled-cephalopod, or gastropod. |
The growth section defines the path followed by the aperture as the shell is generated.
| Parameter | Purpose |
|---|---|
| mode | Selects the growth-path model. Current modes include log_spiral, orthocone, cyrtocone, and conical_helix. |
| a | Initial scale parameter for logarithmic spiral and conical helix growth. |
| b | Expansion parameter for logarithmic spiral and conical helix growth. Larger values usually increase shell expansion more quickly. |
| turns | Number of spiral or helical turns to generate. |
| points | Number of sampled growth positions. Higher values produce smoother meshes but increase render cost. |
| aperture_mode | Controls how aperture size is calculated. Common values are proportional and abutting. |
| aperture_width_multiplier | Scales aperture width relative to the growth path size. Used by proportional and centreline growth modes. |
| aperture_height_multiplier | Scales aperture height relative to the growth path size. Used by proportional and centreline growth modes. |
| abutment_scale | Controls aperture size for abutting coiled shells, helping adjacent whorls touch or overlap. |
| abutment_height_ratio | Controls aperture height relative to abutting aperture width. |
| length | Axial length for centreline shells such as orthocones and cyrtocones. |
| initial_radius | Starting aperture radius for centreline shells. |
| growth_rate | Rate at which centreline shell radius changes along the axis. |
| curvature | Curvature applied to centreline shells. null gives a straight orthocone-like axis; non-zero values curve the shell into a cyrtocone-like form. |
| taper_mode | Controls how centreline shell radius changes along the shell. For example, linear gives a linear taper. |
| spire_height | Height of the conical helix spire. Used by conical_helix growth. |
| cone_taper | Controls how strongly a conical helix narrows toward the apex. |
The shell section controls aperture sweep geometry, surface ornamentation, the final aperture lip, and wall thickness.
| Parameter | Purpose |
|---|---|
| z_scale | Adds vertical rise to the shell when no explicit z_path is generated. Useful for raised or open spiral forms. |
| automatic_z_path | When true, derives vertical rise automatically from aperture height and whorl abutment. Used for high-spired forms such as Turritella-like shells. |
| whorl_abutment | Controls automatic spacing between successive whorls when automatic_z_path is enabled. Lower values increase overlap; higher values increase separation. |
| aperture_points | Number of vertices around each aperture ring. Higher values make rounder apertures but increase mesh size. |
| aperture_tilt | Shears the aperture so one side sits higher than the other. Useful for inclined high-spired forms. |
| ribbing_enabled | Enables or disables geometric ribbing. |
| ribbing_amplitude | Strength of ribbing modulation. Larger values create stronger raised ribs or deeper annulations. |
| ribbing_frequency | Frequency of ribs along the growth path. Higher values produce more closely spaced ribs. In segmented mode this is overridden when segment_to_septum_ratio is active. |
| ribbing_mode | Rib profile. sinusoidal preserves the original smooth ribbing; segmented creates broad annular segments separated by grooves. |
| segment_to_septum_ratio | Optional segmented-mode control that locks annulations to chamber spacing when chamber septa are enabled. 1.0 gives one ring per chamber, 2.0 gives two rings per chamber, and 0.5 gives one ring every two chambers. |
| ribbing_groove_width | Fraction of each segmented rib cycle occupied by the groove. Larger values make wider grooves. |
| ribbing_groove_depth | Relative depth of segmented grooves. Larger values make grooves cut more deeply into the raised annular band. |
| lip_enabled | Enables or disables final aperture flare. |
| lip_start | Growth fraction where the final lip flare begins. For example, 0.90 starts the lip during the final 10 percent of growth. |
| lip_strength | Maximum enlargement of the final aperture lip. |
| lip_power | Shape exponent controlling how gradually or abruptly the lip flare develops. |
| wall_enabled | Enables or disables the inner shell wall surface. |
| wall_thickness | Inset distance used to create the inner shell wall. |
| inner_surface_colour_shift | Colour adjustment applied to the inner shell surface. Negative values darken the inner wall. |
The chambers section controls internal septa. These parameters are used only when chamber generation is enabled.
| Parameter | Purpose |
|---|---|
| enabled | Enables or disables chamber septa. |
| chamber_spacing | Distance between successive septa along the chamber-placement coordinate. For coiled shells this is based on growth angle; for orthocones and cyrtocones this is interpreted along the shell axis. |
| septum_rings | Number of nested rings used to build each septum surface. Higher values give smoother septa. |
| septum_depth | Strength of septum concavity. Larger values make septa more deeply curved inward. |
The siphuncle section controls the simplified tube running through chambered cephalopod shells.
| Parameter | Purpose |
|---|---|
| enabled | Enables or disables siphuncle generation. |
| siphuncle_radius | Base radius of the siphuncle tube. |
| siphuncle_taper_enabled | Enables or disables tapering of the siphuncle radius along the shell. |
| siphuncle_taper_power | Shape exponent controlling the taper curve when siphuncle tapering is enabled. |
| siphuncle_min_radius | Minimum siphuncle radius when tapering is enabled. |
| siphuncle_max_radius | Maximum siphuncle radius when tapering is enabled. |
| siphuncle_offset | Offset of the siphuncle from the aperture centre. Higher values place it closer to the shell wall. |
| tube_points | Number of vertices around each siphuncle tube ring. Higher values make a rounder tube. |
| siphuncle_end_fraction | Fraction of shell growth over which to generate the siphuncle. This usually stops the siphuncle before the final body chamber or aperture lip. |
| include_terminal_ring | Controls whether a final terminal siphuncle ring is included. |
| fixed_offset_angle | Optional fixed angular position for the siphuncle offset. null allows the offset to follow shell growth orientation. |
The plotting section contains render settings. Presets usually define separate opaque and transparent render configurations using the same parameter names.
| Parameter | Purpose |
|---|---|
| opaque | Render settings for the opaque shell view. |
| transparent | Render settings for the transparent shell view. |
| Parameter | Purpose |
|---|---|
| enabled | Enables or disables this render configuration. |
| title | Title shown on the rendered Plotly figure. |
| shell_opacity | Opacity of the shell mesh. 1.0 is fully opaque; lower values make the shell translucent. |
| septa_opacity | Opacity of chamber septa. |
| siphuncle_opacity | Opacity of the siphuncle. |
| width | Output image or figure width in pixels. |
| height | Output image or figure height in pixels. |
| hide_axes | Hides or shows the 3D axes. |
| show_wireframe | Shows or hides wireframe-style mesh edges when supported by the plotting path. |
| viewpoint | Named camera viewpoint, such as iso, top, aperture, or presentation. |
| zoom | Camera zoom factor. Smaller values zoom in; larger values zoom out. |