403Webshell
Server IP : 217.154.3.148  /  Your IP : 216.73.216.90
Web Server : Apache
System : Linux blissful-wright.217-154-3-148.plesk.page 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64
User : gracious-boyd_hfhh1h8vo9n ( 10000)
PHP Version : 8.3.31
Disable Function : opcache_get_status
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/vhosts/gracious-boyd.217-154-3-148.plesk.page/nextjs/lib/occluder/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/vhosts/gracious-boyd.217-154-3-148.plesk.page/nextjs/lib/occluder/defaults.ts
import fs from 'node:fs'
import path from 'node:path'

export type OccluderDefaultsSlot = 'baseline' | 'tuned'

type OccluderDefaults = {
  params: Record<string, number>
  occluderEnv: Record<string, number>
}

const PARAMS_FILE = path.resolve(process.cwd(), 'models', 'occluder', 'params.json')
const FALLBACK_DEFAULTS: Record<OccluderDefaultsSlot, OccluderDefaults> = {
  baseline: {
    params: {
      maskGrowPx: 8,
      maskPreBlur: 1,
      maskThresh: 0.4,
      maskFinalBlur: 2,
      occluderShrinkPx: 2,
      occluderEdgeTrimPx: 4,
      occluderLeakGuardPx: 2,
      tileFeatherPx: 0,
      occluderFeatherPx: 1,
    },
    occluderEnv: {
      OCCLUDER_SAM_MAX_LEAK: 0.2,
      OCCLUDER_SAM_LEAK_WEIGHT: 1.5,
      OCCLUDER_SAM_BAND_RADIUS: 8,
      OCCLUDER_SAM_NEG_ERODE: 1,
      OCCLUDER_SAM_POS_BAND_ONLY: 1,
      OCCLUDER_SAM_MIN_OVERLAP: 0.05,
      OCCLUDER_SAM_NEG_Q: 0.6,
      OCCLUDER_SAM_POS_GRAD_Q: 0.85,
      OCCLUDER_SAM_MIN_OUTSIDE: 0.005,
      OCCLUDER_SAM_BOX_MARGIN: 40,
      OCCLUDER_SAM_MAX_TILE_RATIO: 0.9,
      OCCLUDER_SAM_TOP_K: 1,
      OCCLUDER_SAM_EDGE_WEIGHT: 0.25,
      OCCLUDER_SAM_EDGE_RADIUS: 1,
      OCCLUDER_SAM_PATCH_FNS: 0,
    },
  },
  tuned: {
    params: {
      maskGrowPx: 8,
      maskPreBlur: 1,
      maskThresh: 0.4,
      maskFinalBlur: 2,
      occluderShrinkPx: 2,
      occluderEdgeTrimPx: 4,
      occluderLeakGuardPx: 2,
      tileFeatherPx: 0,
      occluderFeatherPx: 1,
    },
    occluderEnv: {
      OCCLUDER_SAM_MAX_LEAK: 0.2,
      OCCLUDER_SAM_LEAK_WEIGHT: 1.5,
      OCCLUDER_SAM_BAND_RADIUS: 8,
      OCCLUDER_SAM_NEG_ERODE: 1,
      OCCLUDER_SAM_POS_BAND_ONLY: 1,
      OCCLUDER_SAM_MIN_OVERLAP: 0.05,
      OCCLUDER_SAM_NEG_Q: 0.6,
      OCCLUDER_SAM_POS_GRAD_Q: 0.85,
      OCCLUDER_SAM_MIN_OUTSIDE: 0.005,
      OCCLUDER_SAM_BOX_MARGIN: 40,
      OCCLUDER_SAM_MAX_TILE_RATIO: 0.9,
      OCCLUDER_SAM_TOP_K: 1,
      OCCLUDER_SAM_EDGE_WEIGHT: 0.25,
      OCCLUDER_SAM_EDGE_RADIUS: 1,
      OCCLUDER_SAM_PATCH_FNS: 1,
    },
  },
}

let cached: Record<OccluderDefaultsSlot, OccluderDefaults> | null = null

function loadDefaultsFile(): Record<OccluderDefaultsSlot, OccluderDefaults> {
  if (cached) return cached
  try {
    const contents = fs.readFileSync(PARAMS_FILE, 'utf8')
    const parsed = JSON.parse(contents) as Partial<Record<OccluderDefaultsSlot, OccluderDefaults>>
    cached = {
      baseline: parsed.baseline ?? FALLBACK_DEFAULTS.baseline,
      tuned: parsed.tuned ?? FALLBACK_DEFAULTS.tuned,
    }
  } catch {
    cached = FALLBACK_DEFAULTS
  }
  return cached
}

export function resolveOccluderSlot(slot?: string): OccluderDefaultsSlot {
  return slot?.toLowerCase() === 'tuned' ? 'tuned' : 'baseline'
}

export function getOccluderDefaults(slot?: string): OccluderDefaults {
  const chosen = resolveOccluderSlot(slot)
  const defaults = loadDefaultsFile()
  return defaults[chosen] ?? defaults.baseline
}

Youez - 2016 - github.com/yon3zu
LinuXploit