feat: move revision tracking to ExportRecord, add perceptual hash comparison, cut list modal, and auto-start API
- Move Revision from Drawing to ExportRecord so each export captures its own revision snapshot - Add Hamming distance comparison for perceptual hashes (tolerance of 10 bits) to avoid false revision bumps - Replace CoenM.ImageHash with inline DifferenceHash impl (compatible with ImageSharp 3.x) - Increase PDF render DPI from 72 to 150 for better hash fidelity - Add download-dxfs-by-drawing endpoint for cross-export DXF zip downloads - Prefix DXF filenames with equipment number when no drawing number is present - Pass original filename to storage service for standalone part exports - Auto-start FabWorks.Api from ExportDXF client if not already running - Add cut list modal with copy-to-clipboard in the web UI - Update PDF hash on existing export records after upload - Bump static asset cache versions to v3 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,45 @@
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit:*)"
|
||||
"Bash(git commit:*)",
|
||||
"Bash(dotnet build:*)",
|
||||
"Bash(msbuild:*)",
|
||||
"Bash(powershell.exe -File \"C:\\Users\\aisaacs\\.claude\\skills\\roslyn-bridge\\scripts\\rb.ps1\" getprojects)",
|
||||
"Bash(powershell -Command \"& C:\\Users\\aisaacs\\.claude\\skills\\roslyn-bridge\\scripts\\rb.ps1 instances\")",
|
||||
"Bash(powershell -Command \"& C:\\Users\\aisaacs\\.claude\\skills\\roslyn-bridge\\scripts\\rb.ps1 build -ProjectName ExportDXF\")",
|
||||
"Bash(powershell -Command \"& C:\\Users\\aisaacs\\.claude\\skills\\roslyn-bridge\\scripts\\rb.ps1 projects\")",
|
||||
"Bash(powershell -Command \"& C:\\Users\\aisaacs\\.claude\\skills\\roslyn-bridge\\scripts\\rb.ps1 errors\")",
|
||||
"Bash(powershell -Command:*)",
|
||||
"Bash(curl:*)",
|
||||
"Bash(python:*)",
|
||||
"Skill(roslyn-bridge)",
|
||||
"Bash(dotnet add:*)",
|
||||
"Bash(nuget restore:*)",
|
||||
"mcp__RoslynBridge__get_solution_overview",
|
||||
"mcp__RoslynBridge__get_files",
|
||||
"mcp__RoslynBridge__list_instances",
|
||||
"mcp__RoslynBridge__refresh_workspace",
|
||||
"mcp__RoslynBridge__get_diagnostics",
|
||||
"mcp__RoslynBridge__build_project",
|
||||
"mcp__RoslynBridge__get_projects",
|
||||
"Bash(findstr:*)",
|
||||
"Bash(Select-String -Pattern \"error|Build succeeded\")",
|
||||
"Bash(Select-String -NotMatch \"CA1416\")",
|
||||
"Bash(dir:*)",
|
||||
"Bash(git checkout:*)",
|
||||
"Bash(ls \"C:\\\\Users\\\\aisaacs\\\\Desktop\\\\Projects\\\\ExportDXF\\\\docs\\\\plans\"\" 2>nul || echo \"No plans dir \")",
|
||||
"Bash(dotnet new:*)",
|
||||
"Bash(dotnet sln:*)",
|
||||
"Bash(del \"C:\\\\Users\\\\aisaacs\\\\Desktop\\\\Projects\\\\ExportDXF\\\\FabWorks.Core\\\\Class1.cs\")",
|
||||
"Bash(copy \"S:\\\\4980 GMCH Lockport\\\\4980 A05 Degreaser Casing\\\\4980 A05-1 Access door\\\\Forms\\\\4980 A05-1 PT02.pgm\" \"C:\\\\Users\\\\aisaacs\\\\Desktop\\\\Projects\\\\ExportDXF\\\\FabWorks.Tests\\\\TestData\\\\sample.pgm\")",
|
||||
"Bash(dotnet test:*)",
|
||||
"Bash(del \"C:\\\\Users\\\\aisaacs\\\\Desktop\\\\Projects\\\\ExportDXF\\\\FabWorks.Api\\\\FabWorks.Api.http\")",
|
||||
"Bash(dotnet ef:*)",
|
||||
"Bash(git log:*)",
|
||||
"mcp__RoslynBridge__get_namespace_types",
|
||||
"Bash(test:*)",
|
||||
"mcp__RoslynBridge__search_symbol",
|
||||
"mcp__RoslynBridge__search_code"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
|
||||
Reference in New Issue
Block a user