PageSourceSearch

https://how-radar-sees.pages.dev/assets/jamming-BAdqYpC7.js

js how-radar-sees.pages.dev collected 2026-10-03 05:53:14 UTC 2,053 bytes, 1 lines download raw bytes

1import{C as y}from"./Canvas2DFigure-CTHNVuxJ.js";import{F as b}from"./draw-C9i6pDRq.js";import"./Figure-jqdbFS1A.js";import"./index-5oHlzLJt.js";const n=g=>{const e=Math.sin(g*71.3)*43758.5;return e-Math.floor(e)},S=[[.3,.4],[.42,.55],[.6,.35],[.7,.62],[.52,.7]];class $ extends y{controlsSchema=[{type:"range",name:"power",label:"Jammer power",min:0,max:1,step:.05,value:.6,format:e=>`${Math.round(e*100)}%`},{type:"range",name:"jx",label:"Jammer position",min:.05,max:.95,step:.05,value:.8,format:e=>`${Math.round(e*100)}%`},{type:"toggle",name:"null",label:"Steer null onto jammer",value:!1}];draw(){const e=this.g,u=this.w,s=this.h;if(this.palette,!e)return;e.fillStyle="#0c1017",e.fillRect(0,0,u,s);const i=16,l=34,c=u-i*2,r=s-l-44,h=this.params.power,p=this.params.null,d=p?h*.12:h;for(let t=0;t<260;t++){const f=i+n(t)*c,m=l+n(t+3)*r,o=35+n(t+8)*35;e.fillStyle=`rgb(${o},${o+5},${o+9})`,e.fillRect(f,m,1.6,1.6)}for(const[t,f]of S){const m=i+t*c,o=l+f*r;e.fillStyle="rgba(120,200,255,0.9)",e.beginPath(),e.arc(m,o,5,0,Math.PI*2),e.fill()}const x=Math.round(d*2600);for(let t=0;t<x;t++){const f=i+n(t*2+1)*c,m=l+n(t*2+2)*r,o=120+n(t)*120;e.fillStyle=`rgba(${o},${o},${o},0.5)`,e.fillRect(f,m,1.4,1.4)}const a=i+this.params.jx*c;p&&(e.fillStyle="rgba(60,224,138,0.10)",e.beginPath(),e.moveTo(a,l),e.lineTo(a-26,l+r),e.lineTo(a+26,l+r),e.closePath(),e.fill(),e.strokeStyle="rgba(60,224,138,0.5)",e.setLineDash([4,3]),e.stroke(),e.setLineDash([])),e.fillStyle="#ff5b5b",e.beginPath(),e.moveTo(a,l+4),e.lineTo(a-7,l-8),e.lineTo(a+7,l-8),e.closePath(),e.fill(),e.font=`11px ${b}`,e.textAlign="center",e.fillText("jammer",a,l-12),e.textAlign="left",e.font=`700 13px ${b}`,p?(e.fillStyle="#3ee08a",e.fillText("null steered onto jammer — scene recovered, only its direction blinded",i,s-12)):h>.5?(e.fillStyle="#ff9d5c",e.fillText("jammed — image washed out (but the jammer just revealed its position)",i,s-12)):(e.fillStyle="rgba(200,210,225,0.85)",e.fillText("low jamming — processing gain still recovers the scene",i,s-12))}}export{$ as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.