% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/graph_helpers.R
\name{porous_cube_surface_helpers}
\alias{porous_cube_surface_helpers}
\alias{cube.periodic.tunnels.surface.embedding}
\alias{cube.periodic.tunnels.surface.graph}
\alias{cube.asymmetric.cavities.surface.embedding}
\alias{cube.asymmetric.cavities.surface.graph}
\alias{cube.channel.network.surface.embedding}
\alias{cube.channel.network.surface.graph}
\title{Weighted porous cube-mask surface helpers}
\usage{
cube.periodic.tunnels.surface.embedding(
  level = 2,
  side = 5,
  tunnel_width = 1,
  tunnel_period = 2,
  tunnel_offset = 2,
  surface = c("standard", "bulged", "twisted", "wavy"),
  amplitude = 0.2,
  freq = 2,
  twist = 0.6,
  x_scale = 1,
  y_scale = 1,
  z_scale = 1
)

cube.periodic.tunnels.surface.graph(
  level = 2,
  side = 5,
  tunnel_width = 1,
  tunnel_period = 2,
  tunnel_offset = 2,
  surface = c("standard", "bulged", "twisted", "wavy"),
  amplitude = 0.2,
  freq = 2,
  twist = 0.6,
  x_scale = 1,
  y_scale = 1,
  z_scale = 1,
  normalize = c("median", "mean", "none")
)

cube.asymmetric.cavities.surface.embedding(
  level = 2,
  side = 5,
  cavity_size = 2,
  pocket_size = max(1L, cavity_size - 1L),
  surface = c("standard", "bulged", "twisted", "wavy"),
  amplitude = 0.2,
  freq = 2,
  twist = 0.6,
  x_scale = 1,
  y_scale = 1,
  z_scale = 1
)

cube.asymmetric.cavities.surface.graph(
  level = 2,
  side = 5,
  cavity_size = 2,
  pocket_size = max(1L, cavity_size - 1L),
  surface = c("standard", "bulged", "twisted", "wavy"),
  amplitude = 0.2,
  freq = 2,
  twist = 0.6,
  x_scale = 1,
  y_scale = 1,
  z_scale = 1,
  normalize = c("median", "mean", "none")
)

cube.channel.network.surface.embedding(
  level = 2,
  side = 5,
  channel_width = 1,
  branch_offset = 2,
  surface = c("standard", "bulged", "twisted", "wavy"),
  amplitude = 0.2,
  freq = 2,
  twist = 0.6,
  x_scale = 1,
  y_scale = 1,
  z_scale = 1
)

cube.channel.network.surface.graph(
  level = 2,
  side = 5,
  channel_width = 1,
  branch_offset = 2,
  surface = c("standard", "bulged", "twisted", "wavy"),
  amplitude = 0.2,
  freq = 2,
  twist = 0.6,
  x_scale = 1,
  y_scale = 1,
  z_scale = 1,
  normalize = c("median", "mean", "none")
)
}
\arguments{
\item{level}{Recursion depth. Must be at least \code{1}.}

\item{side}{Side length of the base cubic keep-array.}

\item{tunnel_width}{Width of each removed tunnel band.}

\item{tunnel_period}{Spacing between successive tunnel bands.}

\item{tunnel_offset}{Starting index of the first tunnel band.}

\item{surface}{Cube-mask geometry family. One of \code{"standard"},
\code{"bulged"}, \code{"twisted"}, or \code{"wavy"}.}

\item{amplitude}{Finite deformation amplitude.}

\item{freq}{Positive modulation frequency used only when
\code{surface = "wavy"}.}

\item{twist}{Finite twist strength used only when
\code{surface = "twisted"}.}

\item{x_scale}{Positive horizontal scaling applied to the canonical cube
coordinates.}

\item{y_scale}{Positive vertical scaling applied to the canonical cube
coordinates.}

\item{z_scale}{Positive depth scaling applied to the canonical cube
coordinates.}

\item{normalize}{Normalization applied to the induced edge lengths. One of
\code{"median"}, \code{"mean"}, or \code{"none"}.}

\item{cavity_size}{Side length of the larger interior cavity block.}

\item{pocket_size}{Side length of the smaller secondary cavity block.}

\item{channel_width}{Width of each removed channel in the channel-network
family.}

\item{branch_offset}{Interior offset of the extra branch channel in the
channel-network family.}
}
\value{
Each \code{*.surface.embedding()} helper returns an \code{n x 3} numeric
matrix with columns \code{x}, \code{y}, and \code{z}.

Each \code{*.surface.graph()} helper returns the same components as
\code{recursive.cube.mask.surface.graph()}, with a family-specific
\code{family} field, class, and label.
}
\description{
Convenience wrappers around \code{recursive.cube.mask.surface.*()} for three
named porous cubical families: a periodic tunnel lattice, an asymmetric
cavity family, and a deterministic channel network. Each family uses a
reusable base keep-array and then recurses it in exactly the same way as the
generic cube-mask helpers.
}
