Skip to content

[REFACTOR](schema) Split system.primitive into numeric and geometric modules#552

Draft
Seth Fitzsimmons (sethfitz) wants to merge 4 commits into
mainfrom
numeric-types-rename
Draft

[REFACTOR](schema) Split system.primitive into numeric and geometric modules#552
Seth Fitzsimmons (sethfitz) wants to merge 4 commits into
mainfrom
numeric-types-rename

Conversation

@sethfitz

Copy link
Copy Markdown
Collaborator

Closes #464.

Splits overture.schema.system.primitive along its two concerns:

  • The numeric NewTypes (uint8 through float64) move to overture.schema.system.numeric
  • BBox and Geometry move to overture.schema.system.geometric
  • The primitive package is removed; imports updated across ~35 files

The generated reference page for the numeric types moves from system/primitive/primitives ("Primitive Types") to system/numeric ("Numeric Types"), and the geometry page from system/primitive/geometry to system/geometry. Remaining "primitive" wording in system-package docstrings is retired with it.

The BBox/Geometry move implements Victor Schappert (@vcschapp)'s suggestion from the issue thread; flagging it here since it wasn't settled there.

…modules

`overture.schema.system.primitive` mixed two unrelated concerns:
portable numeric NewTypes (int8, uint32, float64, etc.) and geometric
types (BBox, Geometry, GeometryType, GeometryTypeConstraint). The docs
reference page this produced was titled "Primitive Types" at
system/primitive/primitives even though it only covered numeric types.

Numeric types move to a new numeric.py module; BBox and Geometry move to
a new geometric package. The primitive package is removed and every
import across the workspace (themes, common, codegen, and their tests,
including several doctest examples) is updated to the correct module.

The aggregate docs pages move with their source: system/numeric.md
(title "Numeric Types") and system/geometry.md, both flat under system/
like the existing scalar type pages, rather than nested under
primitive/.

Fixes #464.

Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
…ings

Follow-up to the numeric/geometric split: the system package docstring
and the new geometric module docstring still described these types as
"primitive types" / "geometric primitives", the exact wording the split
was meant to retire.

Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
…trings

Commit 0301bf7 left "primitive" in several docstrings after the
system.primitive split into numeric and geometric modules. Remove the
remaining instances in __init__.py, geometric/geom.py,
geometric/bbox.py, and string.py so the term no longer appears anywhere
in the package.

Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
@github-actions

Copy link
Copy Markdown

🗺️ Schema reference docs preview is live!

🌍 Preview https://staging.overturemaps.org/schema/pr/552/schema/index.html
🕐 Updated Jul 10, 2026 23:03 UTC
📝 Commit 2280da8
🔧 env SCHEMA_PREVIEW true

Note

♻️ This preview updates automatically with each push to this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Primitive Types" → "Numeric Types"

1 participant