@@ -1514,7 +1514,7 @@ test.describe("Workspace Manager V2 bootstrap", () => {
15141514 await expect ( page . locator ( "#objectVectorStudioV2ObjectDetailsCount" ) ) . toHaveText ( "(18 obj, 0 shapes)" ) ;
15151515 await expect ( page . locator ( "#objectVectorStudioV2ObjectDetails" ) ) . toContainText ( "No shape selected" ) ;
15161516 await expect ( page . locator ( "#objectVectorStudioV2ObjectPreviewFooter" ) ) . toContainText ( "Object ID: object.asteroids.object-1" ) ;
1517- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-160 -110 320 220 " ) ;
1517+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1600 -1100 3200 2200 " ) ;
15181518 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface [data-center-origin='0,0']" ) ) . toHaveCount ( 1 ) ;
15191519 await expect ( page . locator ( "#objectVectorStudioV2CenterDotButton" ) ) . toHaveAttribute ( "aria-pressed" , "true" ) ;
15201520 await page . locator ( "#objectVectorStudioV2CenterDotButton" ) . click ( ) ;
@@ -1837,36 +1837,45 @@ test.describe("Workspace Manager V2 bootstrap", () => {
18371837 await page . keyboard . press ( "V" ) ;
18381838 await expect ( page . locator ( "#statusLog" ) ) . toHaveValue ( / O K S h a p e \/ T o o l s m o d e s e l e c t e d f r o m k e y b o a r d : s e l e c t \. / ) ;
18391839
1840+ const zoomSource = await readFile ( "tools/object-vector-studio-v2/js/ToolStarterApp.js" , "utf8" ) ;
1841+ expect ( zoomSource ) . toContain ( "const DEFAULT_VIEWPORT = Object.freeze({ height: 220, width: 320, x: 0, y: 0, zoom: 0.1 });" ) ;
1842+ expect ( zoomSource ) . toContain ( "const MAX_ZOOM = 0.5;" ) ;
1843+ expect ( zoomSource ) . toContain ( "const MIN_ZOOM = 0.01;" ) ;
1844+ expect ( zoomSource ) . toContain ( "const ZOOM_STEP = 0.01;" ) ;
1845+ expect ( zoomSource ) . toMatch ( / f o r m a t Z o o m P e r c e n t a g e \( \) \{ \s + r e t u r n M a t h \. r o u n d \( t h i s \. v i e w p o r t \. z o o m \* 1 0 0 \) ; \s + \} / ) ;
1846+ expect ( zoomSource . match ( / f o r m a t Z o o m P e r c e n t a g e \( \) \* 1 0 / g) ?. length || 0 ) . toBeGreaterThanOrEqual ( 4 ) ;
1847+ expect ( zoomSource ) . not . toMatch ( / v i e w p o r t \. z o o m \s * \* \s * 1 0 0 \s * \* \s * G R I D _ S T E P | c o n s t M A X _ Z O O M = 2 / ) ;
1848+
18401849 await page . locator ( "#objectVectorStudioV2ZoomInButton" ) . click ( ) ;
1841- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 101 %" ) ;
1842- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-158.416 -108.911 316.832 217.822 " ) ;
1850+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 110 %" ) ;
1851+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1454.545 -1000 2909.091 2000 " ) ;
18431852 await page . locator ( "#objectVectorStudioV2PanRightButton" ) . click ( ) ;
1844- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-138.416 -108.911 316.832 217.822 " ) ;
1845- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 2, 0 | Canvas 0,0 centered | Zoom 101 %" ) ;
1853+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1434.545 -1000 2909.091 2000 " ) ;
1854+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 2, 0 | Canvas 0,0 centered | Zoom 110 %" ) ;
18461855 await page . locator ( "#objectVectorStudioV2ResetViewButton" ) . click ( ) ;
1847- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-160 -110 320 220 " ) ;
1856+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1600 -1100 3200 2200 " ) ;
18481857 await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 100%" ) ;
18491858 await expect ( page . locator ( "#statusLog" ) ) . toHaveValue ( / O K V i e w p o r t r e s e t t o 1 0 0 % a t o r i g i n 0 , 0 \. / ) ;
18501859 await page . evaluate ( ( ) => {
1851- window . __objectVectorStudioV2App . viewport . zoom = 0.95 ;
1860+ window . __objectVectorStudioV2App . viewport . zoom = 0.095 ;
18521861 window . __objectVectorStudioV2App . updateViewport ( ) ;
18531862 } ) ;
1854- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 95 %" ) ;
1863+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 100 %" ) ;
18551864 await page . evaluate ( ( ) => {
18561865 window . __objectVectorStudioV2App . zoomViewport ( 2.5 ) ;
18571866 } ) ;
1858- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 200 %" ) ;
1859- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-80 -55 160 110 " ) ;
1867+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 500 %" ) ;
1868+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-320 -220 640 440 " ) ;
18601869 await page . evaluate ( ( ) => {
18611870 window . __objectVectorStudioV2App . zoomViewport ( 0 ) ;
18621871 } ) ;
1863- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 1 %" ) ;
1872+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 10 %" ) ;
18641873 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-16000 -11000 32000 22000" ) ;
18651874 await page . locator ( "#objectVectorStudioV2ResetViewButton" ) . click ( ) ;
1866- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-160 -110 320 220 " ) ;
1875+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1600 -1100 3200 2200 " ) ;
18671876 await page . locator ( "#objectVectorStudioV2RenderSurface" ) . hover ( ) ;
18681877 await page . mouse . wheel ( 0 , - 240 ) ;
1869- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 101 %" ) ;
1878+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 110 %" ) ;
18701879 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface [data-grid-rendered='true']" ) ) . toHaveCount ( 1 ) ;
18711880 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface [data-center-origin='0,0']" ) ) . toHaveCount ( 1 ) ;
18721881 const zoomedGridState = await page . locator ( "#objectVectorStudioV2RenderSurface" ) . evaluate ( ( surface ) => ( {
@@ -1876,13 +1885,13 @@ test.describe("Workspace Manager V2 bootstrap", () => {
18761885 } ) ) ;
18771886 expect ( zoomedGridState . backgroundImage ) . toBe ( "none" ) ;
18781887 expect ( zoomedGridState . gridLineCount ) . toBeGreaterThan ( 0 ) ;
1879- expect ( zoomedGridState . viewBox ) . toBe ( "-158.416 -108.911 316.832 217.822 " ) ;
1888+ expect ( zoomedGridState . viewBox ) . toBe ( "-1454.545 -1000 2909.091 2000 " ) ;
18801889 await page . mouse . wheel ( 0 , 240 ) ;
18811890 await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 100%" ) ;
18821891 await page . evaluate ( ( ) => {
18831892 window . __objectVectorStudioV2App . zoomViewport ( 0.25 ) ;
18841893 } ) ;
1885- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 25 %" ) ;
1894+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 250 %" ) ;
18861895 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-640 -440 1280 880" ) ;
18871896 await page . locator ( "#objectVectorStudioV2ResetViewButton" ) . click ( ) ;
18881897
@@ -2140,11 +2149,11 @@ test.describe("Workspace Manager V2 bootstrap", () => {
21402149 name : "asteroids-ship-grid.object-vector.json"
21412150 } ) ;
21422151 await expect ( page . locator ( "#statusLog" ) ) . toHaveValue ( / O K R e n d e r m o d e s v g - w o r k - s u r f a c e : r e n d e r e d A s t e r o i d s S h i p G r i d C h e c k w i t h 1 v i s i b l e s h a p e s ; c a p t u r e m o d e n o n e \. / ) ;
2143- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-160 -110 320 220 " ) ;
2152+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1600 -1100 3200 2200 " ) ;
21442153 await page . evaluate ( ( ) => {
21452154 window . __objectVectorStudioV2App . zoomViewport ( 0.25 ) ;
21462155 } ) ;
2147- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 25 %" ) ;
2156+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toContainText ( "Zoom 250 %" ) ;
21482157 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-640 -440 1280 880" ) ;
21492158
21502159 const readPreviewScale = async ( ) => page . locator ( "#objectVectorStudioV2RenderSurface" ) . evaluate ( ( surface ) => {
@@ -2224,10 +2233,10 @@ test.describe("Workspace Manager V2 bootstrap", () => {
22242233
22252234 await page . locator ( "#objectVectorStudioV2PanRightButton" ) . click ( ) ;
22262235 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-620 -440 1280 880" ) ;
2227- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 2, 0 | Canvas 0,0 centered | Zoom 25 %" ) ;
2236+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 2, 0 | Canvas 0,0 centered | Zoom 250 %" ) ;
22282237 await page . locator ( "#objectVectorStudioV2PanLeftButton" ) . click ( ) ;
22292238 await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-640 -440 1280 880" ) ;
2230- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 25 %" ) ;
2239+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Origin: 0, 0 | Canvas 0,0 centered | Zoom 250 %" ) ;
22312240 const examplePointerScreen = await page . locator ( "#objectVectorStudioV2RenderSurface" ) . evaluate ( ( surface ) => {
22322241 const point = surface . createSVGPoint ( ) ;
22332242 point . x = - 140 ;
@@ -2240,7 +2249,7 @@ test.describe("Workspace Manager V2 bootstrap", () => {
22402249 clientX : examplePointerScreen . x ,
22412250 clientY : examplePointerScreen . y
22422251 } ) ;
2243- await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Pointer -14, -16 | Canvas origin 0,0 centered | Zoom 25 %" ) ;
2252+ await expect ( page . locator ( "#objectVectorStudioV2CoordinateDisplay" ) ) . toHaveText ( "Pointer -14, -16 | Canvas origin 0,0 centered | Zoom 250 %" ) ;
22442253 await page . setViewportSize ( { width : 1040 , height : 720 } ) ;
22452254 const resizedPreviewScale = await readPreviewScale ( ) ;
22462255 expect ( resizedPreviewScale . aspectRatioStable ) . toBe ( true ) ;
@@ -2250,7 +2259,7 @@ test.describe("Workspace Manager V2 bootstrap", () => {
22502259 expect ( resizedPreviewScale . gridStepRestored ) . toBe ( true ) ;
22512260 expect ( resizedPreviewScale . pointsOnVisibleGridLines ) . toBe ( true ) ;
22522261 await page . locator ( "#objectVectorStudioV2ResetViewButton" ) . click ( ) ;
2253- await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-160 -110 320 220 " ) ;
2262+ await expect ( page . locator ( "#objectVectorStudioV2RenderSurface" ) ) . toHaveAttribute ( "viewBox" , "-1600 -1100 3200 2200 " ) ;
22542263
22552264 expect ( pageErrors ) . toEqual ( [ ] ) ;
22562265 expect ( consoleErrors ) . toEqual ( [ ] ) ;
0 commit comments