{"version":3,"file":"PBFieldNote_GolfCourse.B9hc-_hN.mjs","names":["React.useSyncExternalStore","React.Fragment"],"sources":["https:/framerusercontent.com/modules/OZXiBoZXYdPBuk0OGqgY/1jXEr3D2a1auh6lC7hTq/PBFieldNote_GolfCourse.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const TOKENS={obsidian:\"#0C0C0E\",obsidianLift:\"#111113\",graphite:\"#171719\",hairline:\"#2A2A2D\",limeGrey:\"#8C8C8A\",limeGreySoft:\"#4A4A4D\",limestone:\"#F2F2F0\",ember:\"#D95C30\"};const fontStack=\"'Inter', -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif\";const GOLF_SIDE_LABEL=\"Golf Course Work\";const GOLF_SIDE_TEXT=\"Cart paths, drainage corrections, slope shaping, and course rehabilitation planned around access, turf, and finish.\";function imageSrc(image,fallback=\"\"){if(!image)return fallback;if(typeof image===\"string\")return image;return image.src||fallback;}// Screen size that is safe on Framer's pre-rendered pages. Framer builds a page's HTML on\n// a server with no window, so at desktop width, and React then hydrates that HTML in the\n// browser. Reading window.innerWidth inside useState made a phone's first render disagree\n// with the HTML; React keeps the server's markup on a mismatch, nothing re-rendered, and\n// phones kept the desktop layout (found 2026-09-22 on the golf pages).\n// useSyncExternalStore renders the server value while it hydrates, then re-renders with\n// the real one; a page drawn fresh in the browser gets the real value on its first render.\nconst SSR_VIEWPORT_WIDTH=1440;function subscribeToViewport(onChange){window.addEventListener(\"resize\",onChange);return()=>window.removeEventListener(\"resize\",onChange);}function useViewportWidth(){return React.useSyncExternalStore(subscribeToViewport,()=>window.innerWidth,()=>SSR_VIEWPORT_WIDTH);}function useViewport(){const vw=useViewportWidth();return{isMobile:vw<768,isTablet:vw>=768&&vw<1100};}function IconArrow({size=16}){return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 5 19 12 12 19\"})]});}function IconChevronLeft({size=14}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"15 18 9 12 15 6\"})});}function PBArticleCSS(){return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n            html, body { scroll-behavior: smooth; }\n            * { box-sizing: border-box; -webkit-font-smoothing: antialiased; }\n            a { transition: opacity 0.25s ease, color 0.25s ease, border-color 0.25s ease; }\n            a:hover { opacity: 0.82; }\n            .pb-back:hover { opacity: 1; color: ${TOKENS.limestone} !important; }\n            .pb-article-cta:hover { opacity: 1; background-color: ${TOKENS.limestone} !important; color: ${TOKENS.obsidian} !important; }\n            .pb-related-link:hover { opacity: 1; border-color: rgba(217,92,48,0.5) !important; background-color: rgba(17,17,19,0.9) !important; }\n            @media (prefers-reduced-motion: reduce) {\n                * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }\n            }\n        `}});}const relatedNotes=[{category:\"Grading & Site Work\",title:\"Precision Still Needs a Field Check\",href:\"/field-notes/precision-still-needs-a-field-check\"},{category:\"Asphalt\",title:\"Why some asphalt looks good on day one but fails too early\",href:\"/field-notes/asphalt-compaction-over-compaction-ottawa\"},{category:\"Drainage\",title:\"Water Moved Where It Belongs.\",href:\"/drainage\"}];const ARTICLES=[{title:\"Why Cart Paths Hold Water Even When They Have Slope\",slug:\"cart-path-drainage-raised-shoulders\",category:\"Golf Course\",excerpt:\"A cart path can have adequate downhill slope and still retain water when built-up shoulders block the point where runoff is supposed to leave the path.\",seo_title:\"Why Golf Cart Paths Hold Water | PB Field Notes\",meta_description:\"Raised cart-path shoulders can trap runoff even where the path has good slope. A field note on drainage, edge cracking and preventive maintenance.\",body:`A cart path can have adequate downhill slope and still hold water.\n\nThe problem is often not the direction the water is travelling. It is whether the water can actually leave the path when it reaches the low point.\n\nOver time, soil, turf, fines and organic material can build up along the cart-path shoulders. Once those edges rise above the asphalt or granular surface, they begin acting like small dams. Water may continue moving downhill, but at the point where it should discharge into the surrounding terrain, the raised shoulder holds it against the path.\n\nThat changes what happens at the edge.\n\nThe edge of an asphalt path is already its least-supported area. When runoff remains against it, moisture can work in from the side while golf carts, service carts and maintenance traffic continue loading the same section. Edge cracking begins, the opening gives water another route into the structure, and the deterioration gradually expands.\n\n### What to look for\n\nWhen water is collecting on a path, do not look only at the longitudinal slope. Look at the shoulders around the low point.\n\nIf the surrounding material has built up higher than the path, the drainage outlet may simply have disappeared over time.\n\nFor grounds crews, a small maintenance correction can sometimes prevent a much larger repair. Where site conditions allow, the built-up edge can be opened at the natural drainage point so runoff has a clear route off the path. The outlet has to be wide enough for the amount of water reaching it; a tiny notch will not do much if a long section of path is concentrating runoff at that location.\n\nThe surrounding edge should generally be brought back to the path elevation, or slightly below it where appropriate, and tapered into the surrounding terrain.\n\n### PB field principle\n\n**A cart path can have plenty of slope and still hold water.**\n\nThe useful question is not only, *Where is the water flowing?*\n\nIt is also, *Can the water actually leave the path when it gets there?*\n\nA small drainage correction today can prevent a much larger path repair later.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Explore Drainage Work](/drainage)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"Why Cart Path Turns Need More Room Than Straight Runs\",slug:\"cart-path-turns-intersection-geometry\",category:\"Golf Course\",excerpt:\"Square intersections rarely match the natural tracking arc of a golf cart. Repeated corner cutting concentrates traffic on the same unsupported pavement edge.\",seo_title:\"Golf Cart Path Turns & Intersections | PB Field Notes\",meta_description:\"Why golf cart path turns and intersections often need more usable width than straight runs, especially where carts repeatedly cut the same corner.\",body:`Straight cart-path width is not always enough at an intersection or tight turn.\n\nA common layout is two paths meeting with clean, square geometry. On a drawing, the intersection looks orderly. In use, carts do not move through it like vehicles following painted traffic lanes. Drivers naturally cut the corner or swing wider through the turn.\n\nThat repeated movement matters.\n\nWhen a wheel drops off the pavement and climbs back onto it at the same location day after day, the unsupported edge takes concentrated loading. Shoulder material begins to move, the edge loses support, and cracking or breakage develops where the traffic repeatedly leaves the paved surface.\n\n### Design for the movement that actually happens\n\nWhere the surrounding hole gives you room, the better approach is to widen or taper the turn so the cart can follow its natural arc while staying on supported surface.\n\nThis does not mean making every intersection oversized. It means recognizing that a straight run and a turning area do different jobs.\n\nThe correct geometry depends on the course: available space, mature trees, slopes, drainage, turf limits, maintenance traffic and the visual character of the hole all influence what can reasonably be built.\n\n### PB field principle\n\n**Design the corner for the cart, not for the drawing.**\n\nWhen a high-traffic turn continually damages the same edge, rebuilding the edge without addressing the movement pattern may only reset the clock on the same failure.\n\nA modest change in geometry can often do more for long-term performance than simply putting the same square corner back.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"Cart Routing and Tee Box Protection\",slug:\"tee-box-protection-cart-routing\",category:\"Golf Course\",excerpt:\"Cart-path planning affects more than the pavement. Near tee complexes, routing decisions can determine where repeated traffic damages otherwise clean turf.\",seo_title:\"Cart Routing & Tee Box Protection | PB Field Notes\",meta_description:\"A field note on golf cart routing, repeated stopping points and how path geometry can help protect turf around tee complexes.\",body:`Cart-path design affects more than the pavement itself.\n\nNear a tee complex, the easiest route is usually the route golfers will take. If there is a convenient place to leave the path, carts will eventually use it.\n\nPlayers may pull closer to the tee, move aside to let another cart pass, stop beside friends, make room for a beverage cart or simply wait off the main route. None of those actions is unusual on its own. The problem is repetition.\n\nWhen the same departure point is used every day, wheel traffic becomes concentrated in a small area. The result can be a well-maintained tee box with worn, compacted or rutted turf along the edge where carts continually leave and re-enter the intended route.\n\n### Make the intended route the natural route\n\nIf an area needs protection, relying only on golfer behaviour is rarely the strongest solution.\n\nPath alignment, changes in geometry, rope lines, curbing, planting, barriers and existing natural features can all help guide movement. The treatment should fit the character of the hole rather than making the course feel over-controlled.\n\nThe goal is not to restrict the golfer unnecessarily.\n\nIt is to remove the easy invitation to drive somewhere the course does not want repeated traffic.\n\n### PB field principle\n\n**Good cart-path design manages where carts stop as carefully as where they travel.**\n\nA cart path is part of the playing environment. Its approaches, passing areas, intersections and stopping points all influence how traffic spreads through the hole.\n\nSmall routing decisions can protect the presentation of a tee complex for years.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"Why the Haul Route Matters on a Golf Course\",slug:\"golf-course-haul-routes-construction-access\",category:\"Golf Course\",excerpt:\"On mature and restricted courses, getting material to the work area can be a bigger planning problem than the repair itself.\",seo_title:\"Golf Course Haul Routes & Access | PB Field Notes\",meta_description:\"Golf course construction access requires planning around trees, overhead clearance, turf, slopes, crossings and material movement before work begins.\",body:`On a golf course, getting material to the work area can be more difficult than the construction itself.\n\nSome courses give a contractor room to move. Others are mature, heavily wooded, steep and tightly constrained. A repair may sit only a short distance from an access road and still be difficult to reach with the equipment and material required to complete it.\n\nThat is why haul-route planning starts before excavation.\n\n### Access is more than path width\n\nA route can look wide enough at ground level and still be unusable.\n\nOverhead branches may restrict truck or equipment height. Mature trunks can narrow turning areas. Steep slopes can change what equipment can safely travel the route. Bridges or crossings may limit loads. Soft turf can turn a direct line into an unacceptable one. Staging space may be almost nonexistent.\n\nMaterial also has to move both ways: aggregate and asphalt need to reach the work area, while excavated material and debris may need to leave it.\n\n### The access route is part of the finished result\n\nA technically sound cart-path repair is not a successful course project if the route to the repair leaves broken limbs, bark damage, rutted fairways or damaged landscape features behind.\n\nOn a mature course, a tree or visual feature may have been part of a hole for decades. Those elements need to be treated as part of the project constraints, not obstacles to be pushed through.\n\nBefore production starts, equipment limits, overhead clearance, slopes, crossings, staging locations and material movement should all be considered.\n\n### PB field principle\n\n**The route to the repair deserves the same discipline as the repair itself.**\n\nThe objective is controlled access: complete the work without unnecessarily spreading construction damage through the property.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Explore Site Work & Excavation](/excavation)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"Tree Root Conflicts Beneath Mature Cart Paths\",slug:\"tree-root-conflicts-mature-courses\",category:\"Golf Course\",excerpt:\"Older cart paths beside mature trees often share the same ground with established roots, and those conflicts can materially change a rehabilitation scope.\",seo_title:\"Tree Roots Beneath Golf Cart Paths | PB Field Notes\",meta_description:\"Mature tree roots are common beneath older golf cart paths. PB discusses why significant root conflicts should be anticipated and reviewed during repairs.\",body:`On a mature course, the cart path and the surrounding trees may have been sharing the same ground for decades.\n\nWhen an older path runs through or beside established trees, roots inside the work area should not be treated as an unexpected condition.\n\nPathway repairs in heavily treed areas frequently expose roots crossing below or through the pavement structure. Sometimes the visible cracking or heaving at the surface is only the symptom of what is happening underneath.\n\n### Not every root conflict is the same\n\nSmall roots may sometimes be manageable within the repair.\n\nLarger structural roots are different. They can affect the proposed excavation line, path elevation and repair geometry, and cutting them may materially affect the health or stability of the tree.\n\nOn a golf course, that matters beyond construction. A mature tree may be part of the identity, strategy or presentation of the hole. Losing it can change far more than a section of pavement.\n\nWhen a significant root is exposed, the right response is not to automatically continue excavation through it.\n\nThe condition should be communicated to the course and the repair approach reviewed. Depending on the situation, the superintendent, ownership group or a qualified tree specialist may need to be involved before the work proceeds.\n\n### PB field principle\n\n**Root conflicts are a design constraint, not a surprise.**\n\nAnd just as importantly:\n\n**The objective is not to save the path at the expense of the course.**\n\nThere is no universal rule for which roots are safe to cut. Species, tree condition, root size, location and structural role all matter.\n\nThe construction decision has to respect the larger property.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Explore Site Work & Excavation](/excavation)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"Using the Off-Season for Golf Course Rehabilitation\",slug:\"off-season-golf-course-construction\",category:\"Golf Course\",excerpt:\"Post-close work can remove tee-sheet pressure and, when conditions are firm, create a useful window for excavation, drainage and base reconstruction.\",seo_title:\"Off-Season Golf Course Construction | PB Field Notes\",meta_description:\"How Eastern Ontario golf courses can use the post-close period for excavation, drainage and base rehabilitation while saving final paving for suitable conditions.\",body:`Eastern Ontario has a short golf season, so major course work is often pushed into the period after closing.\n\nThat can mean less predictable weather, but it also changes the logistics of the project.\n\nOnce the course is closed, golfers no longer need to be routed around active work. Tee-sheet pressure disappears. Equipment and material movement can be simpler. Staging becomes easier. The crew can focus on the work rather than continually opening and closing areas around play.\n\n### Firm ground can change access\n\nIn some late-season conditions, firm or frozen ground can also help support equipment across turf that would be vulnerable to rutting when soft or saturated.\n\nThat does not mean frozen ground is automatically suitable for construction. Equipment weight, frost depth, drainage, snow and the condition of the turf still matter.\n\nBut when the conditions are right, a course can sometimes use that window for the parts of the work that benefit most from unrestricted access.\n\n### Separate underlying work from final surfacing when the schedule allows\n\nA practical sequence may include removals, excavation, drainage corrections, rough grading, granular reinstatement and mechanical compaction after the course closes.\n\nIf paving conditions are suitable, the asphalt can follow.\n\nIf they are not, the prepared structure can remain until an appropriate paving window returns.\n\nPB still treats mechanical compaction as essential. A freeze-thaw cycle is not a substitute for proper compaction.\n\nWhere the schedule permits, however, the additional time can allow the reconstructed structure to settle and can reveal areas that deserve adjustment before the final surface is placed.\n\n### PB field principle\n\n**Compact it properly. Give it time when the schedule allows. Finish it when the conditions are right.**\n\nThe off-season is not simply a compromise. Used carefully, it can be a productive construction window.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"Late-Season Cart Path Paving on Restricted Terrain\",slug:\"late-season-golf-course-paving-planning\",category:\"Golf Course\",excerpt:\"When a course needs the work complete before the next season, cold conditions and restricted terrain make crew coordination and compaction access critical.\",seo_title:\"Late-Season Golf Cart Path Paving | PB Field Notes\",meta_description:\"A field note on late-season golf course paving, steep cart paths, roller access and keeping placement and breakdown compaction tightly coordinated.\",body:`Sometimes the work cannot wait until spring.\n\nA course may need removals, base reconstruction and final paving completed before the next playing season, leaving a short late-season construction window.\n\nAt that point, paving becomes as much a production-planning exercise as a placement exercise.\n\nCold ground, low ambient temperatures, moisture and wind can reduce the time available between asphalt placement and effective compaction. On a golf course, steep grades, narrow travel paths, restricted approaches and limited turnaround space can make that window even harder to manage.\n\n### Solve roller access before asphalt arrives\n\nA roller that can follow a paver comfortably on an open parking lot may not be able to reach every section of a steep cart path from the same direction.\n\nThat means the compaction plan has to be established before the paving train enters the section.\n\nTruck timing, paver continuity, handwork, roller positioning and access from the top or bottom of a grade can all influence whether the operation remains continuous.\n\nIn PB's field experience, the breakdown roll is one of the most important parts of that sequence. The initial compaction needs to begin while the mix is still workable.\n\nLate in the season, unnecessary delay matters more because the available temperature window closes quickly.\n\nThe working sequence has to stay tight:\n\n**placement → breakdown → intermediate/final rolling**\n\n### PB field principle\n\n**Every section of fresh asphalt needs an achievable compaction plan before the paving train enters it.**\n\nAnd:\n\n**Build the paving train around the terrain.**\n\nExtremely steep or restricted areas can require specialized planning. Public guidance should remain at the planning level; equipment-specific restraint, towing or assistance procedures depend on the machines, site conditions and applicable safety controls.\n\n---\n\n[Explore Golf Course Groundworks](/golf-course-groundworks)  \n[Discuss a Course Project](https://pbpaving.com/#intake)`},{title:\"The Compaction Detail That Decides How Asphalt Ages\",slug:\"asphalt-compaction-over-compaction-ottawa\",category:\"Asphalt\",excerpt:\"A surface can look finished before it is structurally resolved. Compaction decides how the asphalt mat settles, supports traffic, resists moisture and carries load over time.\",seo_title:\"Asphalt Compaction and Over-Compaction in Ottawa | PB Paving\",meta_description:\"Why roller timing, mix temperature and the base underneath decide how long asphalt lasts. A PB Paving & Landscaping field note from Eastern Ontario.\",sideLabel:\"Asphalt Paving\",sideText:\"Asphalt paving shaped around clean grades, controlled edges, and a surface built for long-term use.\",heroAlt:\"Asphalt compaction on a fresh paving mat\",related:[{category:\"Golf Course\",title:\"Late-Season Cart Path Paving on Restricted Terrain\",href:\"/field-notes/late-season-golf-course-paving-planning\"},{category:\"Grading & Site Work\",title:\"Precision Still Needs a Field Check\",href:\"/field-notes/precision-still-needs-a-field-check\"},{category:\"Drainage\",title:\"Water Moved Where It Belongs.\",href:\"/drainage\"}],body:`Fresh asphalt can look finished before compaction has actually done its work.\n\nColour, texture and a clean edge tell you very little about how well the mat has consolidated underneath the surface. That part of the paving operation happens while the mix is still responding to the roller.\n\nCompaction is what brings the placed material together into a stable pavement structure. The objective is not to keep rolling until the surface simply looks tight. The objective is to achieve the required consolidation while the mix, equipment and site conditions still allow it.\n\n**Compaction is a controlled window — not a contest to see how many roller passes can be put on the asphalt.**\n\n### The working window\n\n**The important work happens while the mix can still move.**\n\nAsphalt begins cooling as soon as it leaves the plant, and that cooling continues through transportation, placement and rolling.\n\nThe practical compaction window changes with the mix, lift thickness, weather, haul conditions, surface below it and the equipment being used. That is why a single universal temperature or number of roller passes does not describe every paving operation.\n\nRoll too early on an unstable mat and the material can move instead of consolidate. Wait too long and the mix can become increasingly resistant to meaningful compaction.\n\nThe crew has to read what the asphalt is doing while maintaining a rolling sequence that keeps pace with placement.\n\n### Four things the roller cannot ignore\n\n**01 — Mix condition.** The asphalt has to remain workable enough for the roller to consolidate the mat without simply pushing or disturbing it.\n\n**02 — Roller timing.** Useful compaction happens during a limited working window. Wait too long and density the mix could have reached is lost.\n\n**03 — Pattern and coverage.** Consistent passes matter. Missed areas, edges and joints often reveal themselves long after the paving crew has left.\n\n**04 — What sits underneath.** Compaction performs only as well as the granular base, drainage and preparation beneath it.\n\n### What shows up later\n\n**Small misses during paving become visible with time.**\n\nUnder-compacted areas do not always announce themselves on paving day.\n\nThey may first appear as movement under traffic, a more open surface, localized settlement, early cracking or deterioration around joints and edges. Water and repeated loading then have more opportunity to work on the weak area. In Eastern Ontario, freeze-thaw cycles and spring moisture add to that pressure every year.\n\nThat is part of what makes compaction so important: the work is mostly hidden once the paving operation is complete.\n\n**The asphalt does not need to look different on day one for the difference in workmanship to matter later.**\n\n### Edges and joints\n\n**The vulnerable areas are usually the least forgiving.**\n\nOpen edges, longitudinal joints, tie-ins and areas requiring handwork deserve particular attention because they do not always receive the same confinement or roller coverage as the centre of a wide paving run.\n\nA consistent mat depends on more than the main roller passes. The sequence has to account for the entire paved area — including the places where equipment access becomes tighter and where one surface meets another.\n\n### Below the asphalt\n\n**The surface is only as sound as what lies beneath it.**\n\nAsphalt compaction and site preparation work together; one does not stand in for the other.\n\nIf the granular structure underneath is unstable, wet, poorly graded or inadequately compacted, the finished pavement is still being asked to carry load over a weak foundation.\n\nBase preparation, drainage, asphalt placement and compaction are connected operations. Treating any one of them as an isolated step is where otherwise clean work begins to lose durability.\n\n### PB field principle\n\n**Compaction has to follow the pavement, not a stopwatch.**\n\nStart with a stable, properly prepared base.\nKeep placement and rolling coordinated.\nCompact while the mix is still responding properly.\nGive joints, edges and handwork the same attention as the main mat.\n\nThere is no single roller pass, temperature number or density shortcut that replaces understanding how the entire paving operation is behaving.\n\nThe objective is simpler than that:\n\n**Put the asphalt down correctly.**\n**Compact it while the opportunity is there.**\n**Leave the pavement with the structure it needs to age well.**\n\n---\n\n[Explore Driveway Paving](/driveway-paving)\n[Discuss Your Project](https://pbpaving.com/#intake)`},{title:\"Precision Still Needs a Field Check\",slug:\"precision-still-needs-a-field-check\",category:\"Grading & Site Work\",excerpt:\"Technology has changed how grading work is laid out and controlled. GPS, lasers, digital levels, machine control, and survey models can make work faster, more repeatable, and more precise. Used properly, they are valuable tools.\",seo_title:\"Precision Still Needs a Field Check | PB Paving & Landscaping\",meta_description:\"GPS, lasers and machine control improve grading precision, but experienced field verification still matters. A PB Field Note on visual layout, grade control and preventing costly rework.\",sideLabel:\"Site Work & Excavation\",sideText:\"Groundwork that removes uncertainty — controlled elevations, clean access, and site conditions prepared for everything that follows.\",heroAlt:\"Grade layout and field verification on a site\",related:[{category:\"Asphalt\",title:\"Why some asphalt looks good on day one but fails too early\",href:\"/field-notes/asphalt-compaction-over-compaction-ottawa\"},{category:\"Golf Course\",title:\"Why Cart Paths Hold Water Even When They Have Slope\",href:\"/field-notes/cart-path-drainage-raised-shoulders\"},{category:\"Drainage\",title:\"Water Moved Where It Belongs.\",href:\"/drainage\"}],body:`**But precision on a screen does not replace judgment on the ground.**\n\nWe have seen grading crews follow GPS elevations over large areas only to discover that the resulting grade was several inches too high. In one case, the digital elevation was bringing the finished surface flush with — and in places above — an existing barrier curb immediately beside the work.\n\n**The curb was the warning.**\n\nThe number may have been coming from the model, but the physical site was showing that something did not make sense.\n\nPlans change. Models can contain outdated information. Control points can be entered incorrectly. Equipment can lose calibration. Sometimes the discrepancy is simple. What matters is recognizing it before a large area is built to the wrong elevation.\n\n### Field verification\n\n**Use the technology. Check it against the site.**\n\nGPS and lasers are excellent for establishing elevations.\n\nExisting site conditions are excellent for validating them.\n\nCurbs, catch basins, concrete slabs, building entrances, sidewalks, existing pavement, drainage outlets, and other fixed features give the crew real-world reference points.\n\nIf the digital information produces a relationship that does not make sense against those features, that is the time to stop and verify — not continue simply because the screen says the elevation is correct.\n\n**A technically precise measurement can still produce the wrong finished result if the information behind it is wrong.**\n\n### Visual control\n\n**Make the grade visible.**\n\nThere is another reason we still use simple layout methods.\n\nNot everyone working in an area needs to operate the GPS, understand a survey model, or read a grade rod.\n\nThey do need to understand where the finished surface belongs.\n\nOnce the elevations are established, a few well-placed visual references can make that immediately clear.\n\nA paint mark on a curb.\nA chalk line.\nA marked stake.\nA string line stretched between known elevations.\n\nOn complicated grading work, we may establish a series of stakes and strings and work through the area grid by grid. On very shallow slopes, where the elevation change can be difficult to see, those references become particularly useful.\n\nThe objective is not to replace modern equipment with string.\n\nThe objective is to make the intended grade visible to everyone responsible for building it.\n\n### Production control\n\n**Simple controls prevent expensive rework.**\n\nThis is where a few minutes spent on layout can save considerably more time later.\n\nA grading error found while granular material is still being placed may require a small adjustment.\n\nThe same error found after the area has been completely graded and compacted requires considerably more work.\n\nFinding it immediately before asphalt placement, sod, concrete, or interlock is worse again.\n\n**01 —** Material may need to be removed.\n**02 —** The area may need to be regraded.\n**03 —** Compaction has to be repeated.\n**04 —** Elevations need to be checked again.\n**05 —** The next operation may be delayed while the correction is made.\n\nThe cost of the mistake increases as the project moves forward.\n\nGood visual layout reduces that risk because the crew has something they can continuously check while the work is happening rather than relying on someone returning later to discover that the intended grade was misunderstood.\n\n### PB field principle\n\n**The best layout is the one the crew can read.**\n\nSophisticated technology is valuable when it improves control.\n\nSimple methods are valuable when they improve communication.\n\nBoth belong on the same site.\n\nEstablish the grade with the appropriate technology.\nCompare it against the physical conditions around the work.\nMake the intended result visible to the crew.\nCheck it as the work progresses.\n\nThe goal is not to prove that one method is better than another.\n\nThe goal is to get the grade right the first time.\n\n**Sometimes the most effective tool for doing that is GPS.**\n**Sometimes it is a laser.**\n**And sometimes a string line across two stakes tells you exactly what you need to know.**\n\n---\n\n[Explore Site Work & Excavation](/excavation)\n[Discuss Your Project](https://pbpaving.com/#intake)`}];function renderInlineMarkdown(text,keyPrefix){const parts=[];const regex=/(\\*\\*[^*]+\\*\\*|\\*[^*]+\\*|\\[[^\\]]+\\]\\([^)]+\\))/g;let cursor=0;let match;let token=0;while((match=regex.exec(text))!==null){if(match.index>cursor)parts.push(text.slice(cursor,match.index));const value=match[0];if(value.startsWith(\"**\")&&value.endsWith(\"**\")){parts.push(/*#__PURE__*/_jsx(\"strong\",{children:value.slice(2,-2)},`${keyPrefix}-s-${token}`));}else if(value.startsWith(\"*\")&&value.endsWith(\"*\")){parts.push(/*#__PURE__*/_jsx(\"em\",{children:value.slice(1,-1)},`${keyPrefix}-e-${token}`));}else{const linkMatch=value.match(/^\\[([^\\]]+)\\]\\(([^)]+)\\)$/);if(linkMatch){parts.push(/*#__PURE__*/_jsx(\"a\",{href:linkMatch[2],style:{color:TOKENS.limestone,borderBottom:`1px solid ${TOKENS.ember}`,textDecoration:\"none\"},children:linkMatch[1]},`${keyPrefix}-a-${token}`));}else{parts.push(value);}}cursor=match.index+value.length;token++;}if(cursor<text.length)parts.push(text.slice(cursor));return parts;}function renderMarkdownBlocks(body,isMobile){const lines=body.split(\"\\n\");const blocks=[];let i=0;let blockKey=0;while(i<lines.length){const line=lines[i].trim();if(!line){i++;continue;}if(line===\"---\"){blocks.push(/*#__PURE__*/_jsx(\"hr\",{style:{border:0,borderTop:`1px solid ${TOKENS.hairline}`,margin:\"44px 0 0\"}},`hr-${blockKey++}`));i++;continue;}if(line.startsWith(\"### \")){blocks.push(/*#__PURE__*/_jsx(\"h2\",{style:{margin:\"54px 0 0\",fontSize:isMobile?24:30,lineHeight:1,letterSpacing:\"-0.03em\",textTransform:\"uppercase\",fontWeight:900,color:TOKENS.limestone},children:line.slice(4)},`h-${blockKey++}`));i++;continue;}const paragraphLines=[line];i++;while(i<lines.length){const candidate=lines[i].trim();if(!candidate||candidate===\"---\"||candidate.startsWith(\"### \"))break;paragraphLines.push(candidate);i++;}const paragraph=paragraphLines.join(\"\\n\");const fragments=paragraph.split(\"\\n\");blocks.push(/*#__PURE__*/_jsx(\"p\",{style:{margin:blocks.length===0?0:\"24px 0 0\",color:TOKENS.limeGrey,fontSize:isMobile?17:18,lineHeight:1.78},children:fragments.map((fragment,index)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[renderInlineMarkdown(fragment,`m-${blockKey}-${index}`),index<fragments.length-1&&/*#__PURE__*/_jsx(\"br\",{})]},`f-${index}`))},`p-${blockKey++}`));}return blocks;}function extractSectionHeadings(body){return body.split(\"\\n\").map(line=>line.trim()).filter(line=>line.startsWith(\"### \")).map(line=>line.slice(4));}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function PBFieldNote_GolfCourse({heroImg,articleSlug=\"cart-path-drainage-raised-shoulders\",ctaHref=\"https://pbpaving.com/#intake\",ctaLabel=\"Discuss a Course Project\",backHref=\"/field-notes\"}){const{isMobile,isTablet}=useViewport();const heroImage=imageSrc(heroImg);const article=ARTICLES.find(record=>record.slug===articleSlug)??ARTICLES[0];// Staging-domain guard (2026-09-08). Framer also serves this project on its own\n// *.framer.app subdomain, crawlable, with canonicals pointing at itself. On that host\n// only, mark the page noindex and point the canonical at the real URL. The test is a\n// POSITIVE match on \".framer.app\" — production can never match it, so this can never\n// fire on pbpaving.com. Same guard as Components/PBNavBar_NoCasestudy.tsx.\nReact.useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const host=window.location.hostname.toLowerCase();if(!host.endsWith(\".framer.app\"))return;const robots=document.createElement(\"meta\");robots.id=\"pb-staging-noindex\";robots.name=\"robots\";robots.content=\"noindex, nofollow\";document.head.appendChild(robots);const canonical=document.querySelector('link[rel=\"canonical\"]');const previousHref=canonical?canonical.href:null;const link=canonical||document.createElement(\"link\");link.rel=\"canonical\";link.href=\"https://pbpaving.com\"+window.location.pathname;if(!canonical)document.head.appendChild(link);return()=>{robots.remove();if(previousHref)link.href=previousHref;else if(!canonical)link.remove();};},[]);React.useEffect(()=>{if(typeof document!==\"undefined\"){document.title=article.seo_title;let meta=document.querySelector('meta[name=\"description\"]');if(!meta){meta=document.createElement(\"meta\");meta.name=\"description\";document.head.appendChild(meta);}meta.content=article.meta_description;}},[article.meta_description,article.seo_title]);const articleMaxWidth=760;const sectionPad=isMobile?\"72px 20px\":\"100px 40px\";return /*#__PURE__*/_jsxs(\"main\",{style:{backgroundColor:TOKENS.obsidian,color:TOKENS.limestone,fontFamily:fontStack,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(PBArticleCSS,{}),/*#__PURE__*/_jsxs(\"section\",{style:{position:\"relative\",minHeight:isMobile?560:720,padding:isMobile?\"104px 20px 64px\":\"160px 40px 88px\",display:\"flex\",alignItems:\"flex-end\",borderBottom:`1px solid ${TOKENS.hairline}`},children:[heroImage&&/*#__PURE__*/_jsx(\"img\",{src:heroImage,alt:article.heroAlt??\"Golf course groundworks — low disruption approach\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",filter:\"saturate(0.72) contrast(1.1)\",opacity:.48}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(to top, rgba(12,12,14,1) 0%, rgba(12,12,14,0.82) 38%, rgba(12,12,14,0.28) 100%)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:\"linear-gradient(rgba(242,242,240,0.028) 1px, transparent 1px), linear-gradient(90deg, rgba(242,242,240,0.028) 1px, transparent 1px)\",backgroundSize:\"52px 52px\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",zIndex:2,maxWidth:1200,margin:\"0 auto\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"a\",{className:\"pb-back\",href:backHref,style:{display:\"inline-flex\",alignItems:\"center\",gap:6,color:TOKENS.limeGrey,textDecoration:\"none\",fontSize:11,fontWeight:800,textTransform:\"uppercase\",letterSpacing:\"0.15em\",marginBottom:isMobile?28:36},children:[/*#__PURE__*/_jsx(IconChevronLeft,{size:13}),\"Field Notes\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:articleMaxWidth},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:18,marginBottom:20},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:TOKENS.ember,fontSize:11,fontWeight:800,letterSpacing:\"0.22em\",textTransform:\"uppercase\"},children:article.category}),/*#__PURE__*/_jsx(\"span\",{style:{color:TOKENS.limeGreySoft,fontSize:11,fontWeight:600,letterSpacing:\"0.1em\"},children:\"4 min read\"})]}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:0,fontSize:isMobile?\"clamp(40px, 11vw, 64px)\":\"clamp(64px, 7.5vw, 112px)\",lineHeight:.88,letterSpacing:\"-0.055em\",textTransform:\"uppercase\",fontWeight:950},children:article.title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"24px 0 0\",color:TOKENS.limeGrey,fontSize:isMobile?16:17,lineHeight:1.62,maxWidth:700},children:article.excerpt}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8,marginTop:28},children:[article.category].map(tag=>/*#__PURE__*/_jsx(\"span\",{style:{color:TOKENS.limeGrey,border:`1px solid ${TOKENS.hairline}`,borderRadius:999,padding:\"7px 10px\",fontSize:11,fontWeight:700,textTransform:\"uppercase\",letterSpacing:\"0.11em\"},children:tag},tag))})]})]})]}),/*#__PURE__*/_jsx(\"section\",{style:{padding:sectionPad,borderBottom:`1px solid ${TOKENS.hairline}`},children:/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:1200,margin:\"0 auto\",width:\"100%\",display:\"grid\",gridTemplateColumns:isMobile||isTablet?\"1fr\":`${articleMaxWidth}px 1fr`,gap:isMobile?0:80,alignItems:\"start\"},children:[/*#__PURE__*/_jsxs(\"article\",{children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:TOKENS.limestone,fontSize:isMobile?20:24,lineHeight:1.45,letterSpacing:\"-0.02em\",fontWeight:700,borderLeft:`3px solid ${TOKENS.ember}`,paddingLeft:24},children:article.excerpt}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:32},children:renderMarkdownBlocks(article.body,isMobile)})]}),!isMobile&&!isTablet&&/*#__PURE__*/_jsxs(\"aside\",{style:{position:\"sticky\",top:40,display:\"flex\",flexDirection:\"column\",gap:2},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:10,textTransform:\"uppercase\",letterSpacing:\"0.2em\",color:TOKENS.limeGrey,fontWeight:800,marginBottom:18},children:\"In This Note\"}),extractSectionHeadings(article.body).map(item=>/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 0 12px 16px\",borderLeft:`1px solid ${TOKENS.hairline}`,color:TOKENS.limeGreySoft,fontSize:13,lineHeight:1.45,fontWeight:600},children:item},item)),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:36,padding:\"28px 24px\",backgroundColor:TOKENS.obsidianLift,border:`1px solid ${TOKENS.hairline}`,borderLeft:`2px solid ${TOKENS.ember}`},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:10,textTransform:\"uppercase\",letterSpacing:\"0.18em\",color:TOKENS.ember,fontWeight:800,marginBottom:14},children:article.sideLabel??GOLF_SIDE_LABEL}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:TOKENS.limeGrey,fontSize:14,lineHeight:1.62},children:article.sideText??GOLF_SIDE_TEXT}),/*#__PURE__*/_jsxs(\"a\",{className:\"pb-article-cta\",href:ctaHref,style:{display:\"inline-flex\",alignItems:\"center\",gap:9,marginTop:20,backgroundColor:TOKENS.ember,color:TOKENS.obsidian,textDecoration:\"none\",padding:\"13px 16px\",fontSize:11,textTransform:\"uppercase\",letterSpacing:\"0.14em\",fontWeight:900},children:[ctaLabel,/*#__PURE__*/_jsx(IconArrow,{size:12})]})]})]})]})}),(isMobile||isTablet)&&/*#__PURE__*/_jsx(\"section\",{style:{padding:isMobile?\"52px 20px\":\"72px 40px\",borderBottom:`1px solid ${TOKENS.hairline}`,backgroundColor:TOKENS.obsidianLift},children:/*#__PURE__*/_jsx(\"div\",{style:{maxWidth:1200,margin:\"0 auto\",width:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{borderLeft:`2px solid ${TOKENS.ember}`,paddingLeft:24},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:10,textTransform:\"uppercase\",letterSpacing:\"0.2em\",color:TOKENS.ember,fontWeight:800,marginBottom:12},children:article.sideLabel??GOLF_SIDE_LABEL}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"0 0 22px\",color:TOKENS.limeGrey,fontSize:16,lineHeight:1.65},children:article.sideText??GOLF_SIDE_TEXT}),/*#__PURE__*/_jsxs(\"a\",{className:\"pb-article-cta\",href:ctaHref,style:{display:\"inline-flex\",alignItems:\"center\",gap:10,backgroundColor:TOKENS.ember,color:TOKENS.obsidian,textDecoration:\"none\",padding:\"15px 18px\",fontSize:11,textTransform:\"uppercase\",letterSpacing:\"0.15em\",fontWeight:900},children:[ctaLabel,/*#__PURE__*/_jsx(IconArrow,{size:13})]})]})})}),/*#__PURE__*/_jsx(\"section\",{style:{padding:sectionPad},children:/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:1200,margin:\"0 auto\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:24,marginBottom:isMobile?28:40,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:11,textTransform:\"uppercase\",letterSpacing:\"0.25em\",color:TOKENS.ember,fontWeight:800},children:\"Related Field Notes\"}),/*#__PURE__*/_jsxs(\"a\",{href:backHref,style:{fontSize:11,textTransform:\"uppercase\",letterSpacing:\"0.15em\",color:TOKENS.limeGrey,fontWeight:800,textDecoration:\"none\",borderBottom:`1px solid ${TOKENS.hairline}`,paddingBottom:3,display:\"inline-flex\",alignItems:\"center\",gap:8},children:[\"All Field Notes\",/*#__PURE__*/_jsx(IconArrow,{size:11})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":isTablet?\"1fr 1fr\":\"repeat(3, 1fr)\",gap:16},children:(article.related??relatedNotes).filter(note=>!note.href.endsWith(\"/\"+article.slug)).map(note=>/*#__PURE__*/_jsxs(\"a\",{className:\"pb-related-link\",href:note.href,style:{display:\"flex\",flexDirection:\"column\",padding:isMobile?24:30,backgroundColor:TOKENS.obsidianLift,border:`1px solid ${TOKENS.hairline}`,textDecoration:\"none\",color:TOKENS.limestone,minHeight:180},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:TOKENS.ember,fontSize:11,fontWeight:800,letterSpacing:\"0.18em\",textTransform:\"uppercase\",marginBottom:16},children:note.category}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,color:TOKENS.limestone,fontSize:isMobile?20:22,lineHeight:1.08,letterSpacing:\"-0.025em\",textTransform:\"uppercase\",fontWeight:900},children:note.title}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:7,marginTop:\"auto\",paddingTop:26,color:TOKENS.limeGrey,fontSize:11,fontWeight:800,letterSpacing:\"0.14em\",textTransform:\"uppercase\"},children:[\"Read\",/*#__PURE__*/_jsx(IconArrow,{size:11})]})]},note.href))})]})})]});}addPropertyControls(PBFieldNote_GolfCourse,{heroImg:{type:ControlType.Image,title:\"Hero Image\"},articleSlug:{type:ControlType.Enum,title:\"Article\",options:[\"cart-path-drainage-raised-shoulders\",\"cart-path-turns-intersection-geometry\",\"tee-box-protection-cart-routing\",\"golf-course-haul-routes-construction-access\",\"tree-root-conflicts-mature-courses\",\"off-season-golf-course-construction\",\"late-season-golf-course-paving-planning\",\"asphalt-compaction-over-compaction-ottawa\",\"precision-still-needs-a-field-check\"],optionTitles:[\"Cart Paths Hold Water\",\"Turns Need More Room\",\"Tee Box Protection\",\"Haul Route Matters\",\"Tree Root Conflicts\",\"Off-Season Rehabilitation\",\"Late-Season Paving\",\"Asphalt Compaction\",\"Precision Field Check\"],defaultValue:\"cart-path-drainage-raised-shoulders\"},ctaLabel:{type:ControlType.String,title:\"CTA Label\",defaultValue:\"Discuss a Course Project\"},ctaHref:{type:ControlType.String,title:\"CTA Link\",defaultValue:\"https://pbpaving.com/#intake\"},backHref:{type:ControlType.String,title:\"Back Link\",defaultValue:\"/field-notes\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PBFieldNote_GolfCourse\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PBFieldNote_GolfCourse.map"],"mappings":"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"}