{t:'Three synchronized cycles',s:['C-1-w-s-C','S-1-b-m-C','T-1-g-l-C','C-1-w-s-C'],o:['T-1-g-l-C','S-1-b-m-C','S-1-w-m-C','C-1-b-m-C'],a:1,e:'Shape, shade, and size restart together; the fifth frame matches the second.'},
{t:'Count + position + shade',s:['C-1-w-s-L','C-2-b-s-C','C-3-g-s-R','C-4-w-s-L'],o:['C-5-w-s-C','C-5-g-s-C','C-5-b-s-C','C-4-b-s-C'],a:2,e:'Count rises, position cycles left-center-right, and shade cycles white-black-gray.'},
{t:'Rotation + size + shade',s:['A-1-w-s-C-0','A-1-b-m-C-90','A-1-g-l-C-180'],o:['A-1-b-s-C-270','A-1-w-l-C-270','A-1-g-m-C-270','A-1-w-s-C-270'],a:3,e:'The arrow turns 90 degrees while size and shade each run a three-step cycle.'},
{t:'Sides + shade + size',s:['T-1-w-l-C','S-1-g-m-C','P-1-b-s-C','H-1-w-l-C','T-1-g-m-C'],o:['S-1-b-s-C','H-1-g-m-C','T-1-b-m-C','S-1-g-m-C'],a:0,e:'The demonstrated 3-4-5-6 shape cycle combines with independent shade and size cycles.'}],transfer:[
{t:'Odd-even chains',s:['C-1-w-s-C','A-1-b-m-C-0','S-1-w-s-C','A-1-b-m-C-180','P-1-w-s-C'],o:['A-1-w-m-C-0','A-1-b-m-C-0','H-1-w-s-C','A-1-b-m-C-90'],a:1,e:'Odd shapes increase in sides; even black arrows alternate up and down.'},
{t:'Four-feature cycle',s:['C-1-w-s-L','C-2-b-s-C','C-3-g-s-R','C-4-w-s-L'],o:['C-5-g-s-C','C-4-b-s-C','C-5-b-s-C','C-5-b-s-R'],a:2,e:'The next frame has five objects, center position, and black shading.'},
{t:'Rotation + shade',s:['A-1-w-m-C-0','A-1-b-m-C-90','A-1-w-m-C-180','A-1-b-m-C-270'],o:['A-1-b-m-C-0','A-1-w-m-C-90','A-1-b-m-C-90','A-1-w-m-C-0'],a:3,e:'The arrow completes its four quarter-turns and returns to white.'},
{t:'Interlocking count chain',s:['T-1-w-m-C','C-1-b-s-C','S-1-w-m-C','C-2-b-s-C','P-1-w-m-C'],o:['C-3-b-s-C','H-1-w-m-C','C-2-b-s-C','C-3-w-s-C'],a:0,e:'Odd polygons gain one side; even black-circle counts increase from one to two to three.'}],mastery:[
{t:'Compound recurrence',s:['C-1-w-s-C','S-1-b-m-C','T-1-g-l-C','C-1-w-s-C','S-1-b-m-C'],o:['S-1-g-l-C','T-1-g-l-C','T-1-b-l-C','C-1-g-l-C'],a:1,e:'All three synchronized cycles require a gray large triangle.'},
{t:'Separated rules',s:['T-1-w-m-C','A-1-b-m-C-0','S-1-w-m-C','A-1-b-m-C-90','P-1-w-m-C'],o:['A-1-b-m-C-90','H-1-w-m-C','A-1-b-m-C-180','A-1-w-m-C-180'],a:2,e:'Even arrows rotate 90 degrees; the next even frame points down and remains black.'},
{t:'Growth + bounce + shade',s:['C-1-w-s-L','C-2-b-s-C','C-3-w-s-R','C-4-b-s-C'],o:['C-5-b-s-L','C-4-w-s-L','C-5-w-s-C','C-5-w-s-L'],a:3,e:'Count reaches five, position bounces back left, and shading returns to white.'},
{t:'Three-cycle restart',s:['T-1-w-l-C','S-1-b-m-C','P-1-g-s-C','H-1-w-l-C','T-1-b-m-C'],o:['S-1-g-s-C','S-1-b-m-C','T-1-g-m-C','S-1-w-m-C'],a:0,e:'After the demonstrated reset, the square returns while shade becomes gray and size becomes small.'},
{t:'Alternating families',s:['A-1-w-m-C-0','T-1-b-m-C','A-1-w-m-C-90','S-1-b-m-C','A-1-w-m-C-180'],o:['H-1-b-m-C','P-1-b-m-C','A-1-w-m-C-270','T-1-b-m-C'],a:1,e:'Even-position polygons increase from three to four to five sides.'}],masteryB:[
{t:'Dual polygon chains',s:['C-1-b-m-C','T-1-w-m-C','S-1-b-m-C','D-1-w-m-C','P-1-b-m-C'],o:['H-1-w-m-C','P-1-b-m-C','P-1-w-m-C','D-1-b-m-C'],a:2,e:'The white even-position polygons increase from three to four to five sides.'},
{t:'Corner + rotation + size',s:['A-1-w-s-U-0','A-1-b-m-V-90','A-1-g-l-X-180','A-1-w-s-Y-270'],o:['A-1-b-s-U-0','A-1-w-m-U-0','A-1-b-l-U-0','A-1-b-m-U-0'],a:3,e:'Position and rotation complete their cycles; shade becomes black and size becomes medium.'},
{t:'Count + shade + position',s:['C-1-w-s-L','C-2-g-s-C','C-3-b-s-R','C-4-w-s-L'],o:['C-5-g-s-C','C-5-b-s-C','C-4-g-s-C','C-5-g-s-R'],a:0,e:'Count reaches five, shade becomes gray, and position moves to center.'},
{t:'Sides + position + shade',s:['T-1-w-m-L','S-1-b-m-C','P-1-w-m-R','H-1-b-m-L','T-1-w-m-C'],o:['S-1-w-m-R','S-1-b-m-R','T-1-w-m-R','S-1-b-m-C'],a:1,e:'The demonstrated shape cycle advances to square, position moves right, and shade becomes black.'},
{t:'Interlocking transformation',s:['A-1-g-m-C-0','T-1-b-m-C','A-1-g-m-C-90','S-1-b-m-C','A-1-g-m-C-180'],o:['A-1-g-m-C-270','H-1-b-m-C','P-1-b-m-C','A-1-b-m-C-270'],a:2,e:'The even polygon chain increases from triangle to square to pentagon.'}]};
function read(){try{return JSON.parse(localStorage.getItem(KEY)||'{}')}catch{return{}}}function prog(){return read()[SLUG]||{}}function save(u){const p=read();p[SLUG]=Object.assign({},p[SLUG]||{},u,{updatedAt:new Date().toISOString()});localStorage.setItem(KEY,JSON.stringify(p));status()}function status(){const p=prog(),b=$('[data-badge]'),c=$('[data-status]');if(p.verified){b.textContent='VERIFIED';c.textContent='Mastery verified: 5/5.'}else if(p.masteryScore!=null){b.textContent='RECHECK';c.textContent='Latest mastery: '+p.masteryScore+'/5.'}else if(p.checkScore!=null){b.textContent='IN PROGRESS';c.textContent='Starting check: '+p.checkScore+'/5.'}else{b.textContent='NOT STARTED';c.textContent='Not yet started on this browser.'}}function render(el,a,p){el.innerHTML=a.map((x,i)=>'').join('')}function score(f,a,p){let n=0,m=[];a.forEach((x,i)=>{const v=f.querySelector('input[name="'+p+i+'"]:checked');if(v&&+v.value===x.a)n++;else m.push({n:i+1,e:x.e})});return{n,m}}function show(el,k,h){el.className='result show'+(k?' '+k:'');el.innerHTML=h;el.scrollIntoView({behavior:'smooth',block:'nearest'})}function fb(x,total){return ''+x.n+'/'+total+' correct. '+x.m.map(y=>'Item '+y.n+': '+y.e).join(' • ')+''}$('[data-demo]').innerHTML=seq(['C-1-w-s-C','S-1-b-m-C','T-1-g-l-C','C-1-w-s-C'])+'→ ?';$('[data-acet-demo]').innerHTML=seq(['C-1-w-s-L','C-2-b-s-C','C-3-g-s-R','C-4-w-s-L'])+'→ ?';$('[data-reveal]').onclick=()=>{$('[data-answer]').classList.add('show')};render($('[data-check-q]'),D.check,'c');let M=(prog().attempts||0)%2?D.masteryB:D.mastery;render($('[data-mastery-q]'),M,'m');status();$('[data-check-form]').onsubmit=e=>{e.preventDefault();const x=score(e.currentTarget,D.check,'c');save({checkScore:x.n});show($('[data-check-result]'),x.n<3?'low':x.n<5?'warn':'',fb(x,5)+' '+(x.n<3?'Start with Foundations.':x.n<5?'Use Core Practice.':'Continue to ACET Transfer.'))};$$('[data-open]').forEach(b=>b.onclick=()=>{const k=b.dataset.open,a=D[k];$('[data-title]').textContent={foundation:'Foundations Practice',core:'Core Practice',transfer:'ACET-Style Transfer'}[k];$('[data-practice-form]').dataset.level=k;render($('[data-practice-q]'),a,'p');$('[data-panel]').classList.add('show')});$('[data-practice-form]').onsubmit=e=>{e.preventDefault();const k=e.currentTarget.dataset.level,a=D[k],x=score(e.currentTarget,a,'p');save({lastPractice:k,lastPracticeScore:x.n});show($('[data-practice-result]'),x.n<3?'warn':'',fb(x,a.length))};$('[data-mastery-form]').onsubmit=e=>{e.preventDefault();const x=score(e.currentTarget,M,'m'),ok=x.n===5,n=(prog().attempts||0)+1;save({masteryScore:x.n,attempts:n,verified:ok});show($('[data-mastery-result]'),ok?'':x.n===4?'warn':'low',fb(x,5)+' '+(ok?'Competency verified.':'A fresh mastery set is now ready.'));if(!ok){M=M===D.mastery?D.masteryB:D.mastery;render($('[data-mastery-q]'),M,'m')}}})();
No comments:
Post a Comment