Skip to content

Sprout Cassette V1

implemented unverified

Vertical Farm Pack (wave A1 swap driver): the Sprout Cassette — the SECOND implementor of the Cassette Interface Standard, proving the standard is a standard: same recipe ops, same cassette_*/window_* frame keys, same removable_insert interface — the rail is untouched when this swaps in for the coco cassette. Agronomy differs: a fine 4 mm mesh for small sprout seeds, a shallow 18 mm tray (sprouts need no substrate depth), a gentler contact window (1 mm pulse reach, 14 mm — sized for the standard 16 mm channel). Substrate presets beyond mesh sizing (rockwool cubes, net pots) remain future cassettes, not parameters here.

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_sprout_cassette
archetype: sprout_cassette_v1@1

params:
  cassette_l: 177mm
  cassette_w: 177mm
  cassette_h: 18mm
  mesh_cell: 4mm
  window_w: 14mm
  window_drop: 1mm

Parameters

parametertypedefaultrangerole
cassette_louter envelope X — shared with the rail seatlength177mm160mm … 236mmassemblyexposed
cassette_wouter envelope Y — shared with the rail seatlength177mm160mm … 236mmassemblyexposed
cassette_htray height — the substrate depth budgetlength18mm18mm … 40mmfunctionalexposed
walllength2.4mm2mm … 3.2mmstructural
floor_tlength2mm1.6mm … 3mmstructural
corner_rlength3mm2mm … 6mmaesthetic
mesh_cellsquare mesh opening — fine enough to hold sprout seedslength4mm4mm … 8mmfunctionalexposed
mesh_ribweb between mesh cellslength1.3mm1.2mm … 1.5mmmanufacturing
mesh_marginsolid rim inside the walls before the mesh startslength6mm4mm … 12mmstructural
window_wcontact window width — must drop INSIDE the rail channel (verified in the assembled pose); contact area scales with window_llength14mm8mm … 40mmfunctionalexposed
window_lcontact window length along the flow axislength60mm40mm … 120mmfunctional
window_drophow deep the window reaches into the channel's upper zonelength1mm1mm … 2mmfunctionalexposed
snap_wlength10mm8mm … 14mmassembly
snap_hlength4mm3.5mm … 6mmassembly
snap_top_offsetwindow top below the rim — positions the frame hook lipslength5.5mm4mm … 12mmassembly
snap_offsetY offset of each snap window pair from the centerlength60mm30mm … 100mmassembly
notch_wlength18mm16mm … 30mmfunctional
notch_dlength8mm6mm … 14mmfunctional

Regions

  • contact_window transient water path
  • mesh_canvas substrate support mesh
  • floor aesthetic lightening
  • tray mounting surface

Contract

Guarantees

must-have features and invariants — verified on every build

  • substrate_mesh_floor
  • pulse_contact_window
  • tool_free_removal
  • cleanable_snap_interface
  • mesh_cell >= 4 and mesh_cell <= 8
  • mesh_rib >= 1.2
  • window_drop >= 1.0 and window_drop <= 2.0

Will refuse

explicit prohibitions — the engine refuses to build these

  • permanent_substrate_flooding
  • secondary_water_channel
  • closed_water_reservoir
  • 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

substrate_tray_bodycontact_windowmesh_floorsnap_window_pairsnap_window_pairlift_tabs

Subscribed validators (18)

interface.frame_existsinterface.frame_orthonormalinterface.normal_points_outwardinterface.up_consistentform.shell_walls_okform.mesh_floor_orthogonal_okform.cassette_no_reservoirform.min_ligament_okform.no_secondary_water_channelform.no_standing_water_irform.contact_window_geometry_okform.snap_pockets_cleanableform.lift_access_okform.cuts_respect_keepoutstopology.cutout_presenttopology.single_connected_solidtopology.contact_window_presenttopology.hex_field_present