----iOS---- -quickstart for loading last edited report on main menu -duplicate existing report with new name -cleanup empty uuid folders in case user gets an internal folder created but never saves *-always save report data (file locations, title, etc.) to internal dir (might already be done?) -no more option to save data internally -> ALWAYS save report_data.json internally *-update project title -> should update recently used data -this sort of works, something is wrong with the upgrade process where the UUID is not brought over properly; need to test and fix (maybe fixed already and my dataset is wrong?) *-add dropdown to Add Items button to have add items from folder and remove choose working folder option (data always saved internally) -not going to do this; they can always select multiple items from the current picker *-Now that the BaseFolder is always internal...update options for PDF output location -output in internal dir (default) -always ask me every time (opens save file picker after generating PDF to ask user where they want it) -always put in X folder (uses existing option) -add option to backup added files to internal data directory (always on for iOS) -make backup of last generated PDF somewhere -iOS-specific (MAUI essentials?) -maui community essentials https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/get-started?tabs=CommunityToolkitMaui -I don't think this is what we are looking for ultimately....? -https://github.com/AvaloniaUI/Avalonia.Essentials -https://github.com/AvaloniaUI/AvaloniaMauiHybrid -- this may have to be the way to go or perhaps grab code from https://github.com/AvaloniaUI/Avalonia.Controls.Maui/tree/main/src/Avalonia.Controls.Maui.Essentials because we don't need the avalonia tie in stuff if it "just works"...but don't know if it will "just work" yet. apparently native APIs are available through net10.0-ios or whatnot but I'd rather use the existing wrappers/tutorials since those will just work just like we want... -auto save on every action -Take picture -https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/device-media/picker?view=net-maui-10.0&tabs=macios -Add pic from gallery -see above link -Add file (uses Files picking, I think this already mostly works just need to copy to internal data dir) -Generate PDF -> Share/print screen to share/print -https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/data/share?view=net-maui-10.0&tabs=macios -Make sure clipboard works (not sure if it will out of the box or not) -https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/data/clipboard?view=net-maui-10.0 ----------- https://stackoverflow.com/questions/78855900/error-ios-projects-must-build-with-publishtrimmed-true-when-trimming-is-disabl https://blog.verslu.is/maui/exclude-assemblies-from-trimming/ -p:UseParallelGC=true for faster builds? or /p:MtouchUseLlvm=false? or -p:EnableAssemblyILStripping=false? possible hints for building publish iOS binaries: https://github.com/dotnet/maui/issues/25022#issuecomment-2385334527 linker stuff: https://blog.verslu.is/maui/exclude-assemblies-from-trimming/ PublishFolderType documentation: https://github.com/dotnet/macios/blob/main/dotnet/BundleContents.md https://signpath.org/ magick "2026-01-29 — \$210 — WORK PERMIT.pdf" -background white -alpha background -alpha off -density 288 -resize 25% page-%03d.jpg https://github.com/dlemstra/Magick.NET/blob/main/docs/ConvertPDF.md https://stackoverflow.com/questions/65089839/add-an-external-pdf-page-to-pdfsharp-migradoc https://github.com/mephraim/ghostscriptsharp https://stackoverflow.com/a/71485279/3938401 need a PDF viewer that works with annotations https://github.com/BobLd/PdfPig.Rendering.Skia/ works but quality is low for some reason, I don't know why. probably need a bug report or some option that is hidden. using (var document = UglyToad.PdfPig.PdfDocument.Open(filePath, UglyToad.PdfPig.Rendering.Skia.SkiaRenderingParsingOptions.Instance)) { document.AddSkiaPageFactory(); // Same as document.AddPageFactory() and document.AddPageFactory() for (int p = 1; p <= document.NumberOfPages; p++) { using var skBitmap = document.GetPageAsSKBitmap(p, 1); using (var fs = new FileStream(Path.Combine(convertedDir, $"{fileName}_{p}PIG.jpeg"), FileMode.Create)) using (var ms = document.GetPageAsPng(p, 1, 4)) { MemoryStream memoryStream = new MemoryStream(); skBitmap.Encode(memoryStream, SkiaSharp.SKEncodedImageFormat.Jpeg, 100); memoryStream.Position = 0L; ms.WriteTo(fs); } } } https://github.com/GowenGit/docnet -- may need to fork this and publish our own package if some OS doesn't work *-add more items *-save last opened folder to settings somewhere ---Features--- *-save report to disk *-separate save button to come back to things later *-add resort by date option *-when scanning files don't add kinds we cannot read/use *-Fix buttons not enabling/disabling appropritely *-if files not found show user error *-add preview or open button or something to each item https://gitflic.ru/project/jackhammer/pdf-forge-net/file?commit=7bdce6132a70ab12664a8f2482003836c7af2ab6 *-check if last remembered dir exists on auto-load! *-show working directory *-set DMG title in publish *-Get linux publish command working and zip up/publish dotnet publish -c Release -r linux-x64 -p:StripSymbols=False -p:PublishAot=False dotnet publish -c Release -r linux-arm64 -p:StripSymbols=False -p:PublishAot=False ---Publishing--- *-Published app has unneeded .DSYM file (fixed via .app builder) *-Published app has Assets folder already copied to it; don't want that in output macOS folder but it's being copied there anyway (fixed via .app builder) *-macOS x64 build