// Polyglot TypeScript fixture for the entropy-scanner B5 regression.
//
// Pre-B5 behaviour: rule 11 (GLSL_KEYWORDS line-proximity) suppressed any
// high-entropy string that happened to share a line with shader keywords.
// In a `.ts` file with an embedded fragment-shader template literal, a real
// credential on the closing brace line would be silently dismissed.
//
// Post-B5 behaviour: classifyFileContext returns 'code-dominant' for `.ts`
// files (unless the file is overwhelmingly shader/markup), which disables
// rules 11-13. The credential below is therefore detected.
//
// The placeholder __ENTROPY_PAYLOAD_PLACEHOLDER__ is replaced at test time
// with a randomly generated high-entropy string. The static fixture stays
// out of the pre-edit-secrets hook because no real high-entropy literal is
// committed to disk.

const fragmentShader = `
  precision highp float;
  uniform vec3 u_resolution;
  uniform float u_time;
  varying vec2 v_uv;
  void main() {
    vec3 color = vec3(v_uv, sin(u_time));
    gl_FragColor = vec4(color, 1.0);
  }
`;

// The next line ends a uniform vec3 declaration AND carries the placeholder
// — exactly the kind of GLSL-adjacent line that rule 11 used to suppress.
const placeholder = "__ENTROPY_PAYLOAD_PLACEHOLDER__"; // uniform vec3 normal;

export { fragmentShader, placeholder };
