diff --git a/svelte-app/src/lib/canvas/collision.ts b/svelte-app/src/lib/canvas/collision.ts index 08cbfea..fdede1e 100644 --- a/svelte-app/src/lib/canvas/collision.ts +++ b/svelte-app/src/lib/canvas/collision.ts @@ -405,7 +405,7 @@ function getEpcCollisionQuads( ox + last.x, oy + last.y, last.x - prev.x, last.y - prev.y, EPC_CONFIG.rightBox.w, EPC_CONFIG.rightBox.h, - 'left' + 'right' ); if (rbQ.length === 4) quads.push(rbQ); diff --git a/svelte-app/src/lib/canvas/interactions.ts b/svelte-app/src/lib/canvas/interactions.ts index d61fd61..82231d9 100644 --- a/svelte-app/src/lib/canvas/interactions.ts +++ b/svelte-app/src/lib/canvas/interactions.ts @@ -361,7 +361,7 @@ function recalcEpcBounds(sym: typeof layout.symbols[0]) { const last = wps[wps.length - 1]; const prev = wps[wps.length - 2]; const rbDir = { x: last.x - prev.x, y: last.y - prev.y }; - const rbCorners = orientedBoxCorners(last.x, last.y, rbDir.x, rbDir.y, EPC_CONFIG.rightBox.w, EPC_CONFIG.rightBox.h, 'left'); + const rbCorners = orientedBoxCorners(last.x, last.y, rbDir.x, rbDir.y, EPC_CONFIG.rightBox.w, EPC_CONFIG.rightBox.h, 'right'); for (const [bx, by] of rbCorners) { minX = Math.min(minX, bx); minY = Math.min(minY, by); maxX = Math.max(maxX, bx); maxY = Math.max(maxY, by); diff --git a/svelte-app/src/lib/canvas/render-theme.ts b/svelte-app/src/lib/canvas/render-theme.ts index 731e428..bca8f27 100644 --- a/svelte-app/src/lib/canvas/render-theme.ts +++ b/svelte-app/src/lib/canvas/render-theme.ts @@ -55,7 +55,7 @@ export const THEME = { lineColor: '#000000', rightBoxFill: '#aaaaaa', rightBoxStroke: '#000000', - rightBoxStrokeWidth: 0.3, + rightBoxStrokeWidth: 1.0, }, induction: { fillColor: '#000000', diff --git a/svelte-app/src/lib/canvas/renderer.ts b/svelte-app/src/lib/canvas/renderer.ts index eeff2af..8659018 100644 --- a/svelte-app/src/lib/canvas/renderer.ts +++ b/svelte-app/src/lib/canvas/renderer.ts @@ -186,8 +186,8 @@ function drawEpcSymbol(ctx: CanvasRenderingContext2D, sym: PlacedSymbol) { ctx.fillStyle = THEME.epcBody.rightBoxFill; ctx.strokeStyle = THEME.epcBody.rightBoxStroke; ctx.lineWidth = THEME.epcBody.rightBoxStrokeWidth; - ctx.fillRect(0, -rb.h / 2, rb.w, rb.h); - ctx.strokeRect(0, -rb.h / 2, rb.w, rb.h); + ctx.fillRect(-rb.w, -rb.h / 2, rb.w, rb.h); + ctx.strokeRect(-rb.w, -rb.h / 2, rb.w, rb.h); ctx.restore(); } } @@ -270,7 +270,7 @@ function traceEpcOutlinePath(ctx: CanvasRenderingContext2D, sym: PlacedSymbol, p ctx.translate(plx, ply); ctx.rotate(rAngle); ctx.beginPath(); - ctx.rect(-pad, -rb.h / 2 - pad, rb.w + pad * 2, rb.h + pad * 2); + ctx.rect(-rb.w - pad, -rb.h / 2 - pad, rb.w + pad * 2, rb.h + pad * 2); ctx.stroke(); ctx.restore(); } diff --git a/svelte-app/src/lib/symbol-config.ts b/svelte-app/src/lib/symbol-config.ts index 31435e2..394514e 100644 --- a/svelte-app/src/lib/symbol-config.ts +++ b/svelte-app/src/lib/symbol-config.ts @@ -4,7 +4,7 @@ export const EPC_CONFIG = { iconFile: '/symbols/epc_icon.svg', leftBox: { x: 0, y: 0, w: 26, h: 20 }, rightBox: { w: 10, h: 20 }, - lineWidth: 0.4, + lineWidth: 1.5, defaultWaypoints: [ { x: 26, y: 10 }, // exit from left box center-right { x: 57, y: 10 }, // entry to right box center-left