Skip to content

Feature/light labels#18

Merged
beetlebugorg merged 2 commits into
mainfrom
feature/light-labels
Jun 26, 2026
Merged

Feature/light labels#18
beetlebugorg merged 2 commits into
mainfrom
feature/light-labels

Conversation

@beetlebugorg

Copy link
Copy Markdown
Owner

No description provided.

beetlebugorg and others added 2 commits June 25, 2026 18:20
Light characteristic strings (S-52 LITDSN, a CSP) were produced two ways:
the S-101 rule LITDSN02 for the rendered single-light label, and a separate
Go reimplementation (lightchar.go / BuildLightCharacteristic) for the
inspector tag and the co-located-light merge — which overwrote the Lua text.

The Go copy had drifted from the catalogue and emitted wrong strings:
spurious single group "Fl(1)R" (vs "Fl R"), missing category prefixes
("Aero "), and divergent LITCHR/COLOUR tables for higher codes.

Harvest the LITDSN02 DrawText the portrayal already produces (lightCharText)
for both the inspector and the co-located merge, and delete lightchar.go.
The catalogue is now the single source of truth for the characteristic.

Add TestLightTagFromCatalogue: bakes the golden cell and asserts the baked
`light` tags carry catalogue strings (no "(1)" artifact, aero prefix present).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
HostSpatialGetAssociatedFeatureIDs was bound to emptyArray, so the
catalogue's SpatialAssociation:GetAssociatedFeatures() always returned
nothing — the spatial co-location queries the LIGHTS06 rules rely on were
dead. The 45° flare-fan (LightFlareAndDescription) and the co-located
description stacking (GetColocatedTextCount -> TextVerticalOffset) could
never fire.

Index mapped point features by exact node position in Portray, and answer
HostSpatialGetAssociatedFeatureIDs from it: a point spatial "<id>#P"
resolves the feature, then returns everything sharing its node. Curve and
surface spatials carry no node here, so they stay empty (no change).

The baker keeps its own co-located-light merge (one flare + one deduped
stacked label), which is cleaner than the catalogue's verbatim per-light
stacking for NOAA's sectored/duplicate encodings — but the flare-fan and
other spatial queries now behave per spec.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@beetlebugorg beetlebugorg merged commit 215317a into main Jun 26, 2026
4 checks passed
@beetlebugorg beetlebugorg deleted the feature/light-labels branch June 26, 2026 00:17
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.

1 participant