Disallow segment selection in all sweeps and change Sketches display name to Profiles (#7045)
* Disallow segment selection in sweep, plus displayName: Profiles for clarity Fixes #7044 * Change selection hints for solid2d to be profile instead of face * Update tests * More fixes * Fix tests following behavior change: we don't select segments in code anymore but profiles
This commit is contained in:
@ -36,7 +36,7 @@ test.describe('Command bar tests', () => {
|
||||
await u.closeDebugPanel()
|
||||
|
||||
// Click the line of code for xLine.
|
||||
await page.getByText(`close()`).click() // TODO remove this and reinstate // await topHorzSegmentClick()
|
||||
await page.getByText(`startProfile(at = [-10, -10])`).click()
|
||||
|
||||
await toolbar.extrudeButton.click()
|
||||
await cmdBar.expectState({
|
||||
@ -45,10 +45,10 @@ test.describe('Command bar tests', () => {
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sketches: '',
|
||||
Profiles: '',
|
||||
Length: '',
|
||||
},
|
||||
highlightedHeaderArg: 'sketches',
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -56,7 +56,7 @@ test.describe('Command bar tests', () => {
|
||||
stage: 'review',
|
||||
commandName: 'Extrude',
|
||||
headerArguments: {
|
||||
Sketches: '1 segment',
|
||||
Profiles: '1 profile',
|
||||
Length: '5',
|
||||
},
|
||||
})
|
||||
@ -286,7 +286,7 @@ test.describe('Command bar tests', () => {
|
||||
await cmdBar.cmdOptions.getByText('Extrude').click()
|
||||
|
||||
// Assert that we're on the selection step
|
||||
await expect(page.getByRole('button', { name: 'sketches' })).toBeDisabled()
|
||||
await expect(page.getByRole('button', { name: 'Profiles' })).toBeDisabled()
|
||||
// Select a face
|
||||
await page.mouse.move(700, 200)
|
||||
await page.mouse.click(700, 200)
|
||||
|
@ -1138,7 +1138,7 @@ sketch001 = startSketchOn(XZ)
|
||||
currentArgKey: 'length',
|
||||
currentArgValue: '5',
|
||||
headerArguments: {
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Length: '',
|
||||
},
|
||||
highlightedHeaderArg: 'length',
|
||||
@ -1148,7 +1148,7 @@ sketch001 = startSketchOn(XZ)
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: {
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Length: '5',
|
||||
},
|
||||
commandName: 'Extrude',
|
||||
|
@ -78,8 +78,8 @@ test.describe('Point-and-click tests', () => {
|
||||
stage: 'arguments',
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: { Sketches: '', Length: '' },
|
||||
highlightedHeaderArg: 'sketches',
|
||||
headerArguments: { Profiles: '', Length: '' },
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
commandName: 'Extrude',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -87,7 +87,7 @@ test.describe('Point-and-click tests', () => {
|
||||
stage: 'arguments',
|
||||
currentArgKey: 'length',
|
||||
currentArgValue: '5',
|
||||
headerArguments: { Sketches: '1 face', Length: '' },
|
||||
headerArguments: { Profiles: '1 profile', Length: '' },
|
||||
highlightedHeaderArg: 'length',
|
||||
commandName: 'Extrude',
|
||||
})
|
||||
@ -98,7 +98,7 @@ test.describe('Point-and-click tests', () => {
|
||||
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: { Sketches: '1 face', Length: '5' },
|
||||
headerArguments: { Profiles: '1 profile', Length: '5' },
|
||||
commandName: 'Extrude',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -1634,15 +1634,15 @@ sketch002 = startSketchOn(plane001)
|
||||
stage: 'arguments',
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: { Sketches: '' },
|
||||
highlightedHeaderArg: 'sketches',
|
||||
headerArguments: { Profiles: '' },
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
commandName: 'Loft',
|
||||
})
|
||||
await selectSketches()
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: { Sketches: '2 faces' },
|
||||
headerArguments: { Profiles: '2 profiles' },
|
||||
commandName: 'Loft',
|
||||
})
|
||||
await cmdBar.submit()
|
||||
@ -1658,14 +1658,14 @@ sketch002 = startSketchOn(plane001)
|
||||
stage: 'arguments',
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: { Sketches: '' },
|
||||
highlightedHeaderArg: 'sketches',
|
||||
headerArguments: { Profiles: '' },
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
commandName: 'Loft',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: { Sketches: '2 faces' },
|
||||
headerArguments: { Profiles: '2 profiles' },
|
||||
commandName: 'Loft',
|
||||
})
|
||||
await cmdBar.submit()
|
||||
@ -1830,10 +1830,10 @@ sketch002 = startSketchOn(XZ)
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sectional: '',
|
||||
Sketches: '',
|
||||
Profiles: '',
|
||||
Path: '',
|
||||
},
|
||||
highlightedHeaderArg: 'sketches',
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
stage: 'arguments',
|
||||
})
|
||||
await clickOnSketch1()
|
||||
@ -1844,7 +1844,7 @@ sketch002 = startSketchOn(XZ)
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sectional: '',
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Path: '',
|
||||
},
|
||||
highlightedHeaderArg: 'path',
|
||||
@ -1857,7 +1857,7 @@ sketch002 = startSketchOn(XZ)
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sectional: '',
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Path: '',
|
||||
},
|
||||
highlightedHeaderArg: 'path',
|
||||
@ -1867,7 +1867,7 @@ sketch002 = startSketchOn(XZ)
|
||||
await cmdBar.expectState({
|
||||
commandName: 'Sweep',
|
||||
headerArguments: {
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Path: '1 segment',
|
||||
Sectional: '',
|
||||
},
|
||||
@ -1968,10 +1968,10 @@ profile001 = ${circleCode}`
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sectional: '',
|
||||
Sketches: '',
|
||||
Profiles: '',
|
||||
Path: '',
|
||||
},
|
||||
highlightedHeaderArg: 'sketches',
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
stage: 'arguments',
|
||||
})
|
||||
await editor.scrollToText(circleCode)
|
||||
@ -1983,7 +1983,7 @@ profile001 = ${circleCode}`
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sectional: '',
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Path: '',
|
||||
},
|
||||
highlightedHeaderArg: 'path',
|
||||
@ -1997,7 +1997,7 @@ profile001 = ${circleCode}`
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sectional: '',
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Path: '',
|
||||
},
|
||||
highlightedHeaderArg: 'path',
|
||||
@ -2007,7 +2007,7 @@ profile001 = ${circleCode}`
|
||||
await cmdBar.expectState({
|
||||
commandName: 'Sweep',
|
||||
headerArguments: {
|
||||
Sketches: '1 face',
|
||||
Profiles: '1 profile',
|
||||
Path: '1 helix',
|
||||
Sectional: '',
|
||||
},
|
||||
@ -3691,7 +3691,7 @@ tag=$rectangleSegmentC002,
|
||||
await scene.settled(cmdBar)
|
||||
|
||||
// select line of code
|
||||
const codeToSelection = `segAng(rectangleSegmentA002) - 90,`
|
||||
const codeToSelection = `startProfile(at = [-66.77, 84.81])`
|
||||
// revolve
|
||||
await editor.scrollToText(codeToSelection)
|
||||
await page.getByText(codeToSelection).click()
|
||||
@ -4634,10 +4634,10 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sketches: '',
|
||||
Profiles: '',
|
||||
Length: '',
|
||||
},
|
||||
highlightedHeaderArg: 'sketches',
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
commandName: 'Extrude',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -4646,7 +4646,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'length',
|
||||
currentArgValue: '5',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
Length: '',
|
||||
},
|
||||
highlightedHeaderArg: 'length',
|
||||
@ -4657,7 +4657,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
Length: '1',
|
||||
},
|
||||
commandName: 'Extrude',
|
||||
@ -4728,11 +4728,11 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sketches: '',
|
||||
Profiles: '',
|
||||
Path: '',
|
||||
Sectional: '',
|
||||
},
|
||||
highlightedHeaderArg: 'sketches',
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
commandName: 'Sweep',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -4741,7 +4741,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'path',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
Path: '',
|
||||
Sectional: '',
|
||||
},
|
||||
@ -4754,7 +4754,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
Path: '1 segment',
|
||||
Sectional: '',
|
||||
},
|
||||
@ -4825,11 +4825,11 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'sketches',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sketches: '',
|
||||
Profiles: '',
|
||||
AxisOrEdge: '',
|
||||
Angle: '',
|
||||
},
|
||||
highlightedHeaderArg: 'sketches',
|
||||
highlightedHeaderArg: 'Profiles',
|
||||
commandName: 'Revolve',
|
||||
})
|
||||
await cmdBar.progressCmdBar()
|
||||
@ -4838,7 +4838,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'axisOrEdge',
|
||||
currentArgValue: '',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
AxisOrEdge: '',
|
||||
Angle: '',
|
||||
},
|
||||
@ -4854,7 +4854,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
currentArgKey: 'angle',
|
||||
currentArgValue: '360',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
AxisOrEdge: 'Edge',
|
||||
Edge: '1 segment',
|
||||
Angle: '',
|
||||
@ -4867,7 +4867,7 @@ path001 = startProfile(sketch001, at = [0, 0])
|
||||
await cmdBar.expectState({
|
||||
stage: 'review',
|
||||
headerArguments: {
|
||||
Sketches: '2 faces',
|
||||
Profiles: '2 profiles',
|
||||
AxisOrEdge: 'Edge',
|
||||
Edge: '1 segment',
|
||||
Angle: '180',
|
||||
|
@ -995,8 +995,8 @@ profile001 = startProfile(sketch001, at = [${roundOff(scale * 69.6)}, ${roundOff
|
||||
await u.expectCmdLog('[data-message-type="execution-done"]')
|
||||
await u.closeDebugPanel()
|
||||
|
||||
// click "line(end = [1.32, 0.38])"
|
||||
await page.getByText(`line(end = [1.32, 0.38])`).click()
|
||||
// click profile in code
|
||||
await page.getByText(`startProfile(at = [-0.45, 0.87])`).click()
|
||||
await page.waitForTimeout(100)
|
||||
await expect(page.getByRole('button', { name: 'Edit Sketch' })).toBeEnabled(
|
||||
{ timeout: 10_000 }
|
||||
@ -1014,14 +1014,14 @@ profile001 = startProfile(sketch001, at = [${roundOff(scale * 69.6)}, ${roundOff
|
||||
// click extrude
|
||||
await toolbar.extrudeButton.click()
|
||||
|
||||
// sketch selection should already have been made. "Sketches: 1 face" only show up when the selection has been made already
|
||||
// sketch selection should already have been made.
|
||||
// otherwise the cmdbar would be waiting for a selection.
|
||||
await cmdBar.progressCmdBar()
|
||||
await cmdBar.expectState({
|
||||
stage: 'arguments',
|
||||
currentArgKey: 'length',
|
||||
currentArgValue: '5',
|
||||
headerArguments: { Sketches: '1 segment', Length: '' },
|
||||
headerArguments: { Profiles: '1 profile', Length: '' },
|
||||
highlightedHeaderArg: 'length',
|
||||
commandName: 'Extrude',
|
||||
})
|
||||
|
@ -19,7 +19,8 @@ import type { modelingMachine } from '@src/machines/modelingMachine'
|
||||
const semanticEntityNames: {
|
||||
[key: string]: Array<Artifact['type'] | 'defaultPlane'>
|
||||
} = {
|
||||
face: ['wall', 'cap', 'solid2d'],
|
||||
face: ['wall', 'cap'],
|
||||
profile: ['solid2d'],
|
||||
edge: ['segment', 'sweepEdge', 'edgeCutEdge'],
|
||||
point: [],
|
||||
plane: ['defaultPlane'],
|
||||
|
@ -383,7 +383,8 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig<
|
||||
},
|
||||
sketches: {
|
||||
inputType: 'selection',
|
||||
selectionTypes: ['solid2d', 'segment'],
|
||||
displayName: 'Profiles',
|
||||
selectionTypes: ['solid2d'],
|
||||
multiple: true,
|
||||
required: true,
|
||||
hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit),
|
||||
@ -411,7 +412,8 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig<
|
||||
},
|
||||
sketches: {
|
||||
inputType: 'selection',
|
||||
selectionTypes: ['solid2d', 'segment'],
|
||||
displayName: 'Profiles',
|
||||
selectionTypes: ['solid2d'],
|
||||
multiple: true,
|
||||
required: true,
|
||||
hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit),
|
||||
@ -444,6 +446,7 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig<
|
||||
args: {
|
||||
sketches: {
|
||||
inputType: 'selection',
|
||||
displayName: 'Profiles',
|
||||
selectionTypes: ['solid2d'],
|
||||
multiple: true,
|
||||
required: true,
|
||||
@ -464,7 +467,8 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig<
|
||||
},
|
||||
sketches: {
|
||||
inputType: 'selection',
|
||||
selectionTypes: ['solid2d', 'segment'],
|
||||
displayName: 'Profiles',
|
||||
selectionTypes: ['solid2d'],
|
||||
multiple: true,
|
||||
required: true,
|
||||
hidden: (context) => Boolean(context.argumentsToSubmit.nodeToEdit),
|
||||
|
@ -486,7 +486,7 @@ export function getSelectionTypeDisplayText(
|
||||
.map(
|
||||
// Hack for showing "face" instead of "extrude-wall" in command bar text
|
||||
([type, count]) =>
|
||||
`${count} ${type.replace('wall', 'face').replace('solid2d', 'face')}${
|
||||
`${count} ${type.replace('wall', 'face').replace('solid2d', 'profile')}${
|
||||
count > 1 ? 's' : ''
|
||||
}`
|
||||
)
|
||||
|
Reference in New Issue
Block a user