% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/graph_helpers.R
\name{cube_mask_pattern_helpers}
\alias{cube_mask_pattern_helpers}
\alias{mask.cube.periodic.tunnels}
\alias{mask.cube.asymmetric.cavities}
\alias{mask.cube.channel.network}
\title{Cube mask pattern helpers for recursive porous families}
\usage{
mask.cube.periodic.tunnels(
  side = 5,
  tunnel_width = 1,
  tunnel_period = 2,
  tunnel_offset = 2
)

mask.cube.asymmetric.cavities(
  side = 5,
  cavity_size = 2,
  pocket_size = max(1L, cavity_size - 1L)
)

mask.cube.channel.network(side = 5, channel_width = 1, branch_offset = 2)
}
\arguments{
\item{side}{Side length of the 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{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
\code{mask.cube.channel.network()}.}
}
\value{
A logical cubic keep-array.
}
\description{
Convenience constructors for cubic keep-arrays that can be passed to
\code{\link{edges.recursive.cube.mask}()} or
\code{\link{recursive.cube.mask.surface.graph}()} to build cubical porous
benchmark families. These helpers encode three qualitatively different void
patterns: repeated tunnel lattices, interior asymmetric cavities, and
deterministic channel networks.
}
\details{
The returned arrays use the same orientation as the recursive cube-mask
helpers: the first dimension runs from top to bottom, the second from left
to right, and the third from front to back.
}
