Skip to content

refactor(app,components): Move labware positioning to the parent and support labware schema 3 #18557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 23 commits into
base: edge
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
05a5d19
Explain opentrons_universal_flat_adapter xDimension override.
SyntaxColoring May 22, 2025
cf4f528
Document RobotWorkSpace.
SyntaxColoring May 22, 2025
3ad23c0
New helper. WIP: Needs tests and I'm not sure if this is the right th…
SyntaxColoring May 22, 2025
6c4ffd2
Add a documentation comment for LabwareRender.
SyntaxColoring May 23, 2025
2cdce48
Todo comment for the scope of StaticLabwareComponent.
SyntaxColoring May 23, 2025
88d13ec
Rip translation and rotation transforms out of LabwareRender and Labw…
SyntaxColoring May 23, 2025
ac3afd8
Audit all uses of Labware and LabwareRender and leave todo comments.
SyntaxColoring Jun 3, 2025
9683b75
WIP: getLabwareViewBox util. Needs tests.
SyntaxColoring Jun 3, 2025
027fa71
Update LabwareOutline to not assume quadrant I.
SyntaxColoring May 30, 2025
2e45d2b
app: Update <LabwareCard> and <Gallery>.
SyntaxColoring Jun 3, 2025
36822a1
labware-library: Update <Gallery>.
SyntaxColoring Jun 3, 2025
71ee938
refactor: Move a hard-coded deck viewbox into a constant.
SyntaxColoring Jun 3, 2025
c5bcaaa
vector math helpers: Consolidate existing helpers into a single file.
SyntaxColoring Jun 5, 2025
2ccdc45
vector math helpers: Add getVectorInverse().
SyntaxColoring Jun 5, 2025
0325bee
vector math helpers: Handle an arbitrary number of operands.
SyntaxColoring Jun 3, 2025
010a35e
vector math helpers: Add coordinateTupleToVector3D() converter.
SyntaxColoring Jun 4, 2025
4c56a5a
refactor: Correct <RobotWorkSpace>'s deckSlotsById to addressableArea…
SyntaxColoring Jun 5, 2025
f1e9837
Add getDeckSlotOriginToLabwareOrigin helper.
SyntaxColoring Jun 5, 2025
4b02e6f
Document RobotCoordsText.
SyntaxColoring Jun 5, 2025
1f7eb75
Update CalibrationBlockRender.
SyntaxColoring Jun 6, 2025
7671b23
Update CalibrationLabwareRender.
SyntaxColoring Jun 6, 2025
dfe26bb
Update LabwareListItem.
SyntaxColoring Jun 6, 2025
e35965c
Update SlotDetailModal.
SyntaxColoring Jun 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,40 @@
import {
getIsTiprack,
getLabwareDisplayName,
getSchema2Dimensions,
getLabwareViewBox,
} from '@opentrons/shared-data'

import styles from './styles.module.css'

import type { CoordinateTuple, LabwareDefinition } from '@opentrons/shared-data'
import type { LabwareDefinition, Vector2D } from '@opentrons/shared-data'

interface CalibrationLabwareRenderProps {
labwareDef: LabwareDefinition
slotDefPosition: CoordinateTuple | null
labwarePosition: Vector2D /** The labware will be translated so its origin is here. */
}

export function CalibrationLabwareRender(
props: CalibrationLabwareRenderProps
): JSX.Element {
const { labwareDef, slotDefPosition } = props
const { labwareDef, labwarePosition } = props

Check warning on line 25 in app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx#L25

Added line #L25 was not covered by tests

const title = getLabwareDisplayName(labwareDef)
const dimensions = getSchema2Dimensions(labwareDef)
const isTiprack = getIsTiprack(labwareDef)

const { minX, minY, xDimension, yDimension } = getLabwareViewBox(labwareDef)

Check warning on line 30 in app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx#L30

Added line #L30 was not covered by tests

return (
<g
transform={`translate(${String(slotDefPosition?.[0])}, ${String(
slotDefPosition?.[1]
)})`}
>
<g transform={`translate(${labwarePosition.x}, ${labwarePosition.y})`}>

Check warning on line 33 in app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx#L33

Added line #L33 was not covered by tests
{
// TODO: we can change this boolean to check to isCalibrationBlock instead of isTiprack to render any labware
isTiprack ? (
<>
<LabwareRender definition={labwareDef} />
<RobotCoordsForeignDiv
width={dimensions.xDimension}
height={dimensions.yDimension}
x={0}
y={0 - dimensions.yDimension}
width={xDimension}
height={yDimension}
x={minX}
y={minY - yDimension}

Check warning on line 43 in app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/CalibrationLabwareRender.tsx#L40-L43

Added lines #L40 - L43 were not covered by tests
transformWithSVG
innerDivProps={{ className: styles.labware_ui_wrapper }}
>
Expand Down
74 changes: 51 additions & 23 deletions app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,23 @@
SPACING,
} from '@opentrons/components'
import {
coordinateTupleToVector3D,
getDeckDefinitions,
getDeckSlotOriginToLabwareOrigin,
getLabwareDisplayName,
getPositionFromSlotId,
getVectorSum,
} from '@opentrons/shared-data'

import { NeedHelpLink } from '/app/molecules/OT2CalibrationNeedHelpLink'
import * as Sessions from '/app/redux/sessions'

import { CalibrationLabwareRender } from './CalibrationLabwareRender'

import type { AddressableArea } from '@opentrons/shared-data'
import type { CalibrationPanelProps } from './types'

const TIPRACK = 'tip rack'
const DECK_VIEW_BOX = '-46 -10 488 390'

Check warning on line 33 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L33

Added line #L33 was not covered by tests

export function DeckSetup(props: CalibrationPanelProps): JSX.Element {
const deckDef = useMemo(() => getDeckDefinitions().ot2_standard, [])
Expand Down Expand Up @@ -109,31 +112,56 @@
]}
deckDef={deckDef}
showDeckLayers
viewBox={`-46 -10 ${488} ${390}`} // TODO: put these in variables
viewBox={DECK_VIEW_BOX}

Check warning on line 115 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L115

Added line #L115 was not covered by tests
>
{({ deckSlotsById }) =>
map(deckSlotsById, (slot: AddressableArea, slotId) => {
if (!slot.matingSurfaceUnitVector) return null // if slot has no mating surface, don't render anything in it
let labwareDef = null
if (String(tipRack?.slot) === slotId) {
labwareDef = tipRack?.definition
} else if (
calBlock != null &&
String(calBlock?.slot) === slotId
) {
labwareDef = calBlock?.definition
}
{({ addressableAreasById }) =>
map(
addressableAreasById,
(addressableArea, addressableAreaName) => {
if (!addressableArea.matingSurfaceUnitVector) {

Check warning on line 121 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L117-L121

Added lines #L117 - L121 were not covered by tests
// if slot has no mating surface, don't render anything in it
return null
}

Check warning on line 124 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L123-L124

Added lines #L123 - L124 were not covered by tests

let labwareDef = null
if (String(tipRack?.slot) === addressableAreaName) {
labwareDef = tipRack?.definition
} else if (
calBlock != null &&
String(calBlock?.slot) === addressableAreaName
) {
labwareDef = calBlock?.definition
}
if (labwareDef === null) {
return null
}

Check warning on line 137 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L126-L137

Added lines #L126 - L137 were not covered by tests

const slotDefPosition = getPositionFromSlotId(slot.id, deckDef)
const slotOrigin = getPositionFromSlotId(
addressableArea.id,
deckDef
)
if (slotOrigin === null) {
return null // Shouldn't happen.
}

Check warning on line 145 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L139-L145

Added lines #L139 - L145 were not covered by tests

return labwareDef != null ? (
<CalibrationLabwareRender
key={slotId}
slotDefPosition={slotDefPosition}
labwareDef={labwareDef}
/>
) : null
})
const slotOriginToLabwareOrigin = getDeckSlotOriginToLabwareOrigin(
addressableArea,
labwareDef
)
const labwarePosition = getVectorSum(
coordinateTupleToVector3D(slotOrigin),
slotOriginToLabwareOrigin
)

Check warning on line 154 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L147-L154

Added lines #L147 - L154 were not covered by tests

return labwareDef != null ? (
<CalibrationLabwareRender
key={addressableAreaName}
labwarePosition={labwarePosition}
labwareDef={labwareDef}

Check warning on line 160 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L156-L160

Added lines #L156 - L160 were not covered by tests
/>
) : null
}
)

Check warning on line 164 in app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/CalibrationPanels/DeckSetup.tsx#L162-L164

Added lines #L162 - L164 were not covered by tests
}
</RobotWorkSpace>
</Flex>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
} from '@opentrons/components'
import { useCreateLiveCommandMutation } from '@opentrons/react-api-client'
import {
getLabwareViewBox,
getModuleType,
getSchema2CornerOffsetFromSlot,
getSchema2Dimensions,
Expand Down Expand Up @@ -395,13 +396,10 @@
definition: LabwareDefinition
}): JSX.Element {
const { definition } = props
const cornerOffsetFromSlot = getSchema2CornerOffsetFromSlot(definition)
const dimensions = getSchema2Dimensions(definition)
const { minX, minY, xDimension, yDimension } = getLabwareViewBox(definition)

Check warning on line 399 in app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx#L399

Added line #L399 was not covered by tests

return (
<LabwareThumbnail
viewBox={`${cornerOffsetFromSlot.x} ${cornerOffsetFromSlot.y} ${dimensions.xDimension} ${dimensions.yDimension}`}
>
<LabwareThumbnail viewBox={`${minX} ${minY} ${xDimension} ${yDimension}`}>

Check warning on line 402 in app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx#L402

Added line #L402 was not covered by tests
<LabwareRender
definition={definition}
wellLabelOption={WELL_LABEL_OPTIONS.SHOW_LABEL_INSIDE}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
TYPOGRAPHY,
} from '@opentrons/components'
import {
getLabwareViewBox,
getSchema2CornerOffsetFromSlot,
getSchema2Dimensions,
parseLiquidsInLoadOrder,
Expand Down Expand Up @@ -90,10 +91,7 @@
)

const labwareDefinition = definitionsByURI[selectedLabware.definitionUri]
const labwareCornerOffsetFromSlot = getSchema2CornerOffsetFromSlot(
labwareDefinition
)
const labwareDimensions = getSchema2Dimensions(labwareDefinition)
const labwareViewBox = getLabwareViewBox(labwareDefinition)

Check warning on line 94 in app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SlotDetailModal.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SlotDetailModal.tsx#L94

Added line #L94 was not covered by tests

const commands = protocolData?.commands ?? []
const liquids = parseLiquidsInLoadOrder(
Expand Down Expand Up @@ -229,7 +227,7 @@
) : null}
</Flex>
<LabwareThumbnail
viewBox={`${labwareCornerOffsetFromSlot.x} ${labwareCornerOffsetFromSlot.y} ${labwareDimensions.xDimension} ${labwareDimensions.yDimension}`}
viewBox={`${labwareViewBox.minX} ${labwareViewBox.minY} ${labwareViewBox.xDimension} ${labwareViewBox.yDimension}`}

Check warning on line 230 in app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SlotDetailModal.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SlotDetailModal.tsx#L230

Added line #L230 was not covered by tests
width={
selectedLiquidId != null && isVariedStack ? '20rem' : '29rem'
}
Expand Down
10 changes: 4 additions & 6 deletions app/src/organisms/Desktop/Labware/LabwareCard/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
import {
getLabwareDefIsStandard,
getLabwareDisplayName,
getSchema2CornerOffsetFromSlot,
getSchema2Dimensions,
getLabwareViewBox,
} from '@opentrons/shared-data'

import { UNIVERSAL_FLAT_ADAPTER_X_DIMENSION } from '../LabwareDetails/Gallery'
Expand All @@ -44,13 +43,12 @@
const displayCategory = startCase(definition.metadata.displayCategory)
const isCustomDefinition = !getLabwareDefIsStandard(definition)

const cornerOffsetFromSlot = getSchema2CornerOffsetFromSlot(definition)
const dimensions = getSchema2Dimensions(definition)
const viewBox = getLabwareViewBox(definition)

Check warning on line 46 in app/src/organisms/Desktop/Labware/LabwareCard/index.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Labware/LabwareCard/index.tsx#L46

Added line #L46 was not covered by tests

const xDimensionOverride =
definition.parameters.loadName === 'opentrons_universal_flat_adapter'
? UNIVERSAL_FLAT_ADAPTER_X_DIMENSION
: dimensions.xDimension
: viewBox.xDimension

Check warning on line 51 in app/src/organisms/Desktop/Labware/LabwareCard/index.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Labware/LabwareCard/index.tsx#L51

Added line #L51 was not covered by tests

return (
<Box
Expand All @@ -70,7 +68,7 @@
>
<Box id="LabwareCard_labwareImage" marginRight={SPACING.spacing24}>
<RobotWorkSpace
viewBox={`${cornerOffsetFromSlot.x} ${cornerOffsetFromSlot.y} ${xDimensionOverride} ${dimensions.yDimension}`}
viewBox={`${viewBox.minX} ${viewBox.minY} ${xDimensionOverride} ${viewBox.yDimension}`}

Check warning on line 71 in app/src/organisms/Desktop/Labware/LabwareCard/index.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Labware/LabwareCard/index.tsx#L71

Added line #L71 was not covered by tests
>
{() => <LabwareRender definition={definition} />}
</RobotWorkSpace>
Expand Down
22 changes: 12 additions & 10 deletions app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,18 @@
SPACING,
SPACING_AUTO,
} from '@opentrons/components'
import {
getSchema2CornerOffsetFromSlot,
getSchema2Dimensions,
} from '@opentrons/shared-data'
import { getLabwareViewBox } from '@opentrons/shared-data'

import { labwareImages } from './labware-images'

import type { LabwareDefinition } from '@opentrons/shared-data'

/**
* opentrons_universal_flat_adapter has a protrusion on one side, but the `dimensions`
* in the current version of the definition (v1) do not include it. This is a
* replacement xDimension that includes the protrusion so it doesn't get clipped off
* when we render an SVG of the adapter.
*/
export const UNIVERSAL_FLAT_ADAPTER_X_DIMENSION = 127.4

export interface GalleryProps {
Expand All @@ -29,20 +32,19 @@
export function Gallery(props: GalleryProps): JSX.Element {
const { definition } = props
const { parameters: params } = definition
const dims = getSchema2Dimensions(definition)
const cornerOffsetFromSlot = getSchema2CornerOffsetFromSlot(definition)

const xDimension =
const { minX, minY, xDimension, yDimension } = getLabwareViewBox(definition)
const xDimensionOverride =

Check warning on line 37 in app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx#L36-L37

Added lines #L36 - L37 were not covered by tests
params.loadName === 'opentrons_universal_flat_adapter'
? 127.4
: dims.xDimension
? UNIVERSAL_FLAT_ADAPTER_X_DIMENSION
: xDimension

Check warning on line 40 in app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx#L39-L40

Added lines #L39 - L40 were not covered by tests

const [currentImage, setCurrentImage] = useState<number>(0)
const render = (
<Box width="100%">
<RobotWorkSpace
key="center"
viewBox={`${cornerOffsetFromSlot.x} ${cornerOffsetFromSlot.y} ${xDimension} ${dims.yDimension}`}
viewBox={`${minX} ${minY} ${xDimensionOverride} ${yDimension}`}

Check warning on line 47 in app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx

View check run for this annotation

Codecov / codecov/patch

app/src/organisms/Desktop/Labware/LabwareDetails/Gallery.tsx#L47

Added line #L47 was not covered by tests
>
{() => <LabwareRender definition={definition} />}
</RobotWorkSpace>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ export function TwoColLwInfoAndDeck(
def={moduleDef}
x={x}
y={y}
// TODO BEFORE MERGE: Unrelated bug, but should this have been passed to LabwareRender too?
orientation={inferModuleOrientationFromXCoordinate(x)}
>
{nestedLabwareDef != null &&
Expand All @@ -244,6 +245,7 @@ export function TwoColLwInfoAndDeck(
{labwareRenderInfo
.filter(l => l.labwareId !== failedLwId)
.map(({ x, y, labwareDef, labwareId }) => (
// TODO BEFORE MERGE
<g key={labwareId} transform={`translate(${x},${y})`}>
{labwareDef != null && labwareId !== failedLwId ? (
<LabwareRender definition={labwareDef} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,12 @@ export function MoveLabwareInterventionContent({
def={moduleDef}
x={x}
y={y}
// TODO BEFORE MERGE: Same thing, should this have been passed to LabwareRender
orientation={inferModuleOrientationFromXCoordinate(x)}
>
{nestedLabwareDef != null &&
nestedLabwareId !== command.params.labwareId ? (
// TODO BEFORE MERGE: Needs-to-labware coords, I think
<LabwareRender definition={nestedLabwareDef} />
) : null}
</Module>
Expand All @@ -228,6 +230,7 @@ export function MoveLabwareInterventionContent({
{labwareRenderInfo
.filter(l => l.labwareId !== command.params.labwareId)
.map(({ x, y, labwareDef, labwareId }) => (
// TODO BEFORE MERGE
<g key={labwareId} transform={`translate(${x},${y})`}>
{labwareDef != null &&
labwareId !== command.params.labwareId ? (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export function LPCLabwareJogRender({

return (
<Flex css={RENDER_CONTAINER_STYLE}>
{/* TODO BEFORE MERGE: Is this right? This seems too small to be a deck map viewbox. Is this actually supposed to be a bounding box around the labware? If so, it needs updates for schema 3. */}
<RobotWorkSpace viewBox={DECK_MAP_VIEWBOX}>
{() => (
<>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ export const JogToWell = (props: JogToWellProps): JSX.Element | null => {
<LiveOffsetValue {...liveOffset} />
</Flex>
<Flex flex="1" alignItems={ALIGN_CENTER} gridGap={SPACING.spacing20}>
{/* TODO BEFORE MERGE: Same questions about DECK_MAP_VIEWBOX */}
<RobotWorkSpace viewBox={DECK_MAP_VIEWBOX}>
{() => (
<>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ export const LabwareLiquidsDetailModal = (
<Flex justifyContent={JUSTIFY_SPACE_BETWEEN} gridGap={SPACING.spacing32}>
<Flex>
<LabwareThumbnail
// TODO BEFORE MERGE
viewBox={`${labwareCornerOffsetFromSlot.x} ${labwareCornerOffsetFromSlot.y} ${labwareDimensions.xDimension} ${labwareDimensions.yDimension}`}
>
{labwareRender}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ export function SetupLabwareStackView({
</StyledText>
) : null}
<LabwareThumbnail
// TODO BEFORE MERGE
viewBox={`${labwareCornerOffsetFromSlot.x} ${labwareCornerOffsetFromSlot.y} ${labwareDimensions.xDimension} ${labwareDimensions.yDimension}`}
>
<g
Expand Down
1 change: 1 addition & 0 deletions app/src/organisms/WellSelection/Selection384Wells.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ export function Selection384Wells({
}
return (
<Flex width="100%">
{/* TODO BEFORE MERGE: Not sure how this is working without a parent <svg>. */}
{labwareRender}
<Flex
flex="1 0 0"
Expand Down
1 change: 1 addition & 0 deletions app/src/organisms/WellSelection/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ export function WellSelection(props: WellSelectionProps): JSX.Element {
})

const labwareRender = (
// TODO BEFORE MERGE
<RobotCoordinateSpace viewBox="0 0 128 86">
<Labware
definition={definition}
Expand Down
Loading
Loading