Add support for 3D printed rack-mount solutions, including internal multi-splits. #484
Replies: 4 comments
-
|
Thanks for this detailed submission @dirtyformal! (also love that name, hah) I appreciate your thoughts & encouragement. This is certainly a nuanced approach that is worth considering. You're right it is somewhat overlapping with existing work as you mentioned, my thought is #159 is the 'parent' to all of this conceptually. Though, to your point, this might be (somewhat) easily achieved through a basic CSS grid approach. Basically HTML tables again, hah. I will see what we can do to get this in efficiently as this concept of subdividing a shelf is something that is pertinent to almost every single homelabber so I see the value in including it. |
Beta Was this translation helpful? Give feedback.
-
Analysis CompleteThank you for the detailed feature request! This use case has been analyzed alongside related issues (#146 half-width devices, #143 shelf items) and incorporated into epic #159 (Flexible Device Layouts). How This Will WorkYour 3D printed enclosures with internal bays will be supported through a container device concept:
Visual ExampleImplementation OrderThis issue depends on foundational work from #146 and #143: Each phase builds on the previous - #146 establishes horizontal positioning, #143 introduces parent/child container concept, and #372 adds slotted grid containers. Device LibraryWe'll include both:
Added to v0.8.0 milestone as part of epic #159. |
Beta Was this translation helpful? Give feedback.
-
Dependency UpdatePer the Layout Work Plan, this issue now depends on #452 (Container model schema foundation). Implementation Order
The container schema work (#452) extracts the foundation work from this issue:
This issue (#372) then focuses on:
This dependency ensures the same container model also works for #143 (shelves) and #73 (blade chassis). |
Beta Was this translation helpful? Give feedback.
-
|
Converted to discussion as it is not a specifically actionable issue (but has plenty of em related!) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Support 3D printed rack-mount enclosures (OpenRack, RackMod, etc.) that contain multiple devices in defined bays/slots.
Problem
Users have 3D printed rack enclosures with internal bays:
Each enclosure is a single rack unit with multiple internal "bays" for mini PCs, SBCs, etc. Current workaround is text annotations, which isn't ideal.
Solution: Container Devices with Slots
Container devices define their internal slot layout. Child devices are placed into specific slots.
Data Model
Example: 1U Enclosure with 70/30 Split
Implementation
Depends on: #146 (half-width foundation)
slotsto DeviceType,container_id+slot_idto PlacedDeviceSlot Editor UX
Simple approach for defining slots:
Acceptance Criteria
slotsarray on DeviceType schema (id, width_fraction, label)container_idandslot_idon PlacedDevice schemaConstraints
Files to Modify
src/lib/types/index.ts- slots on DeviceType, container fields on PlacedDevicesrc/lib/schemas/index.ts- Zod schemas with slot validationsrc/lib/components/RackDevice.svelte- Container rendering with slotssrc/lib/components/SlotEditor.svelte- New component for slot configurationsrc/lib/stores/layout.svelte.ts- Container placement logicsrc/lib/utils/collision.ts- Container-aware collisionOriginal request from @username - thank you for the detailed feature request and images!
🤖 Generated with Claude Code
Beta Was this translation helpful? Give feedback.
All reactions