Skip to content

docs: rebuild public-api.md from the actual public surface - #136

Merged
mahach666 merged 1 commit into
mainfrom
docs/public-api-refresh
Nov 12, 2026
Merged

mahach666 merged 1 commit into
mainfrom
docs/public-api-refresh

Conversation

@mahach666

Copy link
Copy Markdown
Collaborator

Summary

  • The page named types that do not exist anywhere in src/: NwcProperty/NwcPropertyCategory → replaced by NwcPropertyRecord (the exporter names NwcIfcExporter/NwcGlbExporter/NwcObjExporter were already fixed by fix: correct TimeLiner exports, clash pair counts and runnable samples #126).
  • Line 7 claimed everything outside the list is internal behind InternalsVisibleTo — in fact every NwcIO.Internal.* type is public (tests and CLI consume them directly). The page now says exactly that, with the honest compatibility position: public but unsupported implementation surface; making them internal is a breaking change tracked by Make NwcIO.Internal.* types internal and add package API compatibility validation #103.
  • The tables are rebuilt from the public types declared at HEAD (regenerated by scanning src/NwcIO), grouped by namespace, and now include the previously missing surface: NwcAssembly federation, NwcReaderOptions, NwcClashTest/Result/Selection/Batch/Rule, NwcClashBcfExporter, NwcNwfManifest, TimeLiner MS Project/Primavera/CSV serializers, sets incl. NwcXmlSetSerializer and NwcSearchOperator, NwcQuickProperties, appearance profiler, grids, measure, diff, NwcSpatialIndex, sectioning, redlines, cameras/viewpoints, NwcXRef.TryResolve, geometry primitives, and the document/assembly Save*/Export* entry points.

Verified: every named type greps to a public declaration in src/NwcIO (the IFC/clash-report exporters are noted as internal); docfx --warningsAsErrors clean.

Closes #90

The old page named types that do not exist (NwcProperty,
NwcPropertyCategory), claimed the NwcIO.Internal.* types are internal
(they are public, consumed by the tests and CLI) and omitted major
entry points. The tables are rebuilt from the types declared public at
HEAD, grouped by namespace: the federation (NwcAssembly), clash
detector/result/selection types, TimeLiner MS Project/Primavera/CSV
serializers, sets, quick properties, appearance profiler, grids,
measure, diff, spatial index, sectioning, redlines, cameras and the
Save*/Export* entry points. Internal.* is now described as public but
unsupported (making it internal is tracked by #103).

Closes #90
@mahach666
mahach666 merged commit 4b4975d into main Nov 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs/public-api.md names types that don't exist, says decoders are internal (they're public) and leaves out major public types

1 participant