Headphone Hook V1
implemented unverified
Under-desk/shelf headphone hook: the J-hook family with a wide flat contact band so the headband rests without creasing, a roomy bay and a taller lip. Same builder as wall_hook_v1 — different proportions, regions emphasis and features.
Built from a real example — orbit to inspect.
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_headphone_hook
archetype: headphone_hook_v1@1
params:
bay_w: 34mm
bay_depth: 50mm
lip_h: 12mm
band_w: 28mm Parameters
| parameter | type | default | range | role | |
|---|---|---|---|---|---|
bay_wbay width — fits the headband arch | length | 34mm | 24mm … 60mm | functional | exposed |
bay_depth | length | 50mm | expr(bay_w / 2 + 12) … 90mm | functional | exposed |
wall | length | 4.5mm | 3mm … 8mm | structural | |
lip_h | length | 12mm | 6mm … expr(bay_depth - bay_w / 2 - 8) | functional | exposed |
band_wwide flat band the headband rests on | length | 28mm | 18mm … 45mm | functional | exposed |
plate_l | length | expr(band_w + 42) | 60mm … 110mm | assembly | |
plate_w | length | 26mm | 18mm … 40mm | assembly | |
plate_t | length | 5mm | 4mm … 9mm | manufacturing | |
screw | choice | M4 | M3 | M4 | M5 | assembly | |
screw_count | count | 2 | 1 … 3 | assembly | |
screw_spacing | length | expr(band_w + 14) | expr(band_w + 13) … expr(plate_l - 10) | assembly | |
mount_hintorientation note only | choice | under_desk | wall | under_desk | functional |
Regions
-
platemounting surface -
screw_zonesfastener keepout -
bay_contactsoft contact surface -
hook_roothigh stress region forbids: add_hex_perforation -
tip_lipretaining flexure
Contract
Guarantees
must-have features and invariants — verified on every build
hook_baytip_lipwide_contact_bandmounting_flangelip_h < bay_depth - bay_w / 2 - 5
Will refuse
explicit prohibitions — the engine refuses to build these
closed_bayboxy_rectangular_hook
Not claimed
what passing validation does not mean
- Provided “as is” under Apache-2.0 — no warranty of fitness for a particular purpose.
Subscribed validators (10)
form.tip_lip_presentform.bay_open_topform.flange_above_cradleform.screw_access_clearform.contact_edges_roundedtopology.single_connected_solidtopology.bay_opentopology.flange_above_cradletopology.screw_holes_opentopology.countersinks_present