VE Lua Documentation

Press F to search!

drawGraph

Definition


-- @/lua/vehicle/guistreams.lua:106
local function drawGraph(k, val)
  if willSend("genericGraphAdvanced") then
    graphValues = graphValues or {_fidx = 0}
    graphValues._fidx = graphValues._fidx + 1
    graphValues[k] = val
    guihooks.queueStream("genericGraphAdvanced", graphValues)
  end
end

Callers

@/lua/vehicle/powertrain/compressor.lua

  --streams.drawGraph("pumpedAirFlow", { value = pumpFlow })
  --streams.drawGraph("pumpedAirVolume", { value = pumpedVolume })
  --streams.drawGraph("pumpedAirFlow", { value = pumpFlow })
  --streams.drawGraph("pumpedAirVolume", { value = pumpedVolume })
  --streams.drawGraph("pumpedEnergy", { value = pumpedEnergy })
  --streams.drawGraph("pumpedAirVolume", { value = pumpedVolume })
  --streams.drawGraph("pumpedEnergy", { value = pumpedEnergy })

    --streams.drawGraph("tankPressure", { value = tankPressure / 1000, min = 0, max = pressureTank.maxWorkingPressure / 1000 })

  --streams.drawGraph("torqueDiff", torqueDiff)
@/lua/ge/extensions/editor/flowgraph/main.lua

function C:drawGraph(graph, builder, style)
  if drawnThisFrame then return end
          -- DBEUG: draw all graphs:
          --for _, g in pairs(self.mgr.graphs) do self:drawGraph(g, builder, style) end
          -- draw current graph only:
              drawnThisFrame = false
              self:drawGraph(gr, builder, style)
              for k, node in pairs(gr.nodes) do
          else
           if graph then self:drawGraph(graph, builder, style) end
          end
@/lua/vehicle/controller/pneumatics/airbrakes.lua

  --streams.drawGraph("regulatorPressure", { unit = "kPa", value = regulatorPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
  --streams.drawGraph("tankPressure", { unit = "kPa", value = tankPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
  --streams.drawGraph("regulatorPressure", { unit = "kPa", value = regulatorPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
  --streams.drawGraph("tankPressure", { unit = "kPa", value = tankPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
  --streams.drawGraph("actuatorPressure", { unit = "kPa", value = relativeActuatorPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
  --streams.drawGraph("tankPressure", { unit = "kPa", value = tankPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
  --streams.drawGraph("actuatorPressure", { unit = "kPa", value = relativeActuatorPressure / 1000, min = 0, max = maxBrakePressure / 1000 })
end

  --streams.drawGraph("springActuatorPressure", { value = relativeActuatorPressure / 1000, unit = "kPa", min = 0, max = maxSpringBrakePressure / 1000 })
end
@/lua/ge/extensions/editor/flowgraph/variables.lua

function C:drawGraph(graph)
  self:drawTarget(graph.variables, graph.name .. (self.mgr.graph.id == graph.id and " (current)" or ""))
  if im.TreeNode2(graph.name..'##'..graph.id, graph.name) then
    self:drawGraph(graph)
    im.TreePop()
@/lua/vehicle/powertrain/combustionEngineThermals.lua
    if heatTickData.debugEnabled then
      streams.drawGraph("adjEngBlkTemp", {value = adjustedEngineBlockTemperature, min = 0, max = 150})
      streams.drawGraph("engineTickDelay", {value = heatTickData.engineTickDelay, min = 0, max = 1})
      streams.drawGraph("adjEngBlkTemp", {value = adjustedEngineBlockTemperature, min = 0, max = 150})
      streams.drawGraph("engineTickDelay", {value = heatTickData.engineTickDelay, min = 0, max = 1})
      streams.drawGraph("engineTickBucket", {value = heatTickData.engineTickBucket / max(1e-5, heatTickData.engineTickBucketThreshold), min = 0, max = 1})
      streams.drawGraph("engineTickDelay", {value = heatTickData.engineTickDelay, min = 0, max = 1})
      streams.drawGraph("engineTickBucket", {value = heatTickData.engineTickBucket / max(1e-5, heatTickData.engineTickBucketThreshold), min = 0, max = 1})
      streams.drawGraph("deltaTEngineRate", {value = deltaTEngine * invDt, min = -1, max = 5})
      streams.drawGraph("engineTickBucket", {value = heatTickData.engineTickBucket / max(1e-5, heatTickData.engineTickBucketThreshold), min = 0, max = 1})
      streams.drawGraph("deltaTEngineRate", {value = deltaTEngine * invDt, min = -1, max = 5})
      streams.drawGraph("exhaustTickBucket", {value = heatTickData.exhaustTickBucket / max(1e-5, heatTickData.exhaustTickBucketThreshold), min = 0, max = 1})
      streams.drawGraph("deltaTEngineRate", {value = deltaTEngine * invDt, min = -1, max = 5})
      streams.drawGraph("exhaustTickBucket", {value = heatTickData.exhaustTickBucket / max(1e-5, heatTickData.exhaustTickBucketThreshold), min = 0, max = 1})
      streams.drawGraph("deltaTExhaustRate", {value = deltaTExhaust * invDt, min = -1, max = 5})
      streams.drawGraph("exhaustTickBucket", {value = heatTickData.exhaustTickBucket / max(1e-5, heatTickData.exhaustTickBucketThreshold), min = 0, max = 1})
      streams.drawGraph("deltaTExhaustRate", {value = deltaTExhaust * invDt, min = -1, max = 5})
    end
@/lua/vehicle/controller/pneumatics/autoLevelSuspension.lua
    if controlGroup.debug then
      streams.drawGraph(controlGroup.name .. "_currentLength", { value = controlGroup.currentLength, unit = "m" })
      streams.drawGraph(controlGroup.name .. "_targetLength", { value = controlGroup.targetLength, unit = "m" })
      streams.drawGraph(controlGroup.name .. "_currentLength", { value = controlGroup.currentLength, unit = "m" })
      streams.drawGraph(controlGroup.name .. "_targetLength", { value = controlGroup.targetLength, unit = "m" })
    end
          if controlGroup.debug then
            streams.drawGraph(controlGroup.name .. "_control", actuationCoef)
          end
          if controlGroup.debug then
            streams.drawGraph(controlGroup.name .. "_control", 0)
          end
@/lua/vehicle/controller/pneumatics/actuators.lua
    if g.enableDebug then
      -- streams.drawGraph(g.name .. "_bufferEnergy", { value = g.bufferStoredEnergy, unit = "J" })
      streams.drawGraph(g.name .. "_bufferPressure", { value = (g.bufferPressure - 101325) * pascalToPSI, unit = "PSI" })
      -- streams.drawGraph(g.name .. "_bufferEnergy", { value = g.bufferStoredEnergy, unit = "J" })
      streams.drawGraph(g.name .. "_bufferPressure", { value = (g.bufferPressure - 101325) * pascalToPSI, unit = "PSI" })
    end
    if g.enableDebug then
      -- streams.drawGraph(g.name .. "_avgPressure", { value = (g.averagePressure - 101325) * pascalToPSI, unit = "PSI" })
      streams.drawGraph(g.name .. "_avgFlowRate", { value = g.averageFlowRate * 1000, unit = "L/s" })
      -- streams.drawGraph(g.name .. "_avgPressure", { value = (g.averagePressure - 101325) * pascalToPSI, unit = "PSI" })
      streams.drawGraph(g.name .. "_avgFlowRate", { value = g.averageFlowRate * 1000, unit = "L/s" })
      streams.drawGraph(g.name .. "_valveState", { value = g.valveState })
      streams.drawGraph(g.name .. "_avgFlowRate", { value = g.averageFlowRate * 1000, unit = "L/s" })
      streams.drawGraph(g.name .. "_valveState", { value = g.valveState })
    end
      if v.enableDebug then
        streams.drawGraph(v.name .. "_pressure", {value = v.currentPressure * pascalToPSI, unit = "PSI"})
        streams.drawGraph(v.name .. "_energyDelta", {value = v.energyDeltaThisTick, unit = "J"})
        streams.drawGraph(v.name .. "_pressure", {value = v.currentPressure * pascalToPSI, unit = "PSI"})
        streams.drawGraph(v.name .. "_energyDelta", {value = v.energyDeltaThisTick, unit = "J"})
      end
@/lua/vehicle/powertrain/supercharger.lua
  -- print(string.format(" SUPRCH volume = %.2f * pitch = %.2f", volume, pitch))
  -- streams.drawGraph('SPCHGR blowerRPM', {value = blowerRPM, max = 1})
  -- streams.drawGraph('SPCHGR blowerAV', {value = blowerAV, max = 1})
  -- streams.drawGraph('SPCHGR blowerRPM', {value = blowerRPM, max = 1})
  -- streams.drawGraph('SPCHGR blowerAV', {value = blowerAV, max = 1})
  -- streams.drawGraph('SPCHGR volumeRPM', {value = volumeRPM, max = 1})
  -- streams.drawGraph('SPCHGR blowerAV', {value = blowerAV, max = 1})
  -- streams.drawGraph('SPCHGR volumeRPM', {value = volumeRPM, max = 1})
  -- streams.drawGraph('SPCHGR pitch', {value = pitch, max = 1})
  -- streams.drawGraph('SPCHGR volumeRPM', {value = volumeRPM, max = 1})
  -- streams.drawGraph('SPCHGR pitch', {value = pitch, max = 1})
end
@/ui/modules/apps/ShiftPointDebug/app.js

        function drawGraph(streams) {
          if (clear) {
          clearGraph()
          drawGraph(streams)
        })
          clear = 0;  // used to prevent the loss of data on resizing
          drawGraph()
        })
@/lua/vehicle/powertrain/turbocharger.lua
  -- Audio Debug
  -- streams.drawGraph('hiss volum', {value = hissVolume, max = 1})
  -- streams.drawGraph('spin volum', {value = spindleVolume, max = 1})
  -- streams.drawGraph('hiss volum', {value = hissVolume, max = 1})
  -- streams.drawGraph('spin volum', {value = spindleVolume, max = 1})
  -- streams.drawGraph('spin pitch', {value = spindlePitch, max = 1})
  -- streams.drawGraph('spin volum', {value = spindleVolume, max = 1})
  -- streams.drawGraph('spin pitch', {value = spindlePitch, max = 1})
  -- if spindlePitch > 0 then print(string.format(" hiss volum = %0.2f / spin volum %.2f / spin pitch %.3f)", hissVolume, spindleVolume, spindlePitch)); end
@/lua/ge/extensions/editor/flowgraph/overview.lua

function C:drawGraph(graph)
  if self:skipDrawing(graph) then
    for _,child in ipairs(graph:getChildren()) do
      self:drawGraph(child)
    end
        if graph then
          self:drawGraph(graph)
        end
          if macro.parent == nil then
            if self:drawGraph(macro) then
            --[[for _,instanceID in ipairs(macroList.sortedInstanceIDs) do
            --[[for _,instanceID in ipairs(macroList.sortedInstanceIDs) do
              self:drawGraph(self.mgr.graphs[instanceID])
            end]
@/lua/vehicle/sounds.lua
    -- Audio Debug. DON'T FORGET THERE IS SMOOTHING ON THE VOLUME RTPC WHICH ALTERS FINAL RESULT - VOLUME SMOOTHING IS NOW TURNED OFF
    -- streams.drawGraph('susp VOL w'..bi..' '..snd.volumeFactor, {value = volume, min = 0, max = 1})
    -- streams.drawGraph('w'..bi, {value = -smoothStress, min = 0, max = 1})
    -- streams.drawGraph('susp VOL w'..bi..' '..snd.volumeFactor, {value = volume, min = 0, max = 1})
    -- streams.drawGraph('w'..bi, {value = -smoothStress, min = 0, max = 1})
    -- if volume >= 0.01 then print (string.format(" Suspension%.0f   currentStress %.2f x smoothStress %.2f x volumeFactor %.2f = Volume=%.2f  Impulse=%.2f  Pitch=%.2f  colorFactor=%.2f  beamResetTimer=%.2f", bi, currentStress, smoothStress, snd.volumeFactor, volume, impulse, pitch, snd.colorFactor, beamResetTimer)); end

    -- if wd.name == "RR" or wd.name == "RL" then streams.drawGraph(wd.name.." sideSlip", {value = sideSlip * 0.0125, min = 0, max = 0.3}); end

    -- streams.drawGraph(wd.name.." vehicleWheelSpeedDiffSlip", {value = vehicleWheelSpeedDiffSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." tirePressure", {value = tirePressure, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." vehicleWheelSpeedDiffSlip", {value = vehicleWheelSpeedDiffSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." tirePressure", {value = tirePressure, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slip", {value = slip, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." tirePressure", {value = tirePressure, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slip", {value = slip, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." wd.downForce * 0.00002", {value = sqrt(wd.downForce * 0.00002), min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slip", {value = slip, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." wd.downForce * 0.00002", {value = sqrt(wd.downForce * 0.00002), min = 0, max = 1})
    -- streams.drawGraph(wd.name.." lastSlip", {value = wd.lastSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." wd.downForce * 0.00002", {value = sqrt(wd.downForce * 0.00002), min = 0, max = 1})
    -- streams.drawGraph(wd.name.." lastSlip", {value = wd.lastSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slipEnergy", {value = wd.slipEnergy * 0.000005, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." lastSlip", {value = wd.lastSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slipEnergy", {value = wd.slipEnergy * 0.000005, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." sideSlip", {value = sideSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slipEnergy", {value = wd.slipEnergy * 0.000005, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." sideSlip", {value = sideSlip * 0.0125, min = 0, max = 1})
    -- if wd.name == "RR" then
    -- streams.drawGraph(wd.name.." lastSlip", {value = wd.lastSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." vehicleWheelSpeedDiff", {value = (vehicleWheelSpeedDiff * 0.01) + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." lastSlip", {value = wd.lastSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." vehicleWheelSpeedDiff", {value = (vehicleWheelSpeedDiff * 0.01) + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." tirePressure", {value = tirePressure, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." vehicleWheelSpeedDiff", {value = (vehicleWheelSpeedDiff * 0.01) + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." tirePressure", {value = tirePressure, min = 0, max = 1})
    -- end
      -- print(string.format("KICKUP ASPHALT Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup) .. " " .. wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
    -- Audio Debug - prints for roll/skid RTPC's for all wheels
    -- streams.drawGraph(wd.name.." rigidRollVolume", {value = rigidRollVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidRollPitch", {value = rigidRollPtich, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidRollVolume", {value = rigidRollVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidRollPitch", {value = rigidRollPtich, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidVolume", {value = rigidSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidRollPitch", {value = rigidRollPtich, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidVolume", {value = rigidSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidPitch", {value = rigidSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidVolume", {value = rigidSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidPitch", {value = rigidSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidSlip + 0.5", {value = rigidSkidSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidPitch", {value = rigidSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidSlip + 0.5", {value = rigidSkidSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slip * 0.01", {value = slip * 0.01, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidSlip + 0.5", {value = rigidSkidSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." slip * 0.01", {value = slip * 0.01, min = 0, max = 1})
    -- if wd.name == "RR" then
    -- streams.drawGraph(wd.name.." rigidSkidVolume (slip)", {value = rigidSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidPitch (pressure on surface)", {value = rigidSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidVolume (slip)", {value = rigidSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidPitch (pressure on surface)", {value = rigidSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidSlip + 0.5 (Slip difference)", {value = rigidSkidSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidPitch (pressure on surface)", {value = rigidSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidSlip + 0.5 (Slip difference)", {value = rigidSkidSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." sideSlip", {value = sideSlip * 0.0125, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." rigidSkidSlip + 0.5 (Slip difference)", {value = rigidSkidSlip + 0.5, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." sideSlip", {value = sideSlip * 0.0125, min = 0, max = 1})
    -- end
      -- if looseSkidVolume > 0.001 then print (string.format("  DIRT SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- print(string.format("KICKUP DIRT Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup) .. " " .. wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
      -- if looseSkidVolume > 0.001 then print (string.format(" DUSTY SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- print(string.format("KICKUP DUST Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup) .. " " .. wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
      -- if looseSkidVolume > 0.001 then print (string.format(" GRASS SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- print (string.format("KICKUP GRASS Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
      -- if looseSkidVolume > 0.001 then print (string.format("GRAVEL SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f : tirePropertiesSlip=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType, wheelSound.tirePropertiesSlip).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- print (string.format("KICKUP GRAVEL Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
      -- if looseSkidVolume > 0.001 then print (string.format("   MUD SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- streams.drawGraph(wd.name.."  mud looseRollDepth", {value = looseRollDepth, min = 0, max = 0.5})
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- streams.drawGraph(wd.name.."  mud looseRollDepth", {value = looseRollDepth, min = 0, max = 0.5})
      -- print (string.format("KICKUP MUD Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
      -- if looseSkidVolume > 0.001 then print (string.format("  ROCK SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
      -- print (string.format("KICKUP ROCK Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end
      -- if looseSkidVolume > 0.001 then print (string.format("  SAND SKID Vol=%.2f : Pitch=%.2f : Depth=%.2f : Texture=%.2f", looseSkidVolume, looseSkidPitch, looseSkidDepth, looseSurfaceType).." "..wd.name); end
      -- if wd.name == "FL" then streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume}); end
      -- streams.drawGraph(wd.name.." sand looseRollDepth", {value = looseRollDepth, min = 0, max = 0.5})
      -- if wd.name == "FL" then streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume}); end
      -- streams.drawGraph(wd.name.." sand looseRollDepth", {value = looseRollDepth, min = 0, max = 0.5})
      -- print (string.format("KICKUP SAND Vol=%.2f : Pitch=%.2f : Color=%.2f : tirePropertiesKickup=%.2f", kickupVolume, wheelSound.tirePropertiesVolRoll, wheelSound.tirePropertiesPitch, wheelSound.tirePropertiesKickup).." "..wd.name)
      -- streams.drawGraph(wd.name.." kickupVolume", {value = kickupVolume, min = 0, max = 1})
      end

    -- streams.drawGraph(wd.name.." looseRollVolume", {value = looseRollVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseRollPitch", {value = looseRollPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseRollVolume", {value = looseRollVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseRollPitch", {value = looseRollPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseRollDepth", {value = looseRollDepth, min = 0, max = 0.3})
    -- streams.drawGraph(wd.name.." looseRollPitch", {value = looseRollPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseRollDepth", {value = looseRollDepth, min = 0, max = 0.3})
    -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseRollDepth", {value = looseRollDepth, min = 0, max = 0.3})
    -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseSkidPitch", {value = looseSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseSkidVolume", {value = looseSkidVolume, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseSkidPitch", {value = looseSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseSkidDepth", {value = looseSkidDepth, min = 0, max = 0.3})
    -- streams.drawGraph(wd.name.." looseSkidPitch", {value = looseSkidPitch, min = 0, max = 1})
    -- streams.drawGraph(wd.name.." looseSkidDepth", {value = looseSkidDepth, min = 0, max = 0.3})
    -- if looseRollDepth > 0 then print (string.format("looseSurfaceType = %0.3f / looseRollDepth = %0.2f", looseSurfaceType, looseRollDepth)); end
@/lua/vehicle/controller/vehicleController/shiftLogic/cvtGearbox2.lua
local function findFixedGearRatio(desiredGearRatio, dt)
  -- streams.drawGraph("Desired GR", { value = desiredGearRatio, color = "rgba(0, 0, 0, 0.5)" })
    local priorFixedGearRatio = cvtHandling.fixedGearRatios[cvtHandling.fixedGearRatioIndex - 1]
    -- streams.drawGraph("Prior GR", { value = priorFixedGearRatio, color = "#ff0000" })
  else
    -- streams.drawGraph("Prior GR", { value = fixedGearRatio, color = "#ff0000" }) -- just to make it have a value
  end
    local shiftThreshold = lerp(fixedGearRatio, nextFixedGearRatio, M.smoothedValues.drivingAggression) -- higher aggression means a higher shift point
    -- streams.drawGraph("Upshift Threshold", { value = shiftThreshold, color = "#00ffff" })
    -- streams.drawGraph("Next GR", { value = nextFixedGearRatio, color = "#00ff00" })
    -- streams.drawGraph("Upshift Threshold", { value = shiftThreshold, color = "#00ffff" })
    -- streams.drawGraph("Next GR", { value = nextFixedGearRatio, color = "#00ff00" })
  else
    -- streams.drawGraph("Next GR", { value = fixedGearRatio, color = "#00ff00" }) -- just to make it have a value
  end

  -- streams.drawGraph("Fixed GR", { value = fixedGearRatio, color = "#0000ff" })

  -- streams.drawGraph("engineTargetRPM x1000", engineTargetRPM / 1000)
  -- streams.drawGraph("desiredGearRatio", desiredGearRatio)
  -- streams.drawGraph("engineTargetRPM x1000", engineTargetRPM / 1000)
  -- streams.drawGraph("desiredGearRatio", desiredGearRatio)
  -- streams.drawGraph("smoothDesiredGearRatio", smoothDesiredGearRatio)
  -- streams.drawGraph("desiredGearRatio", desiredGearRatio)
  -- streams.drawGraph("smoothDesiredGearRatio", smoothDesiredGearRatio)