Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
75c7cd0
feat: enhance plugin system with domain-level operations and .NET 10
fuzzzerd Apr 5, 2026
0ce67f2
feat: update ScriptStep serialization logic to conditionally use Sour…
fuzzzerd Apr 5, 2026
75b83dc
refactor: single source of truth for script steps and wholesale XML r…
fuzzzerd Apr 5, 2026
6a74c31
feat: improve debounce mechanism in ScriptClipEditor and enhance vali…
fuzzzerd Apr 5, 2026
034d731
feat: enhance script completion with Monaco snippet support and impro…
fuzzzerd Apr 5, 2026
b73e321
refactor: extract SharpFM.Model package and simplify plugin contract
fuzzzerd Apr 7, 2026
8225527
refactor: consolidate XML pretty-print onto XmlHelpers
fuzzzerd Apr 7, 2026
9841efa
refactor: extract ApplyFieldProperties helper
fuzzzerd Apr 7, 2026
adfe77a
refactor: extract ValidateStepIndex helper
fuzzzerd Apr 7, 2026
952b395
refactor: consolidate new-clip commands into CreateNewClip helper
fuzzzerd Apr 7, 2026
01e80c7
refactor: move INPC to FileMakerClip, drop ClipViewModel pass-throughs
fuzzzerd Apr 7, 2026
e09df7a
refactor: move operation types to SharpFM.Model
fuzzzerd Apr 7, 2026
d9dec0f
refactor: move Apply operations onto FmScript and FmTable
fuzzzerd Apr 7, 2026
7474d17
refactor: add ClipData extensions and use them for MCP read paths
fuzzzerd Apr 7, 2026
97073d9
refactor: delete redundant IPluginHost read and update methods
fuzzzerd Apr 7, 2026
100ff11
refactor: extract DebouncedEventRaiser and unify editor debounce
fuzzzerd Apr 7, 2026
584e8cb
refactor: remove RefreshSelectedClip from IPluginHost
fuzzzerd Apr 7, 2026
43636e4
refactor: migrate FmTable.Fields to ObservableCollection
fuzzzerd Apr 7, 2026
efc26dd
refactor: restore specialized ToDisplayLine rendering for handlers
fuzzzerd Apr 8, 2026
6908079
fix: completion provider handles bracket boundary and unknown steps
fuzzzerd Apr 8, 2026
f3d4971
test: capture verbatim FileMaker XML fixtures for lossless round-trip
fuzzzerd Apr 8, 2026
75a8fd1
refactor: introduce typed value types for script step domain model
fuzzzerd Apr 8, 2026
33ac2ed
refactor: introduce stateless catalog helpers for script step seriali…
fuzzzerd Apr 8, 2026
2af9f48
refactor: make ScriptStep abstract and delete StepParamValue pipeline
fuzzzerd Apr 8, 2026
f794116
feat: add GoToLayoutStep typed POCO for lossless Go to Layout round-trip
fuzzzerd Apr 8, 2026
6ea942a
fix: update net ten path
fuzzzerd Apr 8, 2026
f5f79ef
feat: raw xml viewer utility
fuzzzerd Apr 15, 2026
25d814a
feat(scripts): add new script steps for FileMaker scripting model
fuzzzerd Apr 15, 2026
57a7a37
feat(scripts): implement multi-line statement handling in script editor
fuzzzerd Apr 15, 2026
c6b2d23
feat: Add ShowStatusMessage method to MainWindowViewModel for transie…
fuzzzerd Apr 16, 2026
131b2a1
feat: Enhance sealed-step renderers with bounds checks for anchor off…
fuzzzerd Apr 16, 2026
438fa38
chore: merge master
fuzzzerd Apr 16, 2026
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
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
"preLaunchTask": "build",
"windows":
{
"program": "${workspaceFolder}/src/SharpFM/bin/Debug/net8.0/win-x64/SharpFM.dll",
"program": "${workspaceFolder}/src/SharpFM/bin/Debug/net10.0/win-x64/SharpFM.dll",
},
"linux":
{
"program": "${workspaceFolder}/src/SharpFM/bin/Debug/net8.0/linux-x64/SharpFM.dll",
"program": "${workspaceFolder}/src/SharpFM/bin/Debug/net10.0/linux-x64/SharpFM.dll",
},
"args": [],
"cwd": "${workspaceFolder}",
Expand Down
77 changes: 70 additions & 7 deletions SharpFM.sln
Original file line number Diff line number Diff line change
Expand Up @@ -19,49 +19,112 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpFM.Plugin.Tests", "tes
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpFM.Plugin.XmlViewer", "src\SharpFM.Plugin.XmlViewer\SharpFM.Plugin.XmlViewer.csproj", "{E988ECF3-E096-4F29-88C0-27B50FD6C703}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpFM.Model", "src\SharpFM.Model\SharpFM.Model.csproj", "{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5245F468-DAD7-478C-8E5F-518A03664F71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Debug|x64.ActiveCfg = Debug|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Debug|x64.Build.0 = Debug|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Debug|x86.ActiveCfg = Debug|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Debug|x86.Build.0 = Debug|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Release|Any CPU.Build.0 = Release|Any CPU
{9E4B6169-0E69-430A-BF6C-184A10C71F9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E4B6169-0E69-430A-BF6C-184A10C71F9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E4B6169-0E69-430A-BF6C-184A10C71F9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E4B6169-0E69-430A-BF6C-184A10C71F9B}.Release|Any CPU.Build.0 = Release|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Release|x64.ActiveCfg = Release|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Release|x64.Build.0 = Release|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Release|x86.ActiveCfg = Release|Any CPU
{5245F468-DAD7-478C-8E5F-518A03664F71}.Release|x86.Build.0 = Release|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Debug|x64.ActiveCfg = Debug|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Debug|x64.Build.0 = Debug|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Debug|x86.ActiveCfg = Debug|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Debug|x86.Build.0 = Debug|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Release|Any CPU.Build.0 = Release|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Release|x64.ActiveCfg = Release|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Release|x64.Build.0 = Release|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Release|x86.ActiveCfg = Release|Any CPU
{5B228160-ECB9-4DFC-91D7-413AE9900617}.Release|x86.Build.0 = Release|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Debug|x64.ActiveCfg = Debug|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Debug|x64.Build.0 = Debug|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Debug|x86.ActiveCfg = Debug|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Debug|x86.Build.0 = Debug|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Release|Any CPU.Build.0 = Release|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Release|x64.ActiveCfg = Release|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Release|x64.Build.0 = Release|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Release|x86.ActiveCfg = Release|Any CPU
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395}.Release|x86.Build.0 = Release|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Debug|x64.ActiveCfg = Debug|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Debug|x64.Build.0 = Debug|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Debug|x86.ActiveCfg = Debug|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Debug|x86.Build.0 = Debug|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Release|Any CPU.Build.0 = Release|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Release|x64.ActiveCfg = Release|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Release|x64.Build.0 = Release|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Release|x86.ActiveCfg = Release|Any CPU
{0ACF3F64-A87C-487C-B780-B39327C1B801}.Release|x86.Build.0 = Release|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Debug|x64.ActiveCfg = Debug|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Debug|x64.Build.0 = Debug|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Debug|x86.ActiveCfg = Debug|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Debug|x86.Build.0 = Debug|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Release|Any CPU.Build.0 = Release|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Release|x64.ActiveCfg = Release|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Release|x64.Build.0 = Release|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Release|x86.ActiveCfg = Release|Any CPU
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB}.Release|x86.Build.0 = Release|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Debug|x64.ActiveCfg = Debug|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Debug|x64.Build.0 = Debug|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Debug|x86.ActiveCfg = Debug|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Debug|x86.Build.0 = Debug|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Release|Any CPU.Build.0 = Release|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Release|x64.ActiveCfg = Release|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Release|x64.Build.0 = Release|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Release|x86.ActiveCfg = Release|Any CPU
{E988ECF3-E096-4F29-88C0-27B50FD6C703}.Release|x86.Build.0 = Release|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Debug|x64.ActiveCfg = Debug|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Debug|x64.Build.0 = Debug|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Debug|x86.ActiveCfg = Debug|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Debug|x86.Build.0 = Debug|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Release|Any CPU.Build.0 = Release|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Release|x64.ActiveCfg = Release|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Release|x64.Build.0 = Release|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Release|x86.ActiveCfg = Release|Any CPU
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{5B228160-ECB9-4DFC-91D7-413AE9900617} = {E2FF2BB3-AF37-44BA-BD84-999B352D814E}
{2D7BC534-E63F-4FC2-84F1-62BC0E8A1395} = {1515B0F2-1419-4778-92A8-430A8B4931F7}
{0ACF3F64-A87C-487C-B780-B39327C1B801} = {1515B0F2-1419-4778-92A8-430A8B4931F7}
{74337D8E-5EC6-4E5F-9E9E-F2B59E8ECABB} = {E2FF2BB3-AF37-44BA-BD84-999B352D814E}
{E988ECF3-E096-4F29-88C0-27B50FD6C703} = {1515B0F2-1419-4778-92A8-430A8B4931F7}
{E0FF2DD8-E4B8-4495-92FA-F17AF9B78086} = {1515B0F2-1419-4778-92A8-430A8B4931F7}
EndGlobalSection
EndGlobal
261 changes: 0 additions & 261 deletions docs/design/object-model-as-truth.md

This file was deleted.

Loading
Loading