ADDED Requirements
Requirement: Provide a configurable bins container component
The system SHALL provide a binsContainerComponent that renders a drawer shell and its internal bins in the current Vue 3 + TresJS component service.
Scenario: Render the component with default settings
- WHEN the component is loaded from
src/dcsConfig.ts with default props
- THEN it MUST render a visible drawer shell and at least one internal bin
Scenario: Keep the component within the default preview camera range
- WHEN drawer and bin values use millimeter-style defaults from the reference project
- THEN the component MUST still remain visible in the existing preview scene without modifying the shared preview views
Requirement: Preserve reference drawer settings behavior
The component MUST preserve the functional meaning of the reference project's box settings.
Scenario: Update drawer dimensions
- WHEN a developer changes
width, height, or depth
- THEN the drawer shell size and available bin layout area MUST update accordingly
Requirement: Preserve reference bin settings behavior
The component MUST preserve the functional meaning of the reference project's bin settings.
Scenario: Update bin geometry settings
- WHEN a developer changes
radius or thickness
- THEN each rendered bin MUST update its corner rounding and wall thickness representation
Scenario: Update layout spacing settings
- WHEN a developer changes
divideWidth, divideDepth, outerGap, or innerGap
- THEN bin layout dimensions and spacing MUST update without breaking rendering
Requirement: Preserve recursive and grid generation settings
The component MUST support both generation modes from the reference project.
Scenario: Use recursive generation
- WHEN
generationType is set to Recursive
- THEN the component MUST generate bins using recursive subdivision controlled by
iterations, divideWidth, and divideDepth
Scenario: Use grid generation
- WHEN
generationType is set to Grid
- THEN the component MUST generate bins using row/column subdivision controlled by
rows and cols
Requirement: Support measurement visibility toggling
The component MUST support the reference project's measurement visibility behavior.
Scenario: Show measurements
- WHEN
showMeasurements is true
- THEN the component MUST display width, height, and depth measurement labels around the drawer
Scenario: Hide measurements
- WHEN
showMeasurements is false
- THEN the component MUST not render the measurement labels
Requirement: Support index number visibility toggling
The component MUST support the reference project's index-number visibility behavior.
Scenario: Show index numbers
- WHEN
showIndexNumbers is true
- THEN each rendered bin MUST display its layout index number
Scenario: Hide index numbers
- WHEN
showIndexNumbers is false
- THEN no bin index labels MUST be rendered
Requirement: Integrate through the shared component registration format
The component MUST follow the repository's unified dynamic-component configuration contract.
Scenario: Register without preview-entry customization
- WHEN the component is added to the service
- THEN it MUST be registered through
src/dcsConfig.ts and MUST NOT require changes to src/views/previewEntry.vue or src/views/templateComponet.vue