Skip to content

Substrate Retainer Frame V1

implemented unverified

Vertical Farm Pack v1: the Snap Retainer Frame — a flat ring plate that clicks onto the coco cassette and holds the mat down LIGHTLY (retention, not compression: coco breathes, roots pass the opening). Four cantilever hooks (two per +-X side) flip down into the cassette's snap windows; the insertion strain and lip engagement are verified by the snap joint in the assembled pose, not hoped for. Everything is open geometry — no pocket a brush cannot reach, nothing that traps water. Removes by hand: flex two hooks, lift.

Declaration example

A minimal product declaration for this archetype — exposed parameters at their defaults. Validate and build it with forge validate / forge build.

schema: product/v1
id: my_substrate_retainer_frame
archetype: substrate_retainer_frame_v1@1

params:
  cassette_l: 220mm
  band_w: 10mm

Parameters

parametertypedefaultrangerole
cassette_lcassette envelope the frame rides — shared with the cassettelength220mm180mm … 236mmassemblyexposed
cassette_wallcassette wall thickness — positions the hooks inside itlength2.4mm2mm … 3.2mmassembly
frame_tlength3mm2.4mm … 4mmstructural
band_wring band width pressing the substrate rimlength10mm8mm … 16mmfunctionalexposed
corner_rlength3mm2mm … 6mmaesthetic
beam_thook beam thickness — thinner flexes easierlength1.6mm1.2mm … 2.2mmstructural
hook_wlength8mm6mm … 12mmstructural
hook_lencantilever length — longer means lower insertion strainlength9mm7mm … 14mmstructural
lip_dlip undercut depth into the snap windowlength1.4mm1mm … 2mmassembly
lip_hlength3mm2mm … 4mmassembly
syY spacing between the two hooks on each sidelength120mm60mm … 200mmassembly

Regions

  • frame_band mounting surface
  • snap_root_0 high stress region
  • snap_root_1 high stress region
  • snap_root_2 high stress region
  • snap_root_3 high stress region

Contract

Guarantees

must-have features and invariants — verified on every build

  • cleanable_snap_interface
  • 1.5 * lip_d * beam_t / (hook_len * hook_len) <= 0.05

Will refuse

explicit prohibitions — the engine refuses to build these

  • uncleanable_snap_cavity

Not claimed

what passing validation does not mean

  • Provided “as is” under Apache-2.0 — no warranty of fitness for a particular purpose.

Built from operations

retainer_frame_bodyframe_snap_hooks

Subscribed validators (8)

interface.frame_existsinterface.frame_orthonormalinterface.normal_points_outwardinterface.up_consistentform.snap_pockets_cleanabletopology.cutout_presenttopology.single_connected_solidtopology.ribs_present