From 5d668e2e3495dce1bbe86179e648d5fcd9f77254 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:24:13 +0000 Subject: [PATCH 1/4] Initial plan From 8f6b3b0d5bb9abe0ef0f92f340a9eed1c1c1ebb0 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:26:56 +0000 Subject: [PATCH 2/4] Migrate DynamoText from .NET Framework 4.5 to .NET 8 - Convert DynamoText.csproj to SDK-style targeting net8.0-windows - Migrate NuGet packages to PackageReference (DynamoServices 3.2.2.5494, ZeroTouchLibrary 3.1.0.4724) - Delete packages.config and Properties/AssemblyInfo.cs - Fix FormattedText constructor for .NET 8 (add NumberSubstitution and pixelsPerDip parameters) - Add GitHub Actions CI workflow for windows-latest Agent-Logs-Url: https://github.com/DynamoDS/DynamoText/sessions/17e83894-302a-4ab5-99cf-7ac0f9824b59 Co-authored-by: johnpierson <15744724+johnpierson@users.noreply.github.com> --- .github/workflows/build.yml | 25 +++++++++++ DynamoText.csproj | 90 ++++++++++--------------------------- Properties/AssemblyInfo.cs | 36 --------------- Text.cs | 4 +- packages.config | 5 --- 5 files changed, 52 insertions(+), 108 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 Properties/AssemblyInfo.cs delete mode 100644 packages.config diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..bc91ba8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,25 @@ +name: Build + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build --no-restore --configuration Release diff --git a/DynamoText.csproj b/DynamoText.csproj index 6756921..6af4cf2 100644 --- a/DynamoText.csproj +++ b/DynamoText.csproj @@ -1,76 +1,34 @@ - - - + + - Debug - AnyCPU - {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2} - Library - Properties - DynamoText + net8.0-windows + true + enable + disable DynamoText - v4.5 - 512 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + DynamoText + x64 + + + DynamoText + + + DynamoText + Copyright © 2014 + 2.0.0.0 + 2.0.0.0 + - - packages\DynamoVisualProgramming.DynamoServices.2.0.0\lib\net45\DynamoServices.dll - False - - - packages\DynamoVisualProgramming.ZeroTouchLibrary.2.0.0\lib\net45\DynamoUnits.dll - False - - - - - packages\DynamoVisualProgramming.ZeroTouchLibrary.2.0.0\lib\net45\ProtoGeometry.dll - False - - - - - - - - - - - - - - - - + + + + Always - - - \ No newline at end of file + + diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs deleted file mode 100644 index 6e3692a..0000000 --- a/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("DynamoText")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("DynamoText")] -[assembly: AssemblyCopyright("Copyright © 2014")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("9e18679b-7f29-4503-8b9f-6ca29a0312b3")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.0.0")] -[assembly: AssemblyFileVersion("2.0.0.0")] diff --git a/Text.cs b/Text.cs index f9582eb..2710fa0 100644 --- a/Text.cs +++ b/Text.cs @@ -33,7 +33,9 @@ public static IEnumerable FromStringOriginAndScale(string text, Point ori fontWeight, FontStretches.Normal), 1, - System.Windows.Media.Brushes.Black // This brush does not matter since we use the geometry of the text. + System.Windows.Media.Brushes.Black, // This brush does not matter since we use the geometry of the text. + new NumberSubstitution(), + 1.0 ); // Build the geometry object that represents the text. diff --git a/packages.config b/packages.config deleted file mode 100644 index 6d0bab4..0000000 --- a/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file From df3d201508f6c7db8bfc89ea56a01e26efa401c8 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:41:50 +0000 Subject: [PATCH 3/4] Bump version to 3.0.0 Agent-Logs-Url: https://github.com/DynamoDS/DynamoText/sessions/17d8d9d4-2686-4429-b206-b30be20b046b Co-authored-by: johnpierson <15744724+johnpierson@users.noreply.github.com> --- DynamoText.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DynamoText.csproj b/DynamoText.csproj index 6af4cf2..e7ed052 100644 --- a/DynamoText.csproj +++ b/DynamoText.csproj @@ -15,8 +15,8 @@ DynamoText Copyright © 2014 - 2.0.0.0 - 2.0.0.0 + 3.0.0.0 + 3.0.0.0 From 04af743c04d011114f40f522a9b9e76bbf72d3bc Mon Sep 17 00:00:00 2001 From: john pierson Date: Thu, 9 Apr 2026 13:56:35 -0600 Subject: [PATCH 4/4] Move source files to src/, add dist packaging target Reorganize repo to match standard Dynamo package layout: move Text.cs, DynamoText.csproj, DynamoText.sln, pkg.json, Example.dyn, and DynamoText_DynamoCustomization.xml into src/. Add CreatePackage MSBuild target that assembles dist/DynamoText/ (pkg.json + bin/) on every build, ready to drop into Dynamo's packages folder. OutputPath redirected to repo-root bin/ to keep build artifacts out of src/. --- .gitignore | 277 +++++------------- DynamoText.csproj => src/DynamoText.csproj | 22 ++ DynamoText.sln => src/DynamoText.sln | 12 +- .../DynamoText_DynamoCustomization.xml | 0 Example.dyn => src/Example.dyn | 0 Text.cs => src/Text.cs | 0 src/pkg.json | 1 + 7 files changed, 97 insertions(+), 215 deletions(-) rename DynamoText.csproj => src/DynamoText.csproj (56%) rename DynamoText.sln => src/DynamoText.sln (55%) rename DynamoText_DynamoCustomization.xml => src/DynamoText_DynamoCustomization.xml (100%) rename Example.dyn => src/Example.dyn (100%) rename Text.cs => src/Text.cs (100%) create mode 100644 src/pkg.json diff --git a/.gitignore b/.gitignore index b9d6bd9..c3f5e6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,215 +1,74 @@ -################# -## Eclipse -################# - -*.pydevproject -.project -.metadata +# Compiled source # +################### +*.com +*.class +*.exe +*.msi +*.o +*.so +AnyCPU/ +Debug/ +Release/ +originalBinaries/ +runtimeGeneratedExtension/ +obj/ +int/ +packages/ bin/ -tmp/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.classpath -.settings/ -.loadpath - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# CDT-specific -.cproject - -# PDT-specific -.buildpath - - -################# -## Visual Studio -################# - -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -# Build results - -[Dd]ebug/ -[Rr]elease/ -x64/ -build/ -[Bb]in/ -[Oo]bj/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* +dist/ -*_i.c -*_p.c -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs and databases # +###################### *.log -*.scc - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -*.ncrunch* -.*crunch*.local.xml - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html +*.sql +*.sqlite +*.vc.db -# Click-Once directory -publish/ - -# Publish Web Output -*.Publish.xml -*.pubxml - -# NuGet Packages Directory -## TODO: If you have NuGet Package Restore enabled, uncomment the next line -#packages/ - -# Windows Azure Build Output -csx -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -sql/ -*.Cache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.[Pp]ublish.xml -*.pfx -*.publishsettings - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file to a newer -# Visual Studio version. Backup files are not needed, because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -App_Data/*.mdf -App_Data/*.ldf - -############# -## Windows detritus -############# - -# Windows image file caches -Thumbs.db +# OS generated files # +###################### +.DS_Store* ehthumbs.db +Icon? +Thumbs.db -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Mac crap -.DS_Store - - -############# -## Python -############# - -*.py[co] - -# Packages -*.egg -*.egg-info -dist/ -build/ -eggs/ -parts/ -var/ -sdist/ -develop-eggs/ -.installed.cfg - -# Installer logs -pip-log.txt - -# Unit test / coverage reports -.coverage -.tox - -#Translations -*.mo - -#Mr Developer -.mr.developer.cfg +# DEBUG FILES # +############### +*.pdb +*.cache +*.suo +*.user +*.opendb +.vs +launchSettings.json + +# PYTHON # +############### +*.pyc + +# RESHARPER # +############### +*_ReSharper* + +# IDE # +############### +.idea +.vscode/**/* +!.vscode/extensions.json +!.vscode/tasks.json + +# REPORTS # +############### +reports diff --git a/DynamoText.csproj b/src/DynamoText.csproj similarity index 56% rename from DynamoText.csproj rename to src/DynamoText.csproj index e7ed052..4485f2c 100644 --- a/DynamoText.csproj +++ b/src/DynamoText.csproj @@ -8,6 +8,7 @@ DynamoText DynamoText x64 + ..\bin\$(Configuration)\ DynamoText @@ -31,4 +32,25 @@ + + + $(MSBuildProjectDirectory)\.. + $(RepoRoot)\dist\DynamoText + + + + + + + + + + + + + + + diff --git a/DynamoText.sln b/src/DynamoText.sln similarity index 55% rename from DynamoText.sln rename to src/DynamoText.sln index d795db2..e179f57 100644 --- a/DynamoText.sln +++ b/src/DynamoText.sln @@ -5,14 +5,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamoText", "DynamoText.cs EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Release|Any CPU.Build.0 = Release|Any CPU + {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Debug|x64.ActiveCfg = Debug|x64 + {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Debug|x64.Build.0 = Debug|x64 + {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Release|x64.ActiveCfg = Release|x64 + {95C2F500-BDC7-4140-A2D7-48EBE3A0A5E2}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DynamoText_DynamoCustomization.xml b/src/DynamoText_DynamoCustomization.xml similarity index 100% rename from DynamoText_DynamoCustomization.xml rename to src/DynamoText_DynamoCustomization.xml diff --git a/Example.dyn b/src/Example.dyn similarity index 100% rename from Example.dyn rename to src/Example.dyn diff --git a/Text.cs b/src/Text.cs similarity index 100% rename from Text.cs rename to src/Text.cs diff --git a/src/pkg.json b/src/pkg.json new file mode 100644 index 0000000..45b31c9 --- /dev/null +++ b/src/pkg.json @@ -0,0 +1 @@ +{"license":"MIT","file_hash":null,"name":"Dynamo Text","version":"2.0.1","description":"A library for creating text in Dynamo.","group":"","keywords":["text"],"dependencies":[],"contents":"","engine_version":"2.0.0.4383","engine":"dynamo","engine_metadata":"","site_url":"http://www.dynamobim.org","repository_url":"https://github.com/DynamoDS/DynamoText","contains_binaries":true,"node_libraries":["DynamoText, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"]} \ No newline at end of file