VE Lua Documentation

Press F to search!

drawSphere

Definition


-- @/=[C]:-1
function drawSphere(...)

Callers

@/lua/ge/extensions/editor/missionEditor.lua

    --debugDrawer:drawSphere(beforeCam, 3, ColorF(1,0,0,0.5))
    im.Columns(1)
@/lua/ge/extensions/editor/vehicleDetailViewer.lua
  debugDrawer:drawLine(p4, p8, colRed)
  debugDrawer:drawSphere(c, 0.1, colRed)
end
@/lua/ge/extensions/freeroam/dragRace.lua
      -- Sphere indicating center point of the wheels
      debugDrawer:drawSphere(centerPoint, 0.2, ColorF(0.0,0.0,1.0,1.0))
      -- Sphere indicating start line
@/gameplay/missionTypes/collection/customNodes/collectionNode.lua
    table.insert(pointsToTest, oobb:getPoint(i))
    --debugDrawer:drawSphere(oobb:getPoint(i), 1, ColorF(1,1,1,1))
  end
@/lua/ge/extensions/flowgraph/nodes/environment/planet.lua
    --  print("debug")
    debugDrawer:drawSphere(center, self.pinIn.radius.value or 0, ColorF(0,0,1,0.1))
    debugDrawer:drawText(center, String("Mass: " .. string.format('%0.2E', self.pinIn.mass.value or 0)), ColorF(0,0,0,1))
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/directlyTo.lua
  im.Text("Started " .. tostring(self.started))
  --debugDrawer:drawSphere(self.position, 0.25, self.markerColor)
end
@/gameplay/missionTypes/scatterPickup/customNodes/scatterStuffInZonesNode.lua
  for _, p in ipairs(self.points or {}) do
    debugDrawer:drawSphere(p, 0.5, ColorF(0.91,0.05,0.48,0.1))
  end
@/lua/ge/extensions/gameplay/rally/transcripts/entry.lua
      local worldWheelPos = toWorldPosition(wheelPos[2])
      debugDrawer:drawSphere(worldWheelPos, wheelPos[1], ColorF(0,0,0,1))
    end
      local pos = vec3(cap.pos)
      debugDrawer:drawSphere(pos, radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
    end
    -- local pos = vec3(capture.pos)
    -- debugDrawer:drawSphere(pos, radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
  -- end
@/lua/ge/extensions/editor/gen/world.lua
			local r = 0.02*math.sqrt((s-core_camera.getPosition()):length())
			debugDrawer:drawSphere(s, r, ColorF(1,1,0,1),false)
--            if W.out.apop and W.out.apop[_] then
--            else
--                debugDrawer:drawSphere(s, r, ColorF(1,1,0,1),true)
--            end
--            end
	--        debugDrawer:drawSphere(s, 0.2, ColorF(1,1,0,1))
		end
			local r = 0.01*math.sqrt((rayCast.pos-core_camera.getPosition()):length())
			debugDrawer:drawSphere(rayCast.pos + vec3(0,0,0.25), r*4, ColorF(0.3,1,0.2,.6), false)
			Render.path({rayCast.pos, rayCast.pos + vec3(0,0,0.2)}, color(0,255,255,255), 3)
@/lua/ge/extensions/editor/vizHelper.lua

    debugDrawer:drawSphere(focusPos, 0.1, ColorF(0,1,0,1))
@/lua/ge/extensions/gameplay/markers/driftLineMarker.lua
function C:update(data)
  debugDrawer:drawSphere(self.pos, self.radius, self._inside and colorIn or colorOut)
  if self.mode == "endLine" then
  if self.mode == "endLine" then
    debugDrawer:drawSphere(self.pos, self.radius/2, finishColor)
  debugDrawer:drawLine(self.pos, data.vehPos, ColorF(0.91,0.05,0.48,0.5))
@/lua/ge/extensions/editor/crawlEditor/startingPositions.lua
  local areaColor = ColorF(0, 1, 0, 0.3) -- Green with transparency
  debugDrawer:drawSphere(areaPos, self.startingPosition.transform.radius, areaColor)
  local centerColor = ColorF(0, 1, 0, 0.8)
  debugDrawer:drawSphere(areaPos, areaDist * 0.05, centerColor)
  local iconColor = ColorF(1, 1, 0, 0.8) -- Yellow
  debugDrawer:drawSphere(iconPos, iconDist * 0.1, iconColor)
@/lua/ge/ge_utils.lua
  -- ray line
  debugDrawer:drawSphere(origin, 0.1, ColorF(1,0,0,1))
  debugDrawer:drawSphere(target, 0.1, ColorF(0,0,1,1))
  debugDrawer:drawSphere(origin, 0.1, ColorF(1,0,0,1))
  debugDrawer:drawSphere(target, 0.1, ColorF(0,0,1,1))
  -- draw the collision and the normal of it
  debugDrawer:drawSphere(res.pt, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawLine(res.pt, (res.pt + res.norm), col)
@/lua/ge/extensions/editor/aiViz.lua
  if not (editor and editor.editMode and editor.editMode.displayName == "Edit Road") then
    debugDrawer:drawSphere(n.pos, n.radius, color)
  end
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
        + lastPoint.orientation.ny*(addSubtrackParams.distance[0] + addSubtrackParams.radius[0])
  debugDrawer:drawSphere(inter, 0.2, ColorF(1, 1, 0, 1))
  debugDrawer:drawSphere(center, 1, ColorF(1, 0, 0, 1))
  debugDrawer:drawSphere(inter, 0.2, ColorF(1, 1, 0, 1))
  debugDrawer:drawSphere(center, 1, ColorF(1, 0, 0, 1))
  debugDrawer:drawLine((lastPoint.position + vec3(0,0,lastPoint.zOffset)), inter,ColorF(1, 1, 0, 1))

    debugDrawer:drawSphere(target , 0.5, ColorF(1, 0, 0, 1))
    debugDrawer:drawLine((target + nx*5), (target-nx*5),ColorF(1, 0, 0, 1))
          if seg.reverse then
            debugDrawer:drawSphere((seg.segment.points[1].position + (vec3(0,0,seg.segment.points[1].zOffset))), 3, ColorF(1, 0, 0, 0.75))
          else
          else
            debugDrawer:drawSphere((seg.segment.points[#seg.segment.points].position + (vec3(0,0,seg.segment.points[#seg.segment.points].zOffset))), 3, ColorF(1, 0, 0, 0.75))
          end
      res.pos = vec3(res.pos)
      --debugDrawer:drawSphere(res.pos, 0.6, ColorF(1,0,0,0.5))
      local doFill = not im.GetIO().KeyShift and im.GetIO().KeyCtrl and im.IsMouseClicked(0,false)
    res.pos = vec3(res.pos)
    -- debugDrawer:drawSphere(res.pos, 0.3, ColorF(1,0,0,0.5))
    local doFill = not im.GetIO().KeyShift and im.GetIO().KeyCtrl and im.IsMouseClicked(0,false)
@/lua/ge/extensions/career/modules/tether.lua
  if drawDebug then
    debugDrawer:drawSphere(t.p1, t.r1, ColorF(1,0,0,0.2))
    debugDrawer:drawLine(playerPos, t.p1, ColorF(0,0,1,0.1))
  if drawDebug then
    debugDrawer:drawSphere(t.p1, t.r1, ColorF(1,0,0,0.2))
    debugDrawer:drawSphere(t.p2, t.r2, ColorF(0,1,0,0.2))
    debugDrawer:drawSphere(t.p1, t.r1, ColorF(1,0,0,0.2))
    debugDrawer:drawSphere(t.p2, t.r2, ColorF(0,1,0,0.2))
    local p = lerp(t.p1, t.p2, clamp(xnorm, 0, 1))
  if drawDebug then
    debugDrawer:drawSphere(vehPos, t.r1, ColorF(1,0,0,0.2))
    debugDrawer:drawLine(playerPos,vehPos, ColorF(0,0,1,0.1))
@/lua/ge/extensions/editor/scriptAIManager.lua
        if (dbgPt - campos):squaredLength() < cutoffPointSq then -- 100 x 100 m
          --debugDrawer:drawSphere(dbgPt, 0.1, col)
          if k > 1 then
@/lua/vehicle/extensions/aeroDebug.lua

  --obj.debugDrawProxy:drawSphere(0.05, copVec, color(0,0,255,255))
  --obj.debugDrawProxy:drawSphere(0.05, cog, color(255,0,255,255))
  --obj.debugDrawProxy:drawSphere(0.05, copVec, color(0,0,255,255))
  --obj.debugDrawProxy:drawSphere(0.05, cog, color(255,0,255,255))
  aeroData.totalAeroForceVehicle = vec3(aeroData.totalAeroForce:dot(M.directionVectorLeft), aeroData.totalAeroForce:dot(M.directionVector), aeroData.totalAeroForce:dot(M.directionVectorUp))

    --obj.debugDrawProxy:drawSphere(0.02, rearAxlePos, color(255,0,0,255))
    --obj.debugDrawProxy:drawSphere(0.02, frontAxlePos, color(255,0,0,255))
    --obj.debugDrawProxy:drawSphere(0.02, rearAxlePos, color(255,0,0,255))
    --obj.debugDrawProxy:drawSphere(0.02, frontAxlePos, color(255,0,0,255))
@/lua/ge/extensions/core/hotlapping.lua
      for i, pn in ipairs(pathData.pathnodes.sorted) do
        debugDrawer:drawSphere(pn.pos, pn.radius, colorWhite)
@/lua/ge/extensions/editor/roadArchitect.lua
      if not (road.isArc and #road.nodes > 2) and not (road.isBridge and #road.nodes > 1) then      -- User cannot add more than 3 on arcs, and 2 on bridges.
        util.drawSphere(mousePos)                                                                   -- Draw a sphere around the mouse position on the terrain.
        if isMouseClickedL then
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePropTransformer.lua

    debugDrawer:drawSphere(nodePos, nodeRenderRadius, regularColor, false)
  end

      debugDrawer:drawSphere(chosenNodePos, nodeHoveredRenderRadius, hoveredColor, false)
      debugDrawer:drawTextAdvanced(chosenNodePos, text, color, true, false, textBackgroundColor, false, false)

  debugDrawer:drawSphere(propRefWorldPos, nodeHoveredRenderRadius, selectedColor, false)
  debugDrawer:drawTextAdvanced(propRefWorldPos, text, textWhiteColor, true, false, ColorI(0,0,0,192), false, false)

  debugDrawer:drawSphere(propRefWorldPos, nodeHoveredRenderRadius, whiteColor, false)
  debugDrawer:drawSphere(propRefXWorldPos, nodeHoveredRenderRadius, redColor, false)
  debugDrawer:drawSphere(propRefWorldPos, nodeHoveredRenderRadius, whiteColor, false)
  debugDrawer:drawSphere(propRefXWorldPos, nodeHoveredRenderRadius, redColor, false)
  debugDrawer:drawSphere(propRefYWorldPos, nodeHoveredRenderRadius, greenColor, false)
  debugDrawer:drawSphere(propRefXWorldPos, nodeHoveredRenderRadius, redColor, false)
  debugDrawer:drawSphere(propRefYWorldPos, nodeHoveredRenderRadius, greenColor, false)

    debugDrawer:drawSphere(lightPos, 0.04, lightCol)
    debugDrawer:drawLine(lightPos, lightPos + dirVec, lightCol)

    debugDrawer:drawSphere(lightPos, 0.04, lightCol1)
    debugDrawer:drawSphere(lightPos, lightRange, lightCol2)
    debugDrawer:drawSphere(lightPos, 0.04, lightCol1)
    debugDrawer:drawSphere(lightPos, lightRange, lightCol2)
  end
@/lua/ge/extensions/editor/crawlEditor/paths.lua
    if selected then
      debugDrawer:drawSphere(obj.pos, sphereRadius, clrSelected)
    else
    else
      debugDrawer:drawSphere(obj.pos, sphereRadius, clrF)
    end

    debugDrawer:drawSphere(pathnode.pos, pathnode.radius, color)
    if isRecoveryCheckpoint then
      debugDrawer:drawSphere(pathnode.pos, pathnode.radius + 1, ColorF(0.2, 0.8, 0.2, 0.3))
    end
    if isBonusCheckpoint then
      debugDrawer:drawSphere(pathnode.pos, pathnode.radius + 1, ColorF(1.0, 0.8, 0.0, 0.3))
    end
@/gameplay/missionTypes/scatterPickup/customNodes/scatterCollectNode.lua
    end
    --debugDrawer:drawSphere(self.origin, self.radius, ColorF(0.91,0.05,0.48,0.05))
  end
@/lua/ge/extensions/tech/techCore.lua
  for _, sphere in pairs(debugObjects.spheres) do
    debugDrawer:drawSphere(sphere.coo, sphere.radius, sphere.color)
  end
    local spec = dSphere.getSpec()
    debugDrawer:drawSphere(spec.coo, spec.radius, spec.color)
  end
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/playRecording.lua
      for _, p in pairs(self.recording.recording.path) do
        debugDrawer:drawSphere(vec3(p), 0.1, ColorF(1,0,1,1))
        if lastP then
@/lua/ge/extensions/gameplay/race/startPosition.lua
  local shapeAlpha = (drawMode == 'highlight') and 0.5 or 0.25
  --debugDrawer:drawSphere((self.pos), 2, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
  local rot = self.rot
@/lua/ge/extensions/editor/sitesEditor/sortedListDisplay.lua
              ColorI(0, 0, 0, 1 * 255))
      debugDrawer:drawSphere((fields.values[name]), 1, ColorF(1, 0, 0, 0.5))
      if not self.fields[name] then
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/wheelDistance.lua
      -- Sphere indicating center point of the wheels
      debugDrawer:drawSphere(point, 0.2, ColorF(0.0,0.0,1.0,1.0))
      -- Sphere indicating start line
@/lua/ge/extensions/core/trafficSignals.lua

    debugDrawer:drawSphere(debugPos, 0.3, capColor)
    if isSelected then
      debugDrawer:drawSphere(self.pos, 0.6, debugColors.main)
    for _, light in ipairs(lightsTbl) do
      debugDrawer:drawSphere(debugPos, 0.25, controllerDefinitions.signalColors[light] or controllerDefinitions.signalColors.white)
      debugPos.z = debugPos.z - 0.5
@/lua/ge/extensions/editor/scriptAIEditor.lua
  end
  debugDrawer:drawSphere(pos, 0.1, colors.textA)                                  -- A small sphere at the center of the box.
  debugDrawer:drawLineInstance(c1, c2, thickness, col)                            -- The bottom four lines.
  end
  debugDrawer:drawSphere(p, 0.1, colors.textA)                                    -- A small sphere at the center of the box.
  debugDrawer:drawArrow(p, p + fwd * 2, ColorI(0, 0, 0, 255), true)
  local color = ColorF(dwd.drawCol[0], dwd.drawCol[1], dwd.drawCol[2], 0.5)
  debugDrawer:drawSphere(pos, 0.1 * sqrt(dist), color)                          -- Draw a sphere at the current mouse position, on the map ground.
  local dn = dwd.drawNodes                                                      -- Draw the trajectory polyline, if there are at least two nodes.
    local p = vec3(n.x, n.y, n.z)
    debugDrawer:drawSphere(p, 0.1 * sqrt(p:distance(camPos)), color)
  end
      else
        debugDrawer:drawSphere(p, nDist, colors.nGlow)
      end
      local nDist = 0.15 * sqrt(camToPointDist)
      debugDrawer:drawSphere(pOld, nDist, colors.nGlow)
    end
          else
            debugDrawer:drawSphere(p, nDist, color)
          end
      else
        debugDrawer:drawSphere(p, nDist, color)
      end
@/lua/ge/extensions/gameplay/drift/drift.lua
      debugDrawer:drawLine(scannerData.startPoint, scannerData.startPoint + (tempVec2):normalized() * scanDist, blueF)
      debugDrawer:drawSphere(scannerData.startPoint + (tempVec2):normalized() * scanDist, 0.1, blueF)
    end
        debugDrawer:drawLine(scannerData.startPoint, scannerData.startPoint + (tempVec2):normalized() * scannerData.lockDist, redF)
        debugDrawer:drawSphere(scannerData.startPoint + (tempVec2):normalized() * scannerData.lockDist, 0.15, redF)
      end
    tempVecPosUp:setAdd2(point.pos, up)
    debugDrawer:drawSphere(tempVecPosUp, 0.2, tempColor)
    if point.vel then
@/lua/ge/extensions/gameplay/rally/tools/loopToolbox.lua
        -- Draw a sphere at the signboard location
        -- debugDrawer:drawSphere(pos, 0.5, ColorF(0.2, 0.5, 1.0, 0.8))
        -- Draw the flag value as text
@/lua/ge/extensions/editor/trafficManager.lua

  debugDrawer:drawSphere(mousePos, 0.25, debugColors.guide)
  if not isDragging then
@/lua/ge/extensions/editor/barriersEditor.lua
  for _, obj in ipairs(prefab.objects) do
    debugDrawer:drawSphere(obj, 1.5, color)
  end
    for _, obj in ipairs(closestElem.objects) do
      debugDrawer:drawSphere(obj, 1.25, ColorF(0,0,1,0.25))
    end
@/lua/ge/extensions/editor/raceEditor/segments.lua
        local center = (a.pos+b.pos)/2
        debugDrawer:drawSphere((center), 3, ColorF(1,1,0.2,0.75))
        local dist = self:mouseDistanceTo({pos = center, radius = 3}, self.mouseInfo)
@/lua/ge/extensions/core/vehicleMirrors.lua
    if showDebug[0] then
      debugDrawer:drawSphere(mirrorCamPos, 0.01, ColorF(1,0,0,1))
      debugDrawer:drawCylinder(mirrorCamPos, (mirrorCamPos + lookDir * 0.2), 0.005, ColorF(1,0,0,1))
@/lua/ge/extensions/gameplay/crawl/utils.lua
      end
      debugDrawer:drawSphere(pos.pos+vec3(0,0,0), radius, ColorF(1,1,1,1))
    end
@/lua/ge/extensions/gameplay/sites/zone.lua
  local shapeAlpha = (drawMode == 'highlight') and 0.75 or 0.5
  --debugDrawer:drawSphere((self.pos), self.radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
  if #clr == 4 then shapeAlpha = clr[4] end
@/lua/ge/extensions/editor/gen/region.lua
		p.z = core_terrain.getTerrainHeight(U.proj2D(p))
		debugDrawer:drawSphere(p, r, clr)
	end
@/lua/ge/extensions/scenario/busdriver.lua
  if debugPath then
    debugDrawer:drawSphere(vec3Destination, 1.6, ColorF(1.0,0.0,0.0,1.0))
    debugDrawer:drawSphere(vec3(vec3Destination.x,vec3Destination.y,vec3Destination.z-heightCorrection+proj.z ), 0.9, ColorF(0.5,0.0,0.0,1.0))
    debugDrawer:drawSphere(vec3Destination, 1.6, ColorF(1.0,0.0,0.0,1.0))
    debugDrawer:drawSphere(vec3(vec3Destination.x,vec3Destination.y,vec3Destination.z-heightCorrection+proj.z ), 0.9, ColorF(0.5,0.0,0.0,1.0))
    debugDrawer:drawLine((vec3Destination+proj), (vec3Destination-proj*2), ColorF(0.5,0.0,0.5,1.0))
@/lua/common/extensions/networking/editorToolchain.lua
        --dump{'npos', npos}
        debugDrawer:drawSphere(npos, 0.1, sphereColor)
        debugDrawer:drawText(npos, String(node.name), ColorF(0, 0, 0, 1))
@/lua/ge/extensions/editor/tech/roadArchitect/utilities.lua
-- [The size of the sphere varies with the camera distance, so as to keep the sphere about the same size].
local function drawSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, sphereColor) end
local function drawGroupSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, groupSphereColor) end
-- [The size of the sphere varies with the camera distance, so as to keep the sphere about the same size].
local function drawSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, sphereColor) end
local function drawGroupSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, groupSphereColor) end
local function drawSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, sphereColor) end
local function drawGroupSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, groupSphereColor) end
local function drawSphereHighlight(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, highlightColor) end
local function drawGroupSphere(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * 0.1, groupSphereColor) end
local function drawSphereHighlight(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, highlightColor) end
local function drawSphereHighlightRed(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, redColor) end
local function drawSphereHighlight(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, highlightColor) end
local function drawSphereHighlightRed(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, redColor) end
local function drawSphereHighlightPurple(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, highlightColorPurple) end
local function drawSphereHighlightRed(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, redColor) end
local function drawSphereHighlightPurple(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, highlightColorPurple) end
local function drawHighlightSphereRad(pos, rad) dbgDraw.drawSphere(pos, rad, highlightColor) end
local function drawSphereHighlightPurple(pos) dbgDraw.drawSphere(pos, sqrt(pos:distance(core_camera.getPosition())) * highlightMargin, highlightColorPurple) end
local function drawHighlightSphereRad(pos, rad) dbgDraw.drawSphere(pos, rad, highlightColor) end
@/lua/ge/extensions/editor/tech/roadArchitect/render.lua
        pInt2D.z = pInt2D.z - castRayStatic(pInt2D, downVec, 1000) + 0.02
        dbgDraw.drawSphere(pInt2D, 0.1 * sqrt(pInt2D:distance(camPos)), guidelineColor2)
        local dist = pInt2D:distance(p1)
    else
      dbgDraw.drawSphere(pos, 0.1 * cam2Pos, col)
    end
        if isSelectedLayer then
          dbgDraw.drawSphere(pos, 0.02 * sqrt(pos:distance(camPos)), selLayerRed)
          dbgDraw.drawLineInstance_MinArg(pos + xLeft, pos + xRight, roadThickness, selLayerRed)
    if isSelectedLayer then
      dbgDraw.drawSphere(pos, 0.02 * sqrt(pos:distance(camPos)), selLayerRed)
      dbgDraw.drawLineInstance_MinArg(pos + xLeft, pos + xRight, roadThickness, selLayerRed)
    local pos = nodes[i].p
    dbgDraw.drawSphere(pos, 0.05 * sqrt(pos:distance(camPos)), col)
  end
@/lua/ge/extensions/editor/buildingEditor.lua
			local r = 0.01*math.sqrt((s-core_camera.getPosition()):length())
			debugDrawer:drawSphere(s, r, ColorF(0,1,1,.6), true)
		end
			local r = 0.03*math.sqrt((s-core_camera.getPosition()):length())
			debugDrawer:drawSphere(s, r, ColorF(0,1,1,1))
		end
			if W.out.apop and W.out.apop[_] then
				debugDrawer:drawSphere(s, r, ColorF(1,1,0,1),false)
			else
			else
				debugDrawer:drawSphere(s, r, ColorF(1,1,0,1),true)
			end
			local r = 0.03*math.sqrt((p-core_camera.getPosition()):length())
			debugDrawer:drawSphere(p, r, ColorF(1,0,1,1), false)
		end
			local r = 0.03*math.sqrt((p-core_camera.getPosition()):length())
			debugDrawer:drawSphere(p, r, ColorF(1,0,1,1))
		end
		end
		debugDrawer:drawSphere(s[1], 0.6, c)
	end
@/lua/vehicle/bdebugImpl.lua
    for _, c in pairs(wheelContacts) do
      obj.debugDrawProxy:drawSphere(0.02, (c.contactPoint / c.totalForce), color(255, 0, 0, 255))
    end
    obj.debugDrawProxy:drawAerodynamicsCenterOfPressure(color(0, 0, 0, 0), color(0, 0, 0, 0), color(0, 0, 0, 0), color(0, 0, 0, 0), color(0, 0, 255, 255), 0.1)
    obj.debugDrawProxy:drawSphere(0.1, p, color(255, 0, 0, 255))
    obj.debugDrawProxy:drawText(p + vec3(0, 0, 0.3), color(255, 0, 0, 255), string.format("COG (%0.3f, %0.3f, %0.3f)", relCOGPos.x, relCOGPos.y, relCOGPos.z))
@/lua/ge/extensions/util/decalRoadsEditor.lua

          debugDrawer:drawSphere(n.pos, n.radius, ColorF(1,0,0, 0.1 * vis))
          --debugDrawer:drawText(pp, String(tostring(nid)), ColorF(0,0,0,1))
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
    if selected then
      debugDrawer:drawSphere(obj.pos, sphereRadius, clrSelected)
    else
    else
      debugDrawer:drawSphere(obj.pos, sphereRadius, clrF)
    end
        ColorI(0,0,0,1*255))
      debugDrawer:drawSphere((fields.values[name]), 1, ColorF(1,0,0,0.5))
      if not self.fields[name] then
@/lua/ge/extensions/gameplay/race/race.lua
  for _, pos in ipairs(data.offTrackData.offTrackPath) do
    debugDrawer:drawSphere(pos, 0.05, ColorF(1,1,1,0.5))
  end
  end
  debugDrawer:drawSphere(data.offTrackData.offPos, 0.1, ColorF(1,0,0,1))
  debugDrawer:drawSphere(data.offTrackData.onPos, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawSphere(data.offTrackData.offPos, 0.1, ColorF(1,0,0,1))
  debugDrawer:drawSphere(data.offTrackData.onPos, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawSphere(data.offTrackData.debugStuff.maxCutDepthPos, 0.1, ColorF(0,0,1,1))
  debugDrawer:drawSphere(data.offTrackData.onPos, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawSphere(data.offTrackData.debugStuff.maxCutDepthPos, 0.1, ColorF(0,0,1,1))
end
    --debugDrawer:drawLine(vec3(state.previousCorners[i]), vec3(state.currentCorners[i]),  ColorF(1,0,0,1))
    --debugDrawer:drawSphere(vec3(state.currentCorners[i]), 0.025, ColorF(1,0,0,0.25))
  end
  -- figure out if we entered any next segments
  --debugDrawer:drawSphere(pos, 0.125, ColorF(1,0,0,0.25))
  -- id of the segment we have completed (and then advance to its successors)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veLightsDebug.lua

      debugDrawer:drawSphere(lightPos, 0.04, lightCol, not zTestEnabled[0])
      debugDrawer:drawLine(lightPos, lightPos + dirVec, lightCol, not zTestEnabled[0])

      debugDrawer:drawSphere(lightPos, 0.04, lightCol1, not zTestEnabled[0])
      debugDrawer:drawSphere(lightPos, lightRange, lightCol2)
      debugDrawer:drawSphere(lightPos, 0.04, lightCol1, not zTestEnabled[0])
      debugDrawer:drawSphere(lightPos, lightRange, lightCol2)
@/lua/ge/extensions/editor/objectTool.lua
    local alpha = 0.5
    debugDrawer:drawSphere(pos, 0.3 * scl, ColorF(1, 0, 1, 1 * alpha))
    debugDrawer:drawCylinder(pos, pos + (rot * vec3(0, -2 * scl, 0)), 0.1 * scl, ColorF(1, 0, 0, 1 * alpha))
@/lua/ge/extensions/gameplay/sites/location.lua
  local shapeAlpha = (drawMode == 'highlight') and 0.5 or 0.25
  debugDrawer:drawSphere((self.pos), self.radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
    if info then
      debugDrawer:drawSphere((info.pos), info.radius, ColorF(1,1,0.6,shapeAlpha/1.5))
      debugDrawer:drawSphere((info.a.pos), info.a.radius, ColorF(0.7,1,0.7,shapeAlpha/2))
      debugDrawer:drawSphere((info.pos), info.radius, ColorF(1,1,0.6,shapeAlpha/1.5))
      debugDrawer:drawSphere((info.a.pos), info.a.radius, ColorF(0.7,1,0.7,shapeAlpha/2))
      debugDrawer:drawSphere((info.b.pos), info.b.radius, ColorF(1,0.7,0.7,shapeAlpha/2))
      debugDrawer:drawSphere((info.a.pos), info.a.radius, ColorF(0.7,1,0.7,shapeAlpha/2))
      debugDrawer:drawSphere((info.b.pos), info.b.radius, ColorF(1,0.7,0.7,shapeAlpha/2))
      debugDrawer:drawCylinder((info.a.pos), (info.b.pos), info.radius, ColorF(1,1,1,shapeAlpha/2))
@/lua/ge/extensions/flowgraph/nodes/types/transform.lua
  z = z + self.position
  debugDrawer:drawSphere(x, 0.1, ColorF(1,0,0,1))
  debugDrawer:drawSphere(y, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawSphere(x, 0.1, ColorF(1,0,0,1))
  debugDrawer:drawSphere(y, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawSphere(z, 0.1, ColorF(0,0,1,1))
  debugDrawer:drawSphere(y, 0.1, ColorF(0,1,0,1))
  debugDrawer:drawSphere(z, 0.1, ColorF(0,0,1,1))
  debugDrawer:drawLine(self.position, x, ColorF(1,0,0,1))
  if self.displayMode == 'default' then
    debugDrawer:drawSphere(self.position, 0.25, self.markerColor)
  elseif self.displayMode == 'sphereX' then
  elseif self.displayMode == 'sphereX' then
    debugDrawer:drawSphere(self.position, self.scale.x, self.markerColor)
  elseif self.displayMode == 'sphereY' then
  elseif self.displayMode == 'sphereY' then
    debugDrawer:drawSphere(self.position, self.scale.y, self.markerColor)
  elseif self.displayMode == 'sphereZ' then
  elseif self.displayMode == 'sphereZ' then
    debugDrawer:drawSphere(self.position, self.scale.z, self.markerColor)
  elseif self.displayMode == 'halfBox' then
@/lua/ge/extensions/editor/gen/decal.lua
        r = r*math.sqrt((pos-core_camera.getPosition()):length())
        debugDrawer:drawSphere(pos, r, c) -- ColorF(1,1,0,0.4))
    end
            local r = 0.1*math.sqrt((p-core_camera.getPosition()):length())
            debugDrawer:drawSphere(p, r, ColorF(1,1,0,0.3))
        end
            local clr = anodesel[i] and ColorF(1,0,1,0.6) or ColorF(0,1,1,0.6)
            debugDrawer:drawSphere(p, r, clr)
        end
    --            sphere(s, r, ColorF(1,1,0,1))
                debugDrawer:drawSphere(s, r, ColorF(1,1,0,1))
            end
            end
--            debugDrawer:drawSphere(s, r, ColorF(1,1,1,0.5))
        end
@/lua/ge/extensions/editor/dragRaceEditor/waypoints.lua
  debugDrawer:drawTextAdvanced(pos, String(waypoint.type), constants.CONSTANTS.COLORS.WHITE, true, false, constants.CONSTANTS.COLORS.BLACK)
  debugDrawer:drawSphere(pos, scale, ColorF(1,1,1,0.2))
end
@/lua/ge/extensions/gameplay/rally/vehicleTracker.lua
    markerPos.z = markerPos.z + 2.0
    debugDrawer:drawSphere(markerPos, 1.5, ColorF(1, 0, 1, 0.8)) -- Magenta sphere
@/lua/ge/extensions/flowgraph/nodes/vehicle/touchingStatic.lua
      local color = v.hit and ColorF(1, 0, 0, 1) or ColorF(0, 1, 0, 0.5)
      debugDrawer:drawSphere(v.pos, 0.1, color)
    end
@/lua/ge/extensions/editor/terrainEditor.lua
      else
        debugDrawer:drawSphere(hit.pos, 0.1, ColorF(1,0,0,1))
        if im.IsMouseClicked(0) then
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/path.lua
        local col = editor.getPreference("dynamicDecalsTool.general.dataPointSphereColor")
        debugDrawer:drawSphere(pos, editor.getPreference("dynamicDecalsTool.general.dataPointSphereSize"), ColorF(col[1], col[2], col[3], col[4]), col[4] < 0.99 and true or false)
        debugDrawer:drawTextAdvanced(pos, String(string.format("  %d  ", i)), ColorF(1,1,0,1), true, false, ColorI(40, 40, 40, 0.75*255))
        local col = editor.getPreference("dynamicDecalsTool.general.dataPointSphereColor")
        debugDrawer:drawSphere(pos, editor.getPreference("dynamicDecalsTool.general.dataPointSphereSize"), ColorF(col[1], col[2], col[3], col[4]), col[4] < 0.99 and true or false)
        debugDrawer:drawTextAdvanced(pos, String(string.format("  %d  ", k)), ColorF(1,1,0,1), true, false, ColorI(40, 40, 40, 0.75*255))
@/lua/ge/extensions/util/trackBuilder/multiTrackMerger.lua
    }
    debugDrawer:drawSphere(bezierPoints[i+1].position, 0.2, ColorF(1, 1, 0, 1))
  end
  for _,p in ipairs(points) do
    debugDrawer:drawSphere(p.position, 1, ColorF(1, 0, 0, 1))
  end
  end
  debugDrawer:drawSphere(center, 1, ColorF(0, 1, 0, 1))
  local edges = {}
@/lua/ge/extensions/editor/dragRaceEditor/strips.lua
          -- Draw selected waypoint with different color
          debugDrawer:drawSphere(pos, 2.0, ColorF(1, 1, 0, 0.8)) -- Yellow for selected
          debugDrawer:drawTextAdvanced(pos, String(waypoint.type or "waypoint"), ColorF(1, 1, 1, 1), true, false, ColorI(0, 0, 0, 255))
          -- Draw normal waypoint
          debugDrawer:drawSphere(pos, 1.5, ColorF(0, 1, 0, 0.6)) -- Green for normal
        end
@/lua/ge/extensions/editor/gen/utils.lua
--        p.z = core_terrain.getTerrainHeight(U.proj2D(p))
		debugDrawer:drawSphere(p + plus, r, clr, false)
	end
@/lua/ge/extensions/editor/roadEditor.lua
      if road:getNodeCount() == 1 then
        debugDrawer:drawSphere(pos, road:getNodeWidth(0)/2, roadRiverGui.highlightColors.nodeTransparent, false)
      end
    if isNodeSelected(road:getID(), index - 1) and isRoadSelected(road:getID()) then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode, false)
    elseif hoveredNodeInfo[road:getID()] and hoveredNodeInfo[road:getID()] == (index - 1) then
    elseif hoveredNodeInfo[road:getID()] and hoveredNodeInfo[road:getID()] == (index - 1) then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.hoveredNode, false)
    else
    else
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.node, false)
    end
    --[[if not im.IsMouseDown(1) then
      debugDrawer:drawSphere(focusPoint, 0.5, cursorColor)
    end]]
        if selectedRoad and selectedRoad:containsPoint(focusPointP3F) ~= -1 and roadTempNodeIndex == -1 then
          debugDrawer:drawSphere(focusPointP3F, (camPos - focusPoint):length() / 40, roadRiverGui.highlightColors.node, false)
          debugDrawer:drawTextAdvanced(focusPointP3F, "Insert node here.", ColorF(1.0,1.0,1.0,1), true, false, ColorI(0, 0, 0, 128))
      if not drawingOnSelectedRoad and not tempNodeAvailable then
        debugDrawer:drawSphere(focusPointP3F, editor.getPreference("roadEditor.general.defaultWidth") / 2, roadRiverGui.highlightColors.nodeTransparent, false)
        debugDrawer:drawTextAdvanced(focusPointP3F, String("Road Width: " .. string.format("%.2f", editor.getPreference("roadEditor.general.defaultWidth")) .. (editor.getPreference("roadEditor.general.dragWidth") and ". Change width by dragging." or "")), ColorF(1.0,1.0,1.0,1), true, false, ColorI(0, 0, 0, 128))
@/lua/ge/extensions/editor/meshEditor.lua
      if mesh:getNodeCount() == 1 then
        debugDrawer:drawSphere(pos, mesh:getNodeWidth(0)/2, roadRiverGui.highlightColors.nodeTransparent,false)
      end
      editor.drawAxisGizmo()
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode,false)
    elseif hoveredNode == (index-1) and mesh:getID() == hoveredMeshID then
    elseif hoveredNode == (index-1) and mesh:getID() == hoveredMeshID then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.hoveredNode,false)
    else
    else
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.node,false)
    end
    --[[if not im.IsMouseDown(1) then
      debugDrawer:drawSphere(focusPoint, 0.5, cursorColor)
    end]]
      if selectedMesh and focusPointMesh then
        debugDrawer:drawSphere(focusPointMesh, (camPos - focusPointMesh):length() / 40, roadRiverGui.highlightColors.node,false)
        debugDrawer:drawTextAdvanced(focusPointMesh, "Insert node here.", ColorF(1.0,1.0,1.0,1), true, false, blackI)
      else
        debugDrawer:drawSphere(focusPointNoMesh, editor.getPreference(M.preferencesName .. ".general.defaultWidth")/2, roadRiverGui.highlightColors.nodeTransparent, false)
        debugDrawer:drawTextAdvanced(focusPointNoMesh, String(M.niceName .. " Width: " .. string.format("%.2f", editor.getPreference(M.preferencesName .. ".general.defaultWidth")) .. (editor.getPreference(M.preferencesName .. ".general.dragWidth") and ". Change width by dragging." or "")), ColorF(1.0,1.0,1.0,1), true, false, blackI)
@/lua/ge/extensions/gameplay/rally/snaproad/geoPacenotes.lua
  -- Draw circle center
  -- debugDrawer:drawSphere(center, 2, ColorF(clr[1], clr[2], clr[3], alpha), false, false)
@/lua/ge/extensions/gameplay/rally/driveline/drivelineRoute.lua
      end
      debugDrawer:drawSphere(pos, 1, ColorF(clr[1], clr[2], clr[3], 0.6))
    local pos = vec3(point.pos)
    -- debugDrawer:drawSphere(pos, 1, clrShort)
@/lua/ge/extensions/scenario/raceDebug.lua
        local pp = n.pos
        debugDrawer:drawSphere(pp, n.radius, ColorF(1,0,0,0.3))
        --debugDrawer:drawText(pp, String("#" .. tostring(i) .. "/" .. #currentScenario.lapConfig ), ColorF(0,0,0,1))
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
--                                    im.Text('BAGS')
--    debugDrawer:drawSphere(pos, 50, ColorF(1,0,0,1), false)
                            if #geonode.apart>0 then
]]
        debugDrawer:drawSphere(W.out.cmesh, 0.15, ColorF(1, 1, 0, 0.5), false)
    end
@/lua/ge/extensions/gameplay/rally/test/testRouteFix.lua
  if mousePos and mousePos.pos then
    debugDrawer:drawSphere(mousePos.pos, 1, ColorF(1,1,1,1), false, false)
  end
  for i, pos in ipairs(path) do
    debugDrawer:drawSphere(pos, 0.5, ColorF(1,1,1,1), false, false)
    debugDrawer:drawTextAdvanced(pos, String(i), ColorF(1,1,1,1), true, false, ColorI(0,0,0,192), false, false)
    end
    debugDrawer:drawSphere(p1, 0.5, ColorF(1,1,1,1), false, false)
    debugDrawer:drawTextAdvanced(p1, String(i), ColorF(1,1,1,1), true, false, ColorI(0,0,0,192), false, false)
@/lua/ge/extensions/core/trailerRespawn.lua
      for ci,cpos in pairs(c) do
        debugDrawer:drawSphere( (pos+cpos), 0.05, ColorF(1, 0, 0, 1))
        debugDrawer:drawTextAdvanced( (pos+cpos), String(tostring(vID.."@"..ci)), ColorF(0.2, 0, 0, 1), true, false, ColorI(255,255,255,255) )
@/lua/vehicle/scriptai.lua
    if M.updateGFX == updateGFXfollow then
      debugDrawer:drawSphere(0.2, vec3(targetPos), color(0, 0, 255, 255))
    end
    for _, s in ipairs(script) do
      debugDrawer:drawSphere(0.2, vec3(s), color(255, 0, 0, 255))
    end
@/lua/ge/extensions/gameplay/markers/missionMarker.lua

  --debugDrawer:drawSphere(self.pos, self.radius, ColorF(1,0,0,0.25))
@/lua/ge/extensions/gameplay/route/raceRoute.lua

--   debugDrawer:drawSphere(currentPos, 1, ColorF(0,1,0,0.5), false, false)
@/lua/ge/extensions/flowgraph/nodes/debug/debugSphere.lua
    end
    debugDrawer:drawSphere(vec3(self.pinIn.pos.value), self.pinIn.radius.value or 0.25, color)
  end
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
  if e.drawMode == 'sphere' then
    debugDrawer:drawSphere(e.transform.pos, e.oneDimScale and e.transform.scl or e.transform.scl.x, ColorF(e.drawColor[1], e.drawColor[2], e.drawColor[3], e.drawColor[4]))
  elseif e.drawMode == 'sphereDir' then
  local radius = e.oneDimScale and e.transform.scl or e.transform.scl.x
  debugDrawer:drawSphere(e.transform.pos, radius, ColorF(e.drawColor[1], e.drawColor[2], e.drawColor[3], e.drawColor[4]))
  local normal = e.transform.rot * vec3(0,1,0)
@/lua/ge/extensions/scenario/scenarios.lua
        local pp = n.pos
        debugDrawer:drawSphere(pp, n.radius, ColorF(0.5,0.5,0.5,0.3))
        debugDrawer:drawText(pp, String(tostring(nid)), ColorF(0,0,0,1))
@/lua/ge/extensions/gameplay/rally/tools/devTools.lua

    debugDrawer:drawSphere(pos, sphereRadius, color)
      if corner.direction ~= "" then
        debugDrawer:drawSphere(vec3(corner.pos), 1.0, color)
      end
@/lua/ge/extensions/gameplay/drift/freeroam/driftSpots.lua
    if activeLine then
      debugDrawer:drawSphere(activeLine.pos, 0.1, ColorF(0,0.5,1,0.5))
      im.Text("Active line: " .. activeLine.name)
@/gameplay/missionTypes/cannon/customNodes/cannonPreviewNode.lua
        local radius = sphereStartSize + t * (sphereEndSize - sphereStartSize)
        debugDrawer:drawSphere(pos, radius, sphereColor)
        lastSphereStep = i
@/lua/ge/extensions/editor/crawlEditor/trails.lua
      -- Draw area sphere
      debugDrawer:drawSphere(startingPosition.transform.position, startingPosition.transform.radius, ColorF(0, 1, 0, 0.3))
      debugDrawer:drawTextAdvanced(startingPosition.transform.position, String("Trail: " .. self.trail.name), ColorF(1, 1, 1, 1), true, false, ColorI(0, 0, 0, 255))
      -- Draw icon position
      debugDrawer:drawSphere(startingPosition.iconPosition, 1.5, ColorF(1, 0, 0, 0.8))
      debugDrawer:drawTextAdvanced(startingPosition.iconPosition, String("Icon"), ColorF(1, 1, 1, 1), true, false, ColorI(0, 0, 0, 255))
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
    local alpha = cc.cam_last_pos_alpha
    debugDrawer:drawSphere(self.pacenoteToolsState.playbackLastCameraPos, radius, ColorF(clr[1],clr[2],clr[3],alpha))
  end
  -- this sphere indicates the drag cursor
  -- debugDrawer:drawSphere((mouse_pos), 1, ColorF(1,1,0,1.0)) -- radius=1, color=yellow
  local clr_ce = cc.new_pacenote_cursor_clr_ce
  debugDrawer:drawSphere((pos_cs), radius, ColorF(clr_cs[1],clr_cs[2],clr_cs[3],alpha))
  debugDrawer:drawSphere((pos_ce), radius, ColorF(clr_ce[1],clr_ce[2],clr_ce[3],alpha))
  debugDrawer:drawSphere((pos_cs), radius, ColorF(clr_cs[1],clr_cs[2],clr_cs[3],alpha))
  debugDrawer:drawSphere((pos_ce), radius, ColorF(clr_ce[1],clr_ce[2],clr_ce[3],alpha))
  local clr_ce = cc.new_pacenote_cursor_clr_ce
  debugDrawer:drawSphere(pos_cs, radius, ColorF(clr_cs[1],clr_cs[2],clr_cs[3],alpha))
  debugDrawer:drawSphere(pos_ce, radius, ColorF(clr_ce[1],clr_ce[2],clr_ce[3],alpha))
  debugDrawer:drawSphere(pos_cs, radius, ColorF(clr_cs[1],clr_cs[2],clr_cs[3],alpha))
  debugDrawer:drawSphere(pos_ce, radius, ColorF(clr_ce[1],clr_ce[2],clr_ce[3],alpha))
@/lua/ge/extensions/editor/gen/exp_solidflex.lua
    if tgt then
		debugDrawer:drawSphere(tgt[1], 1, ColorF(1,1,1,0.1), false)
    end
@/lua/ge/extensions/c2/panelPlugins/tileManager.lua
      local pos = vec3(worldX + obj.pos[1], worldY + obj.pos[2], obj.pos[3])
      debugDrawer:drawSphere(pos + vec3(0,0,2), 1, ColorF(0,0,1,0.5))
      local pos = vec3(worldX + item.pos[1], worldY + item.pos[2], item.pos[3])
      debugDrawer:drawSphere(pos + vec3(0,0,2), 0.5, ColorF(0,1,0,0.5))
      -- Node sphere
      debugDrawer:drawSphere(pos + vec3(0,0,0.5), node.radius or 1, ColorF(1,1,0,0.5))
            -- Draw arrow or small marker to indicate direction/start
            debugDrawer:drawSphere(startP, 0.2, parkingColor)
         end
             if debugState.drawRoadMarkingNodes then
                debugDrawer:drawSphere(pos, 0.5, nodeColor)
             end
@/lua/ge/extensions/gameplay/race/path.lua
    local clr = rainbowColor(#self.aiDetailedPath, i, 1)
    debugDrawer:drawSphere(vec3(e.pos), 1, ColorF(clr[1], clr[2], clr[3], 0.6))
    if e.wp then
@/lua/ge/extensions/gameplay/rally/driveline/pointList.lua

    debugDrawer:drawSphere(
      pos,
@/lua/vehicle/extensions/tech/advancedIMU.lua
  if data.isVisualised == true then
    obj.debugDrawProxy:drawSphere(0.05, data.currentPos, color(0, 255, 0, 255))
  end
@/lua/ge/extensions/core/ropeVisualTest.lua

      debugDrawer:drawSphere(nodes[i].pos, radius, nodeCol, true)
@/lua/ge/extensions/editor/raceEditor/pacenotes.lua
    end
    debugDrawer:drawSphere((self.mouseInfo._downPos), radius, ColorF(1,1,1,0.8))
    local normal = (self.mouseInfo._holdPos - self.mouseInfo._downPos):normalized()
@/lua/ge/extensions/util/groundModelDebug.lua
    if res and res.pos then
      -- debugDrawer:drawSphere(res.pos, 0.1, ColorF(0,1,0,1))
      --debugDrawer:drawLine(res.pos, res.pos + res.normal, ColorF(0,1,0,1))
      focusPos = vec3(res.pos)
      debugDrawer:drawSphere(focusPos, 0.03, ColorF(0,1,0,1))
@/lua/ge/extensions/editor/tech/sensorConfiguration/utilities.lua
local function drawMouseSphere(p)
  dbgDraw.drawSphere(p, 0.05 * sqrt(p:distance(core_camera.getPosition())), sphereColor)
end
@/lua/ge/extensions/gameplay/rally/vehicleCapture.lua
  if debugPos then
    debugDrawer:drawSphere(
      debugPos,
@/lua/ge/extensions/gameplay/rally/notebook/pacenoteWaypoint.lua

  debugDrawer:drawSphere(
    self.pos,
@/lua/vehicle/ai.lua
    if plan1.rangeLaneCount > 1 and ego.dirVec:dot(vdirVec) > 0.7 and ego2v < square((1.2 * ego.length + 1.2*v.length)) and (xnormV > plan1.rangeLeft and xnormV < plan1.rangeRight) and (not (xnormV > (plan1.rangeLeft + lanew*plan1.rangeBestLane) and xnormV < (plan1.rangeLeft + lanew*(plan1.rangeBestLane+1)))) then
      if draw then obj.debugDrawProxy:drawSphere(2, vPfront, color(0,0,0,160)) end
      if ego2PlVec:dot(ego.rightVec) > 0 then
        if vdirVec:dot(dirVec) < 0.95 then
          if draw then obj.debugDrawProxy:drawSphere(2, vPfront, color(255, 0, 0, 160)) end
          return true
          if traffic.intersection and intersectionFound then
            if draw then obj.debugDrawProxy:drawSphere(2, vPfront, color(255, 100, 0, 160)) end
            return true
        v.noproj = true
        if draw then obj.debugDrawProxy:drawSphere(2, vPfront, color(0, 255, 0, 160)) end
        return true
      if xnormP > rangeLeft and xnormP < rangeRight then
        if draw then obj.debugDrawProxy:drawSphere(2, vPfront, color(255, 255, 255, 160)) end
        return true
      if vPfront:squaredDistance(n1.posOrig) < 100 * 100 then
        if draw then obj.debugDrawProxy:drawSphere(2, vPfront, color(0, 0, 255, 160)) end
        return true
    end
    --obj.debugDrawProxy:drawSphere(2, mapData.positions[route.path[final]], color(0,255,0,50))
    indexes.final = final
        v.posMiddle = (v.posFront + v.posRear) * 0.5
        --obj.debugDrawProxy:drawSphere(traffic.Rfs, ego.pos, color(0,0,0,50))
        --obj.debugDrawProxy:drawSphere(traffic.Rfl, ego.pos, color(255,0,0,50))
        --obj.debugDrawProxy:drawSphere(traffic.Rfs, ego.pos, color(0,0,0,50))
        --obj.debugDrawProxy:drawSphere(traffic.Rfl, ego.pos, color(255,0,0,50))
              end
              --obj.debugDrawProxy:drawSphere(0.2, ego.pos + 0.5 * ego.dirVec * ego.length, color(255, 128, 0, 160))
              --obj.debugDrawProxy:drawSphere(0.2, midPos, color(255, 128, 0, 160))
              --obj.debugDrawProxy:drawSphere(0.2, ego.pos + 0.5 * ego.dirVec * ego.length, color(255, 128, 0, 160))
              --obj.debugDrawProxy:drawSphere(0.2, midPos, color(255, 128, 0, 160))
            elseif dist < 0.5 * (ego.width + v.width + 0.2) and TTC > -0.1 then
              end
              --obj.debugDrawProxy:drawSphere(0.2, ego.pos + 0.5 * ego.dirVec * ego.length, color(0, 0, 0, 160))
              --obj.debugDrawProxy:drawSphere(0.2, midPos, color(0, 0, 0, 160))
              --obj.debugDrawProxy:drawSphere(0.2, ego.pos + 0.5 * ego.dirVec * ego.length, color(0, 0, 0, 160))
              --obj.debugDrawProxy:drawSphere(0.2, midPos, color(0, 0, 0, 160))
            end
      --local cornerColor = color(255, 128, 0, 160)
      --obj.debugDrawProxy:drawSphere(0.2, fl, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, rl, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, fl, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, rl, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, fr, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, rl, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, fr, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, rr, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, fr, cornerColor)
      --obj.debugDrawProxy:drawSphere(0.2, rr, cornerColor)
      --local sideColor = color(clamp(sqrt(dispLeft) * 255, 0, 255), 0, clamp(sqrt(dispRight) * 255, 0, 255), 160)
      --local sideColor = color(clamp(sqrt(dispLeft) * 255, 0, 255), 0, clamp(sqrt(dispRight) * 255, 0, 255), 160)
      --obj.debugDrawProxy:drawSphere(0.4, midPos + vec3(0,0,2), sideColor)
    --end
            if minSqDist < square((ego.width + limWidth) * 0.51)  then
              -- obj.debugDrawProxy:drawSphere(0.25, v.posFront, color(0,0,255,255))
              -- obj.debugDrawProxy:drawSphere(0.25, plPosFront, color(0,0,255,255))
              -- obj.debugDrawProxy:drawSphere(0.25, v.posFront, color(0,0,255,255))
              -- obj.debugDrawProxy:drawSphere(0.25, plPosFront, color(0,0,255,255))
              if not vehicleIsStopped then
        --print('lane change is going to happen')
        --obj.debugDrawProxy:drawSphere(2, ego.pos, color(255,0,255,255))
        if side < 0 then
    --local sColor = tSi.action == 0 and color(0,255,0,160) or color(255,255,0,160)
    --obj.debugDrawProxy:drawSphere(1, tSi.pos, sColor)
    --obj.debugDrawProxy:drawText(tSi.pos + vec3(0, 0, 1), color(0,0,0,255), tostring(tSi.turn))
    -- targetPos = catmullRomChordal(ego.pos-ego.dirVec, ego.pos, plC-plX, plC-plX+plX:normalized(), min(1, max(ego.speed * parameters.lookAheadKv, 4.5) / ego.pos:distance(plC - plX)))
    -- obj.debugDrawProxy:drawSphere(0.25, targetPos, color(255, 0, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.25, plC-plX, color(0, 0, 255, 255))
    -- obj.debugDrawProxy:drawSphere(0.25, targetPos, color(255, 0, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.25, plC-plX, color(0, 0, 255, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + brakeTargetSpeed * ego.upVec, color(255, 0, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.25, plC-plX, color(0, 0, 255, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + brakeTargetSpeed * ego.upVec, color(255, 0, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + throttleTargetSpeed * ego.upVec, color(0, 255, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + brakeTargetSpeed * ego.upVec, color(255, 0, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + throttleTargetSpeed * ego.upVec, color(0, 255, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + ego.speed * ego.upVec, color(0, 0, 255, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + throttleTargetSpeed * ego.upVec, color(0, 255, 0, 255))
    -- obj.debugDrawProxy:drawSphere(0.15, ego.pos + ego.speed * ego.upVec, color(0, 0, 255, 255))
  end
    if targetPos then
      debugDrawer:drawSphere(0.25, targetPos, color(255,0,0,255))
      local blue = color(0,0,255,255)
      debugDrawer:drawSphere(0.25, shadowPos, blue)
        if vehId ~= objectId then
          debugDrawer:drawSphere(0.25, obj:getObjectFrontPosition(vehId), blue)
        end
      if player then
        debugDrawer:drawSphere(0.3, player.pos, color(0,255,0,255))
      end
        local p = mapData.positions[currentRoute.path[#currentRoute.path]]
        debugDrawer:drawSphere(4, p, color(255,0,0,100))
        debugDrawer:drawText(p + vec3(0, 0, 4), color(0,0,0,255), 'Destination')
        local source = visDebug.candidatePaths[1][1] -- all paths have the same source node
        debugDrawer:drawSphere(2, mapData.positions[source], color(0, 0, 0, 255))
        for i = 1, #visDebug.candidatePaths do
          local thisPathLastNode = thisPath[thisPathCount]
          debugDrawer:drawSphere(4, mapData.positions[thisPathLastNode], jetColor(thisScore, 255))
          if thisPathLastNode == winner then
          local p = mapData.positions[currentRoute.path[#currentRoute.path]]
          debugDrawer:drawSphere(4, p, color(255, 0, 0, 100))
          debugDrawer:drawText(p + vec3(0, 0, 4), color(0, 0, 0, 255), 'Destination')
        if altPlan and plan.buildN then
          debugDrawer:drawSphere(0.1, altPlan.targetPos + vec3(0,0,0.5), color(0,255,255,255))
          for j = 1, altPlan.planCount do
            local speed = point.speed or 0
            debugDrawer:drawSphere(0.1, point.pos + vec3(0,0,0.5), color(255,255,255,255))
            debugDrawer:drawSphere(0.1, point.pos + vec3(0,0,speed*0.2), color(255,255,255,255))
            debugDrawer:drawSphere(0.1, point.pos + vec3(0,0,0.5), color(255,255,255,255))
            debugDrawer:drawSphere(0.1, point.pos + vec3(0,0,speed*0.2), color(255,255,255,255))
            debugDrawer:drawText(point.pos + vec3(0,0,speed*0.2), color(0, 0, 0, 255), strFormat("%2.0f", speed*3.6).." kph")
              local plPosOnPlan = linePointFromXnorm(n.pos, plan[i+1].pos, data[2])
              debugDrawer:drawSphere(0.25, plPosOnPlan, color(0,255,0,100))
            end
      --   local plwp1 = internalState.chaseData.playerRoad[1]
      --   debugDrawer:drawSphere(2, mapData.positions[plwp1], col1)
      --   local plwp2 = internalState.chaseData.playerRoad[2]
      --   local plwp2 = internalState.chaseData.playerRoad[2]
      --   debugDrawer:drawSphere(2, mapData.positions[plwp2], col2)
      -- end

      -- debugDrawer:drawSphere(0.3, ego.pos, color(255,255,0,255))
      -- dump(obj)
      -- dump(test)
      -- debugDrawer:drawSphere(0.1, frontPos, color(255,255,0,255))
      -- debugDrawer:drawSphere(0.3, test2, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.1, frontPos, color(255,255,0,255))
      -- debugDrawer:drawSphere(0.3, test2, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test3, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test2, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test3, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test4, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test3, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test4, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test4, color(255,0,0,255))
      -- debugDrawer:drawSphere(0.3, test, color(255,0,0,255))
      -- local test2 = obj:getFrontPositionRelative()
      -- dump(test2)
      -- debugDrawer:drawSphere(0.3, ego.wheelBase[2], color(255,255,0,255))
      -- ray origins
      -- ray origins
      -- debugDrawer:drawSphere(0.1, ego.pos, color(0,0,0,255))
      debugDrawer:drawSphere(0.1, twt.posTable[1], color(255,255,255,255))
      -- debugDrawer:drawSphere(0.1, ego.pos, color(0,0,0,255))
      debugDrawer:drawSphere(0.1, twt.posTable[1], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[2], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[1], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[2], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[3], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[2], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[3], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[4], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[3], color(255,255,255,255))
      debugDrawer:drawSphere(0.1, twt.posTable[4], color(255,255,255,255))
      for _, d in pairs(visDebug.debugSpots) do
        debugDrawer:drawSphere(0.2, d[1], d[2])
      end
          --dump(v.pos)
          obj.debugDrawProxy:drawSphere(0.2, v.pos, color(0, 0, 255, 255))
          local vPos = vec3(obj:getObjectFrontPosition(k))
          local vPos = vec3(obj:getObjectFrontPosition(k))
          obj.debugDrawProxy:drawSphere(0.2, vPos, color(0, 0, 255, 255))
          obj.debugDrawProxy:drawSphere(0.2, vPos + v.vel * dt, color(0, 255, 0, 255))
          obj.debugDrawProxy:drawSphere(0.2, vPos, color(0, 0, 255, 255))
          obj.debugDrawProxy:drawSphere(0.2, vPos + v.vel * dt, color(0, 255, 0, 255))
          --dump(obj:getObjectDirectionVector(k))
    end
    obj.debugDrawProxy:drawSphere(0.15, obj:getFrontPosition(), color(255, 0, 0, 255))
  end
    local refNodePos = obj:getPosition()
    debugDrawer:drawSphere(0.1, refNodePos, color(255,0,0,255))
    for _, wheel in pairs(wheels.wheels) do
      local wheelPosAbsolute = refNodePos + obj:getNodePosition(wheel.node1)
      debugDrawer:drawSphere(0.1, wheelPosAbsolute, color(255,0,0,255))
      local contactPointPos = wheelPosAbsolute - obj:getDirectionVectorUp() * wheelRadius
      local contactPointPos = wheelPosAbsolute - obj:getDirectionVectorUp() * wheelRadius
      debugDrawer:drawSphere(0.1, contactPointPos, color(255,0,0,255))
    end
    local vehFrontPos = obj:getFrontPosition()
    debugDrawer:drawSphere(0.1, obj:getFrontPosition(), color(255, 255, 255, 255))
    -- vehicle frontPos
    -- vehicle frontPos
    debugDrawer:drawSphere(0.1, vehFrontPos:z0(), color(0, 255, 255, 255))
    -- calculated spawn pos (from script front pos)
    debugDrawer:drawSphere(0.1, vec3(736.8858419,102.6078886,0.1169999319), color(0, 0, 255, 255))
    -- script first pos (ground truth)
    debugDrawer:drawSphere(0.1, vec3(734.9434413112983, 102.21897064457461, 1.0), color(255, 0, 255, 255))
    -- Draw world reference Frame
    debugDrawer:drawSphere(0.1, vec3(0, 0, 0), color(0, 255, 0, 255)) -- World 0
    debugDrawer:drawCylinder(vec3(0, 0, 0), 5 * vec3(1, 0, 0), 0.05, color(0, 255, 0, 255)) -- x (green)
@/lua/ge/extensions/editor/aiTests.lua
    local pos = vec3(point.pos)
    debugDrawer:drawSphere(pos, 1, ColorF(clr[1], clr[2], clr[3], 0.6))
    --if point.wp then
@/lua/ge/extensions/editor/biomeTool.lua
      local sphereRadius = (core_camera.getPosition() - hit.pos):length() * roadRiverGui.nodeSizeFactor
      debugDrawer:drawSphere(hit.pos, sphereRadius, roadRiverGui.highlightColors.node, false)
      if not tableIsEmpty(var.lassoPLNodes) then
      local sphereRadius = (core_camera.getPosition() - node.pos):length() * roadRiverGui.nodeSizeFactor
      debugDrawer:drawSphere(node.pos, sphereRadius, nodeColor, false)
    end
      local sphereRadius = (core_camera.getPosition() - var.lassoPLNodes[1].pos):length() * roadRiverGui.nodeSizeFactor * 2
      debugDrawer:drawSphere(var.lassoPLNodes[1].pos, sphereRadius,  ColorF(0,1,0,0.5), false)
      var.lassoPLNodes[1].isUpdated = true
          local sphereRadius = (core_camera.getPosition() - node.pos):length() * roadRiverGui.nodeSizeFactor
          debugDrawer:drawSphere(node.pos, sphereRadius, nodeColor, false)
          if index > 1 then
@/lua/ge/extensions/scenario/waypoints.lua
      debugDrawer:drawLine(vec3(vehWpData.previousCorners[i]), vec3(vehWpData.currentCorners[i]),  ColorF(1,0,0,1))
      debugDrawer:drawSphere(vec3(vehWpData.currentCorners[i]), 0.025, ColorF(1,0,0,0.25))
    end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veFlexbodyDebug.lua
    -- Highlight node
    debugDrawer:drawSphere(chosenNodePos, nodeSelectedRadius, nodeSelectedColor)
    debugDrawer:drawTextAdvanced(chosenNodePos, chosenNodeName or chosenNodeID, textColor, true, false, textBackgroundColor)
    -- Highlight vertex
    debugDrawer:drawSphere(chosenVertPos, vertSelectedRadius, nodeSelectedColor)
    debugDrawer:drawTextAdvanced(chosenVertPos, chosenVertID, textColor, true, false, textBackgroundColor)
  -- Highlight vertex
  debugDrawer:drawSphere(chosenVertPos, vertSelectedRadius, nodeSelectedColor)
  --debugDrawer:drawTextAdvanced(chosenVertPos, chosenVertID, textColor, true, false, textBackgroundColor)

      debugDrawer:drawSphere(vertPos, vertRenderRadius, vertCol)

      debugDrawer:drawSphere(nodePos, nodeRenderRadius, nodeColor)
    end
    debugDrawer:drawTextAdvanced(nodePos, tostring(node.name or node.cid), textColor, true, false, textBackgroundColor)
    debugDrawer:drawSphere(nodePos, nodeRenderRadius, nodeSelectedColor)
              nodeName = "ref"
              debugDrawer:drawSphere(nodePos, nodeRenderRadius, nodeUsedColor)
            else
              debugDrawer:drawLine(refNodePos, nodePos, col)
              debugDrawer:drawSphere(nodePos, nodeRenderRadius, col)
            end
      nodePos:set(vEditor.vehicle:getNodeAbsPositionXYZ(nodeID))
      debugDrawer:drawSphere(nodePos, nodeRenderRadius, nodeUnusedColor)
    end
@/lua/ge/extensions/editor/forestEditor.lua
      local sphereRadius = (core_camera.getPosition() - hit.pos):length() * roadRiverGui.nodeSizeFactor
      debugDrawer:drawSphere(hit.pos, sphereRadius, roadRiverGui.highlightColors.node, false)
      if not tableIsEmpty(var.lassoPLNodes) then
      local sphereRadius = (core_camera.getPosition() - node.pos):length() * roadRiverGui.nodeSizeFactor
      debugDrawer:drawSphere(node.pos, sphereRadius, nodeColor, false)
    end
      local sphereRadius = (core_camera.getPosition() - var.lassoPLNodes[1].pos):length() * roadRiverGui.nodeSizeFactor * 2
      debugDrawer:drawSphere(var.lassoPLNodes[1].pos, sphereRadius,  colorGreen, false)
      drawLassoLineSegmented(var.lassoPLNodes[numNodes], var.lassoPLNodes[1])
    local sphereRadius = (core_camera.getPosition() - var.lassoFHLastMousePos):length() * roadRiverGui.nodeSizeFactor
    debugDrawer:drawSphere(var.lassoFHLastMousePos, sphereRadius, colorRed, false)
  end
      end
      debugDrawer:drawSphere(segmentPos, sphereRadius, sphereColor, false)
    elseif index > 1 then
        local sphereRadius = (core_camera.getPosition() - hit.pos):length() * roadRiverGui.nodeSizeFactor
        debugDrawer:drawSphere(hit.pos, sphereRadius, roadRiverGui.highlightColors.selectedNode, false)
@/lua/vehicle/extensions/tech/tyreBarrier.lua
    local data = IMUcontroller.getSensorData()
      obj.debugDrawProxy:drawSphere(0.05, data.currentPos, color(0, 255, 0, 255))
      obj.debugDrawProxy:drawLine(data.currentPos, data.currentPos + data.currentDir, color(0, 255, 0, 255))   -- direction.
@/lua/common/utils.lua
  if radius and radius > 0 then
    debugDrawer:drawSphere(pos, radius, sphereColor or ColorF(1,1,1,0.25))
  end
@/lua/ge/extensions/util/maptiles.lua
      --debugDrawer:drawBox(minPoint, maxPoint, color)
      debugDrawer:drawSphere(tile.tileCenterPos, 5, ColorF(0, 1, 1, 0.8))
      debugDrawer:drawSphere(minPoint, 5, ColorF(0, 1, 1, 0.8))
      debugDrawer:drawSphere(tile.tileCenterPos, 5, ColorF(0, 1, 1, 0.8))
      debugDrawer:drawSphere(minPoint, 5, ColorF(0, 1, 1, 0.8))
      local filename = string.format("%s/%s/%d/%d/%d.png", outputDirectory, currentLevelName, currentZoomLevel, tile.xIndex, tile.yIndex)
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/vePartTree.lua
        if keyInPickedNodes ~= -1 then
          debugDrawer:drawSphere(nodePos, nodeSelectedRenderRadius, ddBeamColSel)
          debugDrawer:drawTextAdvanced(nodePos, nodeName, textCol, true, false, textBgCol)
          if node.__virtual then
            debugDrawer:drawSphere(nodePos, nodeRenderRadius, ddNodeColVirtual)
          else
          else
            debugDrawer:drawSphere(nodePos, nodeRenderRadius, ddNodeCol)
          end
        -- Highlight node
        debugDrawer:drawSphere(chosenNodePos, nodeHoveredRenderRadius, ddBeamColSel)
        if chosenNodeKeyInPickedNodes == -1 then
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/vehicleStoppedNearPos.lua
  if gameplay_rallyLoop and gameplay_rallyLoop.getDrawFlag('stopZones') then
    debugDrawer:drawSphere(self.targetPos, self.pinIn.radius.value, ColorF(0.2, 0.2, 1.0, 0.2), true, false)
  end
@/lua/vehicle/controller/tech/roadsSensor.lua
        disc[ctr] = catmullRomCentripetal(p0, p1, p2, p3, q, splineSmoothness)
        --obj.debugDrawProxy:drawSphere(0.1, disc[ctr] + vec3(0, 0, 0.25), color(255, 255, 255, 255))
        wds[ctr] = catmullRom(w0, w1, w2, w3, q, splineSmoothness)
        --
        obj.debugDrawProxy:drawSphere(0.1, pLeft + vec3(0, 0, 0.25), color(255, 0, 0, 255))
        obj.debugDrawProxy:drawSphere(0.1, pInt + vec3(0, 0, 0.25), color(0, 255, 0, 255))
        obj.debugDrawProxy:drawSphere(0.1, pLeft + vec3(0, 0, 0.25), color(255, 0, 0, 255))
        obj.debugDrawProxy:drawSphere(0.1, pInt + vec3(0, 0, 0.25), color(0, 255, 0, 255))
        obj.debugDrawProxy:drawSphere(0.1, pRight + vec3(0, 0, 0.25), color(0, 0, 255, 255))
        obj.debugDrawProxy:drawSphere(0.1, pInt + vec3(0, 0, 0.25), color(0, 255, 0, 255))
        obj.debugDrawProxy:drawSphere(0.1, pRight + vec3(0, 0, 0.25), color(0, 0, 255, 255))

        obj.debugDrawProxy:drawSphere(0.2, p0 + vec3(0, 0, 0.25), color(255, 255, 255,255))
        obj.debugDrawProxy:drawSphere(0.2, p1 + vec3(0, 0, 0.25), color(255, 155, 155,255))
        obj.debugDrawProxy:drawSphere(0.2, p0 + vec3(0, 0, 0.25), color(255, 255, 255,255))
        obj.debugDrawProxy:drawSphere(0.2, p1 + vec3(0, 0, 0.25), color(255, 155, 155,255))
        obj.debugDrawProxy:drawSphere(0.2, p2 + vec3(0, 0, 0.25), color(155, 155, 255,255))
        obj.debugDrawProxy:drawSphere(0.2, p1 + vec3(0, 0, 0.25), color(255, 155, 155,255))
        obj.debugDrawProxy:drawSphere(0.2, p2 + vec3(0, 0, 0.25), color(155, 155, 255,255))
        obj.debugDrawProxy:drawSphere(0.2, p3 + vec3(0, 0, 0.25), color(255, 255, 255,255))
        obj.debugDrawProxy:drawSphere(0.2, p2 + vec3(0, 0, 0.25), color(155, 155, 255,255))
        obj.debugDrawProxy:drawSphere(0.2, p3 + vec3(0, 0, 0.25), color(255, 255, 255,255))
        --
@/lua/ge/extensions/gameplay/rally/loop/rallyLoopManager.lua
        if shouldDrawShapes then
          debugDrawer:drawSphere(pos, 1.5, clrF)
        end
        if shouldDrawShapes then
          debugDrawer:drawSphere(pos, 1.5, clrF)
        end
        if shouldDrawShapes then
          debugDrawer:drawSphere(pos, 1.5, clrF)
        end
        if shouldDrawShapes then
          debugDrawer:drawSphere(pos, 1.5, clrF)
        end
        if shouldDrawShapes then
          debugDrawer:drawSphere(pos, 1.5, clrF)
        end
        if shouldDrawShapes then
          debugDrawer:drawSphere(pos, 1.5, clrF)
        end
@/lua/ge/extensions/gameplay/rally/transcripts/path.lua
--
-- debugDrawer:drawSphere(testP, 1, ColorF(0,1,0,shapeAlpha)) -- green
-- debugDrawer:drawSphere(topOfCar, 1, ColorF(0,0,1,shapeAlpha)) -- blue
-- debugDrawer:drawSphere(testP, 1, ColorF(0,1,0,shapeAlpha)) -- green
-- debugDrawer:drawSphere(topOfCar, 1, ColorF(0,0,1,shapeAlpha)) -- blue
-- debugDrawer:drawSphere(frontOfCar, 1, ColorF(0,1,1,shapeAlpha)) -- aqua
-- debugDrawer:drawSphere(topOfCar, 1, ColorF(0,0,1,shapeAlpha)) -- blue
-- debugDrawer:drawSphere(frontOfCar, 1, ColorF(0,1,1,shapeAlpha)) -- aqua
--
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua
    -- Highlight node
    debugDrawer:drawSphere(chosenNodePos, nodeSelectedRadius, hoveredColor)
    debugDrawer:drawTextAdvanced(chosenNodePos, dispText, textColor, true, false, textBackgroundColor)

    debugDrawer:drawSphere(nodePos, nodeSelectedRadius, pickedColor, false)
    debugDrawer:drawTextAdvanced(nodePos, "#" .. k .. ": " .. dispText, textColor, true, false, textBackgroundColor)
@/lua/ge/extensions/editor/dynamicDecals/gizmo.lua
    local col = editor.getPreference("dynamicDecalsTool.general.dataPointSphereColor")
    debugDrawer:drawSphere(data.debugObjPos, editor.getPreference("dynamicDecalsTool.general.dataPointSphereSize"), ColorF(col[1], col[2], col[3], col[4]), col[4] < 0.99 and true or false)
  end
@/lua/ge/extensions/gameplay/rally/tools/rallyToolbox.lua

            -- debugDrawer:drawSphere(from.pos, from.radius, ColorF(1,0.5,0,alpha))
            -- debugDrawer:drawSphere(to.pos, to.radius, ColorF(1,0.5,0,alpha))
            -- debugDrawer:drawSphere(from.pos, from.radius, ColorF(1,0.5,0,alpha))
            -- debugDrawer:drawSphere(to.pos, to.radius, ColorF(1,0.5,0,alpha))
    if spStopZone then
      debugDrawer:drawSphere(spStopZone.pos, 10, ColorF(1,0.5,0,0.5))
      debugDrawer:drawTextAdvanced(spStopZone.pos,
  if self.selectedPacenote and self.debug.drawSelectedWaypoint then
    -- debugDrawer:drawSphere(self.debugWaypoint.pos, 10, ColorF(1,0.5,0,0.5))
    local txt = self.selectedPacenote.name .. '['..waypointTypes.shortenWaypointType(self.selectedPacenoteWaypoint.waypointType)..']'
    if self.lineSegState and self.lineSegState.fromPos and self.lineSegState.toPos then
      debugDrawer:drawSphere(self.lineSegState.fromPos, 1.1, ColorF(1,0,1,0.8))
      debugDrawer:drawSphere(self.lineSegState.toPos, 1.1, ColorF(1,0,1,0.8))
      debugDrawer:drawSphere(self.lineSegState.fromPos, 1.1, ColorF(1,0,1,0.8))
      debugDrawer:drawSphere(self.lineSegState.toPos, 1.1, ColorF(1,0,1,0.8))
      debugDrawer:drawSquarePrism(self.lineSegState.fromPos, self.lineSegState.toPos,

      -- debugDrawer:drawSphere(item, 1.2, ColorF(0,1,1,0.8))
      debugDrawer:drawTextAdvanced(item,
      local item = self.pacenoteWaypoints[self.kdStatePacenoteWaypoints.item_id]
      debugDrawer:drawSphere(item, 1.2, ColorF(0.5,0,1,0.8))
      debugDrawer:drawTextAdvanced(item,
      local item = self.routeWaypointsIndex[self.kdStateDrivelineRoute.item_id]
      debugDrawer:drawSphere(item.pos, 1.2, ColorF(1,1,0,0.8))
      debugDrawer:drawTextAdvanced(item.pos,
      local wpRp = self.nextPacenoteWp:getRoutePoint()
      debugDrawer:drawSphere(wpRp.pos, 1.2, ColorF(1,1,0,0.8))
      debugDrawer:drawTextAdvanced(wpRp.pos,
    if pos then
      debugDrawer:drawSphere(pos, 1.2, ColorF(0,0.5,0,0.8))
      if speed then
  --       local clr = rainbowColor(#preRoutePoints, i, 1)
  --     debugDrawer:drawSphere(point.pos, 1.2, ColorF(clr[1], clr[2], clr[3], 0.8))
  --     debugDrawer:drawTextAdvanced(point.pos,
      local wpRp = dr.nextPacenoteWpFromRecalc:getStaticRoutePoint()
      debugDrawer:drawSphere(wpRp.pos, 1.2, ColorF(1,1,0,0.8))
      debugDrawer:drawTextAdvanced(wpRp.pos,
      local pos = dr.lastRecalculateVehiclePos
      debugDrawer:drawSphere(pos, 1.2, ColorF(1,1,0,0.8))
      debugDrawer:drawTextAdvanced(pos,
      if point then
        debugDrawer:drawSphere(point.pos, 1.2, ColorF(1,1,0,0.8))
        debugDrawer:drawTextAdvanced(point.pos,
        local wpRp = dr.nextRacePathnodeFromRecalc:getStaticRoutePoint()
        debugDrawer:drawSphere(wpRp.pos, 1.2, ColorF(1,1,0,0.8))
        debugDrawer:drawTextAdvanced(wpRp.pos,
          --   ColorF(1,1,1,1), true, false, ColorI(0,0,0,255))
          -- debugDrawer:drawSphere(point.pos, cc.snaproads_radius_recce, ColorF(clr[1], clr[2], clr[3], 0.8))
        -- end
@/lua/vehicle/extensions/tech/GPS.lua
  if data.isVisualised == true then
    obj.debugDrawProxy:drawSphere(0.05, data.pos, color(0, 255, 0, 255))
  end
@/lua/ge/extensions/editor/missionStartPositionEditor.lua
        -- Draw the sphere
        debugDrawer:drawSphere(startPos, size, color)
@/lua/ge/extensions/editor/driftDataEditor.lua

        debugDrawer:drawSphere(elem.pos, elem.scl, ColorF(0,1,0,0.2))
      end
@/lua/ge/extensions/flowgraph/nodes/vehicle/alignForCoupling.lua

      --debugDrawer:drawSphere(vec3(v1CouplerMatrix:getColumn(3)), 4, ColorF(1,0.0,0.48,0.5))
      --debugDrawer:drawSphere(vec3(v2CouplerMatrix:getColumn(3)), 4, ColorF(0,0.05,0.48,0.5))
      --debugDrawer:drawSphere(vec3(v1CouplerMatrix:getColumn(3)), 4, ColorF(1,0.0,0.48,0.5))
      --debugDrawer:drawSphere(vec3(v2CouplerMatrix:getColumn(3)), 4, ColorF(0,0.05,0.48,0.5))
      local res = v1CouplerMatrix * (rotMatrix * v2CouplerMatrix:inverse() * v2:getRefNodeMatrix())
      --debugDrawer:drawSphere(vec3(res:getColumn(3)), 1, ColorF(0.91,1,0.48,0.5))
      if self.pinIn.ignoreCouple.value then
@/lua/ge/extensions/core/vehicleTriggers.lua

        debugDrawer:drawSphere(pos, r, col)
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/simpleFollowDecalroad.lua
      for _, p in pairs(self.path.path) do
        debugDrawer:drawSphere(vec3(p), 0.1, ColorF(1,0,1,1))
        if lastP then
@/lua/ge/extensions/gameplay/rally/recce.lua
    local worldWheelPos = toWorldPosition(wheelPos[2])
    debugDrawer:drawSphere(worldWheelPos, wheelPos[1], ColorF(0,0,0,1))
  end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veNodeTriSelfCollisionDetector.lua
      local nodePos = getTempNodePosition(nodeId)
      debugDrawer:drawSphere(nodePos, resultData.nodeCollisionRadius, orangeColor)
      local nodeText = node.name and string.format("Node: %d (%s)", nodeId, node.name) or tostring(nodeId)
@/lua/ge/extensions/util/vehicleRopeDebug.lua

      debugDrawer:drawSphere(nodes[i].pos, radius, nodeCol, true)
@/lua/ge/extensions/core/groundMarkers.lua
    for i, wp in ipairs(M.routePathTmp or {}) do
      debugDrawer:drawSphere(vec3(wp), 0.25, ColorF(1, 0.4, 1,0.2))
      debugDrawer:drawTextAdvanced(wp, String(i), ColorF(1,1,1,1), true, false, ColorI(0,0,0,192))
    for i, e in ipairs(M.routePlanner.path) do
      debugDrawer:drawSphere(vec3(e.pos), 1, ColorF(0.23, 0.4, 0.1,0.6))
      if i > 1 then
@/lua/ge/extensions/gameplay/race/pacenote.lua

  debugDrawer:drawSphere((self.pos), self.radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
@/lua/ge/extensions/gameplay/rally/util.lua

  debugDrawer:drawSphere(frontCenter, 0.1, color, false, false)
end
@/lua/ge/extensions/tech/sensors.lua
  -- Draw the ultrasonic sensor at its current position in world space, in green.
  debugDrawer:drawSphere(pos, 0.05, ColorF(0, 1, 0, 1))
@/lua/ge/extensions/editor/objectToSplineEditor.lua
      local c = rainbowColor(count, i, 1)
      debugDrawer:drawSphere(v.pos, 0.5, ColorF(c[1], c[2], c[3], 0.6))
    end
@/lua/ge/extensions/editor/rayCastTest.lua
  local pos = helperTransform:getColumn(3)
  debugDrawer:drawSphere(pos, 0.2, ColorF(1, 0.5, 0.2, 0.25))
  debugDrawer:drawLine(pos, (vec3(pos) + vec3(0, 0, 4)), ColorF(1, 0, 0, 0.25))
  debugDrawer:drawLine(pos, (vec3(pos) + vec3(0, 0, 4)), ColorF(1, 0, 0, 0.25))
  debugDrawer:drawSphere((vec3(pos) + vec3(0, 0, 4)), 0.2, ColorF(0, 1, 0.2, 0.25))
end
    if hit then
      debugDrawer:drawSphere(hit.pt, 0.1, ColorF(0, 1, 0, 1))
      debugDrawer:drawLine(hit.pt, (vec3(hit.pt) + vec3(hit.norm)), ColorF(0, 1, 1, 1))
      debugDrawer:drawLine(hit.pt, (vec3(hit.pt) + vec3(hit.norm)), ColorF(0, 1, 1, 1))
      debugDrawer:drawSphere((vec3(hit.pt) + vec3(hit.norm)), 0.08, ColorF(0, 1, 1, 1))
    end
      local saturation = (dist-minDist) / (maxDist-minDist)
      debugDrawer:drawSphere(point, 0.15, ColorF(saturation, 1, saturation, 1))
    end
@/lua/ge/extensions/gameplay/markerInteraction.lua
        --debugDrawer:drawTextAdvanced(marker.pos, String(tostring(cluster.id)), ColorF(1,1,1,1), true, false, ColorI(0,0,0,192))
        --debugDrawer:drawSphere(cluster.pos, cluster.radius, ColorF(0.91,0.05,0.48,0.2))
        marker:show()
@/lua/vehicle/extensions/scenario/shiftBooster.lua
  end
  obj.debugDrawProxy:drawSphere(boostTime, obj:getPosition() + vec3(0, 0, 2), color(math.sin(boostTime) * 255, math.cos(boostTime * 2) * 255, 0, 255))
end
@/lua/ge/map.lua
    -- Position
    debugDrawer:drawSphere(trajectory[i].pos, 0.2, red)
    -- Original Position
    debugDrawer:drawSphere(trajectory[i].posOrig, 0.1, black)
    -- Node width
    debugDrawer:drawSphere(trajectory[i].posOrig, trajectory[i].halfWidth, grayOpaque)
          local n1Rad = getEdgeNodeRadius(node1id, edgeData)
          debugDrawer:drawSphere(n1Pos, n1Rad, jetColorF(stringToNumber(node1id) / 12, 0.3))
        end
          local n2Rad = getEdgeNodeRadius(node2id, edgeData)
          debugDrawer:drawSphere(n2Pos, n2Rad, jetColorF(stringToNumber(node2id) / 12, 0.3))
        end
      if map.nodes[node1id].junction or not next(gp.graph[node1id], next(gp.graph[node1id])) then
        debugDrawer:drawSphere(n1Pos, n1Rad, jetColorF(stringToNumber(node1id) / 12, 0.3))
        --debugDrawer:drawSphere(n1Pos, n1Rad, jetColorF(map.nodes[node1id].debugColorCode, 0.3))
        debugDrawer:drawSphere(n1Pos, n1Rad, jetColorF(stringToNumber(node1id) / 12, 0.3))
        --debugDrawer:drawSphere(n1Pos, n1Rad, jetColorF(map.nodes[node1id].debugColorCode, 0.3))
        if not nodeIdsDrawn[node1id] then
      if map.nodes[node2id].junction or not next(gp.graph[node2id], next(gp.graph[node2id])) then
        debugDrawer:drawSphere(n2Pos, n2Rad, jetColorF(stringToNumber(node2id) / 12, 0.3))
        --debugDrawer:drawSphere(n2Pos, n2Rad, jetColorF(map.nodes[node2id].debugColorCode, 0.3))
        debugDrawer:drawSphere(n2Pos, n2Rad, jetColorF(stringToNumber(node2id) / 12, 0.3))
        --debugDrawer:drawSphere(n2Pos, n2Rad, jetColorF(map.nodes[node2id].debugColorCode, 0.3))
        if not nodeIdsDrawn[node2id] then
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua
    local hoverColor = ColorF(1, 1, 1, 0.9)
    debugDrawer:drawSphere(selected.pos, 1.0, hoverColor)
        ColorI(0,0,0,1*255))
      debugDrawer:drawSphere((fields.values[name]), 1, ColorF(1,0,0,0.5))
      if not self.fields[name] then
@/lua/ge/extensions/gameplay/rally/cutCapture.lua
--   if debugPos then
--     debugDrawer:drawSphere(
--       debugPos,
@/lua/ge/extensions/editor/missionEditor/startTrigger.lua
    local radius = self.mission.startTrigger.radius
    debugDrawer:drawSphere(transformHelper.pos, radius, ColorF(1,0,0,0.5))
    local normal = transformHelper.rot * vec3(0,1,0)
@/lua/ge/extensions/editor/gen/render.lua
		local r = w*math.sqrt((pos-campos):length())
		debugDrawer:drawSphere(pos, r, ColorF(c[1],c[2],c[3],c[4] or 1), false)
	end
	r = r*math.sqrt((pos-core_camera.getPosition()):length())
	debugDrawer:drawSphere(pos, r, ColorF(c[1],c[2],c[3],c[4])) -- ColorF(1,1,0,0.4))
end
@/lua/ge/extensions/editor/rallyEditor/drivelineTab.lua
      local pos = self.bufferPoints[i]
      -- debugDrawer:drawSphere(pos, self.bufferRadius, clr_buffer)
            if inBuffer then
              debugDrawer:drawSphere(pos, nodeSize, clr_inBuffer)
            else
            else
              debugDrawer:drawSphere(pos, nodeSize, clr_inside)
            end
          else
            debugDrawer:drawSphere(pos, nodeSize, clr_outside)
          end
@/lua/ge/extensions/core/cameraModes/external.lua
  -- car debug
  debugDrawer:drawSphere((carPos+vec3(0,0,2)), 0.5, ColorF(1,0,0,0.5)) -- car position
  debugDrawer:drawSphere(carPos, 0.3, ColorF(1,0,0,1.0))
  debugDrawer:drawSphere((carPos+vec3(0,0,2)), 0.5, ColorF(1,0,0,0.5)) -- car position
  debugDrawer:drawSphere(carPos, 0.3, ColorF(1,0,0,1.0))
  debugDrawer:drawCylinder(carPos, carPosEnd, 0.1, ColorF(1,0,0,0.1)) -- predicted car path
  debugDrawer:drawCylinder(carPos, carPosEnd, 0.1, ColorF(1,0,0,0.1)) -- predicted car path
  debugDrawer:drawSphere(carPosEnd, 0.3, ColorF(1,0,0,0.3))
  debugDrawer:drawSphere((carPos+carVel), 0.5, ColorF(0,1,0,0.5)) -- speed
  debugDrawer:drawSphere(carPosEnd, 0.3, ColorF(1,0,0,0.3))
  debugDrawer:drawSphere((carPos+carVel), 0.5, ColorF(0,1,0,0.5)) -- speed
  -- camera debug
  debugDrawer:drawCylinder(camPos, camPos, 0.05, ColorF(1,1,1,0.8)) -- cam position
  debugDrawer:drawSphere(camPos, 0.1, ColorF(0,0,1,0.2))
  debugDrawer:drawCylinder(camPos, camPosEnd, 0.02, ColorF(0,0,1,0.3))
  debugDrawer:drawCylinder(camPos, camPosEnd, 0.02, ColorF(0,0,1,0.3))
  debugDrawer:drawSphere(camPosEnd, 0.1, ColorF(0,0,1,0.2))
end
@/lua/ge/extensions/editor/decalEditor.lua
    end
    debugDrawer:drawSphere(inst.position, r, col)
    if d2 <= tdist2 then
@/lua/ge/extensions/gameplay/util/crashDetection.lua

      debugDrawer:drawSphere(impactData.frameDamages[1].vehPos, 0.4, GreenTransparent)
      debugDrawer:drawTextAdvanced(impactData.frameDamages[1].vehPos, string.format("#%i Impact speed: %i kph", impactIndex, impactData.impactSpeed), White, true, false, BlackBackground, false, false)
      -- draw the end of impact
      debugDrawer:drawSphere(impactData.frameDamages[#impactData.frameDamages].vehPos, 0.4, RedTransparent)
      debugDrawer:drawTextAdvanced(impactData.frameDamages[#impactData.frameDamages].vehPos, string.format("#%i Damage: %i", impactIndex, impactData.totalDamage), White, true, false, BlackBackground, false, false)
      -- draw average position of the impact
      debugDrawer:drawSphere(impactData.averagePos, 0.25, BlueTransparent)
      debugDrawer:drawTextAdvanced(impactData.averagePos, string.format("#%i", impactIndex), White, true, false, BlackBackground, false, false)
        if frameDamageImpact.isAboveDamageThreshold then
          debugDrawer:drawSphere(frameDamageImpact.vehPos, 0.1, WhiteTransparent)
        end
@/lua/ge/extensions/gameplay/rally/geometry.lua
  if renderLine then
    debugDrawer:drawSphere(node.pos, 0.7, color)
    debugDrawer:drawCylinder(node.pos, node.nextPos, 0.15, color)
    debugDrawer:drawCylinder(node.pos, tagPos, 0.05, color)
    debugDrawer:drawSphere(node.pos, 0.7, color)
    debugDrawer:drawSphere(node.nextPos, 0.7, color)
    debugDrawer:drawSphere(node.pos, 0.7, color)
    debugDrawer:drawSphere(node.nextPos, 0.7, color)
    debugDrawer:drawTextAdvanced(tagPos, txt, black, true, false, temporaryColorI(color))
      debugDrawer:drawCylinder(node.pos, tagPos, 0.05, color)
      debugDrawer:drawSphere(node.pos, pacenoteThickness*2, black)
      debugDrawer:drawTextAdvanced(tagPos, txt, black, true, false, temporaryColorI(white))
@/lua/vehicle/extensions/tech/wheelForces.lua
        p1 = vehiclePos + obj:getNodePosition(treadNodeId)
        obj.debugDrawProxy:drawSphere(0.02, p1, color(255, 0, 0, 255))
      end
@/lua/ge/extensions/flowgraph/nodes/scene/raycast.lua
  if self.data.debug then
    debugDrawer:drawSphere(vec3(pos), 0.25, ColorF(1,0,0,0.5))
    debugDrawer:drawSphere(vec3(hitPos), 0.25, ColorF(0,1,0,0.5))
    debugDrawer:drawSphere(vec3(pos), 0.25, ColorF(1,0,0,0.5))
    debugDrawer:drawSphere(vec3(hitPos), 0.25, ColorF(0,1,0,0.5))
    debugDrawer:drawLine(vec3(pos), vec3(hitPos), ColorF(0,0,1,0.5))
@/lua/ge/extensions/gameplay/rally/notebook/pacenote.lua
  -- end
  debugDrawer:drawSphere(
    pos,
  if splitPoint then
    debugDrawer:drawSphere(
      splitPoint,
@/lua/ge/extensions/gameplay/rally/loop/stagedCountdownUtils.lua

  debugDrawer:drawSphere(pos, 0.2, ColorF(0.5, 0.0, 1.0, 0.8), true, false)  -- purple
  debugDrawer:drawTriSolid(
  -- Draw the closest point on the plane
  debugDrawer:drawSphere(tmpClosestPoint, 0.3, sideColor, true, false)
  local color = inside and ColorF(0.0, 1.0, 0.0, 0.8) or ColorF(1.0, 0.0, 0.0, 0.8)
  debugDrawer:drawSphere(vehPos, 0.15, color, true, false)
end
@/lua/ge/extensions/flowgraph/nodes/scene/raceLineParking.lua
  local clr = white
  --debugDrawer:drawSphere((pos), 2, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
  local rot = quat(self.pinIn.rotation.value)
@/lua/ge/extensions/ui/cameraDistanceApp.lua

  debugDrawer:drawSphere(vehPos, 0.5, sphereColor)
  debugDrawer:drawTextAdvanced(vehPos, "camera distance target", textColor, true, false, textBackgroundColor)
@/lua/ge/extensions/gameplay/race/segment.lua
      if i > 0 then
        debugDrawer:drawSphere(a.pos, a.radius,
        ColorF(clr[1],clr[2],clr[3],shapeAlpha/2))
@/lua/ge/extensions/gameplay/crashTest/scenarioManager.lua
  if currentStepParameters.objective == "Crash target vehicle into target area" then
    debugDrawer:drawSphere(currentStepParameters.targetVehTargetDestinationPos, currentStepParameters.targetVehTargetDestinationScl.x, green)
  end
@/lua/ge/extensions/flowgraph/nodes/events/customizedTriggerBox.lua
    if self.trigger.type == 'Box' then
      --debugDrawer:drawSphere(vec3(cPos), 0.5, ColorF(0.91,0.05,0.48,0.5))
      inside = inside or containsOBB_point(self.trigger.pos, self.trigger.x, self.trigger.y, self.trigger.z, pos)
    elseif self.trigger.type == 'Sphere' then
      debugDrawer:drawSphere(self.trigger.pos, self.trigger.x:length(), ColorF(1,0.5,0.5,0.25))
    end
@/lua/ge/extensions/editor/toolUtilities/render.lua
  if p:squaredDistance(camPos) < cullDistSq then
    dbgDraw.drawSphere(p, getSphereScale(p:distance(camPos)) * scale, col)
  end
  local dScale = getSphereScale(p:distance(camPos))
  dbgDraw.drawSphere(p, dScale * (style.sphereRib + style.ribGlowScale), style.colourRibGlow) -- Glow pass.
  drawSphereCulled(p, style.sphereRib, style.colourRibHandle) -- Core pass.
  local dScale = getSphereScale(p:distance(camPos))
  dbgDraw.drawSphere(p, dScale * (style.sphereBar + style.barGlowScale), style.colourBarGlow) -- Glow pass.
  drawSphereCulled(p, style.sphereBar, style.colourBarHandle) -- Core pass.
  local k = style.highlightHoverScaleMin + (style.highlightHoverScaleMax - style.highlightHoverScaleMin) * s
  dbgDraw.drawSphere(p, getSphereScale(d) * (baseScale * k), style.colourBarGlow)
  drawSphereCulled(p, style.sphereBar, style.colourBarHandle)
  local k = style.highlightHoverScaleMin + (style.highlightHoverScaleMax - style.highlightHoverScaleMin) * s
  dbgDraw.drawSphere(p, getSphereScale(d) * (baseScale * k), style.colourHighlightSelected or style.colourHighlight)
end
  local k = style.highlightScaleMin + (style.highlightScaleMax - style.highlightScaleMin) * s
  dbgDraw.drawSphere(p, getSphereScale(d) * (baseScale * k), style.colourHighlight)
end
  local k = style.highlightScaleMin + (style.highlightScaleMax - style.highlightScaleMin) * s
  dbgDraw.drawSphere(p, getSphereScale(d) * (baseScale * k), style.colourPathNodeBig)
end
  local k = style.highlightHoverScaleMin + (style.highlightHoverScaleMax - style.highlightHoverScaleMin) * s
  dbgDraw.drawSphere(p, getSphereScale(d) * (baseScale * k), style.colourNodeGlow)
end
  local dScale = getSphereScale(p:distance(camPos))
  dbgDraw.drawSphere(p, dScale * (style.sphereNode + style.nodeGlowScale), style.colourNodeGlow) -- Glow pass.
  dbgDraw.drawSphere(p, dScale * style.sphereNode, style.colourNode) -- Core pass.
  dbgDraw.drawSphere(p, dScale * (style.sphereNode + style.nodeGlowScale), style.colourNodeGlow) -- Glow pass.
  dbgDraw.drawSphere(p, dScale * style.sphereNode, style.colourNode) -- Core pass.
end
end
local function drawSphereImmediate(p, scale, col) dbgDraw.drawSphere(p, getSphereScale(p:distance(core_camera.getPosition())) * scale, col) end
local function drawSphereCursor(p, isActive)
  local clampedDistance = min(distance, 100.0) -- Clamp max 100m.
  dbgDraw.drawSphere(p, getSphereScale(clampedDistance) * style.sphereMousePos, col)
end -- Not culled.
      local dScale = getSphereScale(v:distance(camPos))
      dbgDraw.drawSphere(v, dScale * (style.sphereNode + style.nodeGlowScale), style.colourNodeGlow) -- Glow pass.
      dbgDraw.drawSphere(v, dScale * style.sphereNode, style.colourNode) -- Core pass.
      dbgDraw.drawSphere(v, dScale * (style.sphereNode + style.nodeGlowScale), style.colourNodeGlow) -- Glow pass.
      dbgDraw.drawSphere(v, dScale * style.sphereNode, style.colourNode) -- Core pass.
    end
@/lua/ge/extensions/editor/rallyEditor/measurementsTab.lua

        debugDrawer:drawSphere(pos, pointRadius, ColorF(color[1], color[2], color[3], ALPHA), false, false)
        if isSelected then
          debugDrawer:drawSphere(pos, HOVER_SPHERE_RADIUS, ColorF(cc.clr_white[1], cc.clr_white[2], cc.clr_white[3], 1.0), false, false)
        end
      local color = cc.clr_white
      debugDrawer:drawSphere(pos, radius, ColorF(color[1], color[2], color[3], 1.0), false, false)
    end
    local color = cc.clr_white
    debugDrawer:drawSphere(continuousPos, radius, ColorF(color[1], color[2], color[3], ALPHA), false, false)
@/lua/ge/extensions/editor/util/editorElementHelper.lua
  if e.drawMode == 'sphere' then
    debugDrawer:drawSphere(e.transform.pos, e.oneDimScale and e.transform.scl or e.transform.scl.x, ColorF(e.drawColor[1], e.drawColor[2], e.drawColor[3], e.drawColor[4]))
  elseif e.drawMode == 'sphereDir' then
  local radius = e.oneDimScale and e.transform.scl or e.transform.scl.x
  debugDrawer:drawSphere(e.transform.pos, radius, ColorF(e.drawColor[1], e.drawColor[2], e.drawColor[3], e.drawColor[4]))
  local normal = e.transform.rot * vec3(0,1,0)
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/rallyDebugNode.lua

    debugDrawer:drawSphere(RallyUtil.getVehFrontBottom(self.pinIn.vehId.value), 0.1, ColorF(1.0, 0.2, 1.0, 0.5), false, false)
    debugDrawer:drawSphere(vehicle:getPosition(), 0.1, ColorF(1.0, 1.0, 0.2, 0.5), false, false)
    debugDrawer:drawSphere(RallyUtil.getVehFrontBottom(self.pinIn.vehId.value), 0.1, ColorF(1.0, 0.2, 1.0, 0.5), false, false)
    debugDrawer:drawSphere(vehicle:getPosition(), 0.1, ColorF(1.0, 1.0, 0.2, 0.5), false, false)
    -- dump(pinPos)
    debugDrawer:drawSphere(pinPos, 0.1, ColorF(0.2, 1.0, 0.2, 0.5), false, false)
  end
@/lua/ge/extensions/editor/camPathEditor.lua
  local d = (center - x * width + z * height)
  debugDrawer:drawSphere(a, 0.2, frustumColor)
  debugDrawer:drawSphere(b, 0.2, frustumColor)
  debugDrawer:drawSphere(a, 0.2, frustumColor)
  debugDrawer:drawSphere(b, 0.2, frustumColor)
  debugDrawer:drawSphere(c, 0.2, frustumColor)
  debugDrawer:drawSphere(b, 0.2, frustumColor)
  debugDrawer:drawSphere(c, 0.2, frustumColor)
  debugDrawer:drawSphere(d, 0.2, frustumColor)
  debugDrawer:drawSphere(c, 0.2, frustumColor)
  debugDrawer:drawSphere(d, 0.2, frustumColor)
  local lineWidth = 4 * editor.getPreference('gizmos.general.lineThicknessScale')
        if trackingDebug[0] then
          debugDrawer:drawSphere(target, 0.5, ColorF(0, 0, 1, 1))
        end
      --debugDrawer:setTargetRenderView('main')
      debugDrawer:drawSphere(pos, 0.5, movingFrustumColor)
      local marker = { rot = rot, pos = pos, fov = fov }

    debugDrawer:drawSphere(marker.pos, markerRadius, color)
    if M.currentPath and path.id == M.currentPath.id then
          if trackingDebug[0] then
            debugDrawer:drawSphere(target, 0.5, ColorF(0, 0, 1, 1))
          end
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/brushStroke.lua
        local col = editor.getPreference("dynamicDecalsTool.general.dataPointSphereColor")
        debugDrawer:drawSphere(pos, editor.getPreference("dynamicDecalsTool.general.dataPointSphereSize"), ColorF(col[1], col[2], col[3], col[4]), col[4] < 0.99 and true or false)
        debugDrawer:drawTextAdvanced(pos, String(string.format("  %d  ", i)), ColorF(1,1,0,1), true, false, ColorI(40, 40, 40, 0.75*255))
        local col = editor.getPreference("dynamicDecalsTool.general.dataPointSphereColor")
        debugDrawer:drawSphere(pos, editor.getPreference("dynamicDecalsTool.general.dataPointSphereSize"), ColorF(col[1], col[2], col[3], col[4]), col[4] < 0.99 and true or false)
        debugDrawer:drawTextAdvanced(pos, String(string.format("  %d  ", k)), ColorF(1,1,0,1), true, false, ColorI(40, 40, 40, 0.75*255))
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua
  self.mouseHoldPos = offsetMousePosWithRaycastZSnap(self.mouseInfo.rayCast.pos - self.simpleDragMouseOffset)
  debugDrawer:drawSphere(self.mouseHoldPos, selected.radius, ColorF(1,1,1,0.5))
  debugDrawer:drawTextAdvanced(self.mouseHoldPos, String("Moving " .. selected.name), ColorF(0,0,0,1), true, false, ColorI(255,255,255,255))
    local radius = (self.mouseInfo._downPos - self.mouseInfo._holdPos):length()
    debugDrawer:drawSphere((self.mouseInfo._downPos), radius, ColorF(1,1,1,0.8))
    local normal = (self.mouseInfo._holdPos - self.mouseInfo._downPos):normalized()
      end
      debugDrawer:drawSphere(node.pos, node.radius*radScale, color)
    end
  if target then
    debugDrawer:drawSphere(target.node.pos, target.node.radius, ColorF(1,1,1,1))
    if self.mouseInfo.down then
    if selected and not self:selectedPathnode() then
      debugDrawer:drawSphere(selected.pos, selected.radius, ColorF(1,1,1,0.9))
    end
        ColorI(0,0,0,1*255))
      debugDrawer:drawSphere((fields.values[name]), 1, ColorF(1,0,0,0.5))
      if not self.fields[name] then
@/lua/ge/extensions/editor/sitesEditor/zones.lua
    if selected then
      debugDrawer:drawSphere(obj.pos, sphereRadius, clrSelected)
    else
    else
      debugDrawer:drawSphere(obj.pos, sphereRadius, clrF)
    end
    for _, vertex in ipairs(self.currentVertices) do
      debugDrawer:drawSphere(vertex.pos, 2, ColorF(1, 0, 0, 1))
    end
@/lua/ge/extensions/editor/slotTrafficEditor.lua
  end
  debugDrawer:drawSphere(n.pos, n.radius, color)
@/lua/ge/extensions/gameplay/markers/invisibleTrigger.lua
--[[
  debugDrawer:drawSphere(self.pos, self.radius, ColorF(1,0,0,0.25))
  debugDrawer:drawLine(self.pos, data.vehPos, ColorF(0.91,0.05,0.48,0.5))
@/lua/ge/extensions/gameplay/rally/snaproad.lua

    debugDrawer:drawSphere(
      pos,
    clr = cc.waypoint_clr_cs
    debugDrawer:drawSphere(
      adjustHeight(pn:getCornerStartWaypoint().pos, radius),
    clr = cc.waypoint_clr_ce
    debugDrawer:drawSphere(
      adjustHeight(pn:getCornerEndWaypoint().pos, radius),
      local pos = point.pos
      debugDrawer:drawSphere(
        adjustHeight(pos, radius),
      local pos = vec3(cap.pos)
      debugDrawer:drawSphere(pos, radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))
    end
@/lua/ge/extensions/gameplay/race/pathnode.lua

  debugDrawer:drawSphere((self.pos), self.radius, ColorF(clr[1],clr[2],clr[3],shapeAlpha))