Table of Contents

Packaging, resources and hosting

  • Shipped resources carry an ownership marker. ResourceDefaultMarker introduces the .default convention: files carry the marker before the final extension (AlTiBN.default.CoatingMaterial) and machine-tool packages carry it on the folder (MachineTool/Table-B1.default/). Marked items are system territory the seeder may refresh or delete; unmarked items belong to the user and are never touched. Seed copies the shipped defaults into the admin resource root at startup — anchored on the application base directory rather than the process working directory, version-stamped so steady-state boots do no work. A save-as flow must strip the marker so a user file cannot masquerade as a shipped default.
  • HiNc-Resource ships more presets: Resource/Controller/<Brand>.default.Controller for all five brands, and StandardForcedAir / StandardWaterSolubleCoolant / StandardOilBasedCoolant coolant conditions, so those load browsers start populated instead of empty.
  • CoolantHeatCondition gains name/note, the three static presets, preset find/match/apply, and side-file IO following the workpiece-material pattern — CoolantHeatConditionFile externalizes the condition to a .CoolantHeatCondition file.
  • Obfuscation-safe DTOs. Obfuscar renames compiler-generated anonymous types and strips their constructor parameter names, so System.Text.Json threw on every ToPresentDto serialization in released assemblies — the geometry, cutter and transformer editors all returned HTTP 500 while Debug builds were fine. Every implementation now returns Dictionary<string, object> with nameof keys, which compile to string literals obfuscation cannot touch, and IToPresentDto documents the rule. See the wire-key list under Signature and shape changes.
  • The embedded default font is Noto Sans CJK TC (SIL OFL 1.1) in place of the Big5-only HanWang WCL06, fed to the native engine from memory instead of writing an 11 MB Font/WCL06.ttf into the process working directory. Traditional, simplified and kana render from one face with zh-Hant glyph conventions. Explicit font paths still go through the file route.
  • Third-party notices ship with the two packages that actually redistribute third-party bits: HiDisp (the native files under runtimes/ and the embedded font) and HiNc-Resource (the offline documentation site among its content files). HiLicense gained a real package description.
  • Dependency updatesSQLitePCLRaw.bundle_e_sqlite3 is pinned to 3.0.3 (SQLite CVE-2025-6965), Microsoft.Data.Sqlite to 10.0.9 and Dapper to 2.1.79.
  • Small public additionsDetectRoundTripEncoding, CompactNanOptions and named float literals in GetDouble, CycleUpperInclusive (the (l,u] cyclic window the existing overloads could not express), and AddAndGetIndex. IndexSegment no longer leaves an open run end when the match sits at either edge of the list.