Smart Component 12
Fairway downhill chevrons.
Available on Hole and Green graphics, Fairway downhill chevrons is deliberately coarser than the putting-surface arrows. Auto is the default and selects a readable preset from the rendered graphic's protected meters-per-pixel scale. Manual Size presets jointly control protected terrain precision and painted footprint: Large uses 9-meter sampling cells, Medium uses 6 meters, and Small uses 3 meters. Finer sizes may resolve more local rolling zones without imposing a cluster count. Terrain continuity and direction determine the zones. Final painted pixel bounds omit a weaker overlapping symbol or a cluster that would be clipped by the rendered canvas.
Usage
Add the fairway downhill chevrons to a graphic.
Include the component in the initial mount call, reconcile it through view.setSmartComponents, or append it with view.addSmartComponent. Types may repeat. Give repeated instances stable id values to style, show, hide, move, reset, or remove one instance independently. The selected Smart Component type, instance ID, render receipt, and protected selection options such as yardages, grid spacing, coverage, measured origin, buffer distance, detail, limits, or targets are sent to the overlay service. Marker-image origins, images, presentation styles, supported labels, and movement remain local.
const view = await caddie.mount(container, graphicRequest, [{
type: "fairway-downhill-chevrons",
style: { size: "auto", color: "#FFFFFF", opacity: 0.9 },
}]);
// Presentation remains local after the protected geometry is resolved.
view.setSmartComponentStyle({
type: "fairway-downhill-chevrons",
style: { color: "#F6D365", opacity: 1 },
});
view.setSmartComponentVisible("fairway-downhill-chevrons", false);Defaults
Built-in presentation.
Component options
Configure behavior and presentation.
| Option | Type | Default | Description |
|---|---|---|---|
| type | "fairway-downhill-chevrons" | Required | Requests terrain-derived downhill chevron clusters for mapped fairways on a Hole or Green graphic. |
| id | string | Automatic | Optional stable 1–64 character instance ID using letters, numbers, underscores, or hyphens. Use IDs to independently control repeated Smart Components of the same type. |
| style.size | "auto" | "large" | "medium" | "small" | "auto" | Auto selects Large at 0.45 m/px or broader, Medium from 0.16 m/px to under 0.45 m/px, and Small below 0.16 m/px. Manual sizes control both terrain-analysis precision and painted footprint: Large uses 9-meter sampling cells, Medium uses 6 meters, and Small uses 3 meters. Apply changes through setSmartComponents(). |
| style.color | GraphicColor | "#FFFFFF" | Local open-chevron stroke color. |
| style.opacity | number | 0.9 | Local SVG opacity from 0.1 through 1. |
Behavior
Important implementation details.
- The component looks for broad fairway movement, not putting-scale contour detail. Small undulations are intentionally ignored.
- Auto maps 0.45 m/px or broader to Large, 0.16 m/px to under 0.45 m/px to Medium, and below 0.16 m/px to Small. The response exposes only the resolved preset, not the protected metric scale.
- Size coordinates analysis radius, seed spacing, zone-link distance, chevron geometry, stroke, and final collision bounds. It does not prescribe how many clusters must appear.
- A location must clear the 4% sustained-grade floor used by leading printed yardage-book products. There is no density setting or hole-relative steepest-band filter.
- Two chevrons mean a sustained 4% to under 6% grade, three mean 6% to under 8%, and four mean 8% or greater. A single chevron is intentionally not used because it can read as a generic direction marker.
- Every distinct qualifying terrain zone is retained unless its final painted bounds plus stroke-sized breathing room overlap a stronger symbol.
- Clusters that do not fit fully inside the rendered canvas are omitted so Green-subject crops never receive clipped or invisible marks.
- An empty cluster array is a successful, meaningful result when no fairway section is extreme enough to mark.
- Changing size through setSmartComponents() requests newly resolved protected geometry. Changing color, opacity, or visibility is an immediate local SVG update.
- The response contains only final open-chevron pixels and stroke widths. It excludes grades, bearings, elevations, source samples, fairway boundaries, coordinates, transforms, and internal course data.
- Fairway downhill chevrons are locked and cannot be moved or reset.