Skip to content

History / minkowski_sum

Revisions

  • Escape unescaped pipes inside wiki-links in table cells A wiki-link written [[Page|label]] inside a Markdown table cell needs its pipe escaped as \| or the table parser reads it as an extra column separator and splits the row, e.g. Configuration-examples.md line 22's [[Convex Hull|convex hull example script]] silently broke that row. Ran the new check-table-pipes.py checker (added alongside the geodms-wiki skill) against every page and fixed all matches: Configuration-examples.md, Generic-function.md, Impedance-functions.md, User-Guide-GeoDMS-Run.md, Why-GeoDMS.md, minkowski_sum.md. Re-running the checker after the fix reports no remaining hits. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Sep 3, 2026
  • Spell operators and value types the way the engine registers them (#1161) The token table is case folded, so a page that writes UInt32, AsList or NrOfRows teaches a spelling that costs the reader a case mix-up warning on the first run. This rewrites those spellings across 142 pages to the names the engine actually registers, taken from the running engine rather than from memory: the 2342 operator group names that DocData()/OperatorGroups/name reports, plus the property names in TicPropDefConst.h. Four kinds of change, all case only: * value types in configuration examples -- String, Float64, SPoint, UInt32, Bool, Void and the *Seq variants -> lower case, which is what ValueWrap.cpp has registered (AsLowerCase of the C++ type name) since 20.9. * the boolean literals True/TRUE/False/FALSE in expressions and data lists. Property VALUES keep their spelling: StorageReadOnly = "False" is data. * operator names, in examples and in the syntax/definition lines of the operator pages: asList, asItemList, expand, currentDir, makeDir, get_x, get_y, pointrow, pointcol, id, range, subset, replace, quote, dquote, isNegative, isPositive, isZero, the *seq conversions -- and the other way for the ones the engine capitalises: BaseUnit, IsDefined, LowerBound, UpperBound, Round, RoundUp, RoundDown, RoundToZero, LowerCase, AsHex, SubItem, SubItem_PropValues, GeoDmsVersion, EXEC_EC. * nrofrows, both as the operator and as the unit property. Five examples named an item after the operator it called, which folds onto the operator's own token: MakeDir, GeoDMSVersion, Quote. Those items are renamed (newFolder, versionString, Quoted). DocData's sub-item is name, not Name. IntegrityCheck and expr property values are parsed as expressions, so the operator inside the string counts too. Value-type gains a "spelling" section and Naming-conventions a bullet saying that operator names must be written as registered -- most lower case, but not all -- both linking to the case mix-up section of Tree-item-name. NOT touched, and left as one decision rather than half-made here: the mixed-case PROPERTY names. The engine registers Label, Expr, Descr, Metric, Format, Source, Using, Projection, ValueType, IsHidden, and the pages (like nearly every real configuration) write label, expr, descr, source, using. Whether the wiki follows the engine or the engine follows the corpus is the same question #1161 deferred for the ~57 property names; it should be settled once, in one place. Also left: SQL keywords inside SqlString values, Python API names, and example item names that merely collide with an engine name (Name, District, Area, Union, Left). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @MaartenHilferink MaartenHilferink committed Aug 28, 2026
  • Fix four broken links and two wrong claims on the #917 Minkowski pages [[Depreciation]] and [[boost geometry]] are not pages: the first does not exist at all (other pages just write the word), the second lives at boost-polygon, which covers both Boost libraries. Four dead links in total across minkowski_sum and Boost-polygon-functions. Two claims were also wrong. The multi-ring kernel error names the OPERATOR, not the item, and the page said otherwise. And the page described the variant as read once without saying that a per-element variant is therefore an error -- now condition 3, with the reason: resolving it silently to the first element's value would be worse than failing. Both are now covered by testcases (_neg3 and _neg4).

    @MaartenHilferink MaartenHilferink committed Aug 26, 2026
  • Document minkowski_sum / minkowski_difference (GeoDMS #917, 20.18.0) New pages for the eight operators that take the Minkowski kernel as an ARGUMENT instead of carrying it in the operator name: both signatures, the six variant names, the single-ring restriction, the origin convention (an off-centre kernel displaces the result), and what each of the four backends actually does. Boost-polygon-functions was the canonical description of the suffix grammar and was stale twice over: it still promised the suffixes could be combined "twice" (partitioned_union_polygon_d16D_i16D), a form no longer registered, and it described twelve kernels that are now depreciated. Rewritten around a migration table, and honest about the cost -- the replacement materialises one intermediate polygon attribute that the fused operator did not. polygon-inflated / polygon-deflated get a depreciation banner naming the replacement call, and keep their coordinate-precision warning, which applies unchanged. polygon-operators lists the eight new names and strikes the 48 old ones. geos_buffer and bg_buffer_multi_polygon now point at minkowski_sum, since a buffer is the Minkowski sum with a disc and the split between them is worth stating.

    @MaartenHilferink MaartenHilferink committed Aug 26, 2026