[{"data":1,"prerenderedAt":254},["ShallowReactive",2],{"$fzM46wjPPQq6zsxCCiaY7V1SsfjUBI86K8K3lJHoJXYA":3},{"newThing":4,"project":5,"cycle":9,"sections":23,"threads":209,"otherDocs":210,"documents":211,"images":212,"archiveItems":251,"links":252},"Node identity — labels, shapes, favicons for network entities",{"id":6,"label":7,"liveBase":8},"qflow","Qflow",null,{"id":10,"num":11,"dir":12,"name":13,"title":14,"focus":15,"status":16,"statusNote":8,"created":17,"completed":8,"mode":8,"report":8,"recordless":18,"thumbnail":19,"imageCount":20,"artifactCount":21,"lastActivity":22,"hasPickup":18,"hasInitialPrompt":18},"c3",3,"c3.item-design","item-design","Item Design","Item design — labels, shapes, images, and favicons for network entities","archived","2026-02-18",false,"\u002Fcycles\u002Fqflow\u002Fc3-circular-sources.png",9,0,"2026-08-15",[24,38,48,68,168],{"key":25,"title":26,"empty":18,"ast":27},"why","Why",{"type":28,"children":29},"root",[30],{"type":31,"tag":32,"props":33,"children":34},"element","p",{},[35],{"type":36,"value":37},"text","Sources and destinations are currently undifferentiated colored circles. This cycle explores visual identity for nodes: text labels (always-on \u002F hover \u002F off), alternative shapes (square, hexagon), and favicon images for known external vendors loaded via a Google favicon proxy.",{"key":39,"title":40,"empty":18,"ast":41},"objective","Objective",{"type":28,"children":42},[43],{"type":31,"tag":32,"props":44,"children":45},{},[46],{"type":36,"value":47},"Establish visual identity system for network nodes with labels, shapes, and favicons.",{"key":49,"title":50,"empty":18,"ast":51},"scope","Scope",{"type":28,"children":52},[53],{"type":31,"tag":54,"props":55,"children":56},"ul",{},[57],{"type":31,"tag":58,"props":59,"children":60},"li",{},[61],{"type":31,"tag":62,"props":63,"children":65},"code",{"className":64},[],[66],{"type":36,"value":67},"dev\u002Fexperiments\u002Fc3.item-design\u002F",{"key":69,"title":70,"empty":18,"ast":71},"key-changes","Key Changes",{"type":28,"children":72},[73],{"type":31,"tag":54,"props":74,"children":75},{},[76,81,86,91,96,101,106,111,132,163],{"type":31,"tag":58,"props":77,"children":78},{},[79],{"type":36,"value":80},"Self-contained experiment with own PIXI.Application and layout",{"type":31,"tag":58,"props":82,"children":83},{},[84],{"type":36,"value":85},"Destination metadata map with vendor labels and domains",{"type":31,"tag":58,"props":87,"children":88},{},[89],{"type":36,"value":90},"Favicon proxy via Vite dev server plugin (bypasses CORS)",{"type":31,"tag":58,"props":92,"children":93},{},[94],{"type":36,"value":95},"Favicon sprites overlaid on destination nodes",{"type":31,"tag":58,"props":97,"children":98},{},[99],{"type":36,"value":100},"Label system with three modes: off, hover, always",{"type":31,"tag":58,"props":102,"children":103},{},[104],{"type":36,"value":105},"Source shape toggle: circle, square, hexagon",{"type":31,"tag":58,"props":107,"children":108},{},[109],{"type":36,"value":110},"Color differentiation: external (pink), internal (green), sources (blue)",{"type":31,"tag":58,"props":112,"children":113},{},[114,116,122,124,130],{"type":36,"value":115},"Extracted ",{"type":31,"tag":62,"props":117,"children":119},{"className":118},[],[120],{"type":36,"value":121},"DecorationImage",{"type":36,"value":123},"\u002F",{"type":31,"tag":62,"props":125,"children":127},{"className":126},[],[128],{"type":36,"value":129},"FaviconImage",{"type":36,"value":131}," class hierarchy",{"type":31,"tag":58,"props":133,"children":134},{},[135,141,143,149,150,156,157],{"type":31,"tag":62,"props":136,"children":138},{"className":137},[],[139],{"type":36,"value":140},"BasePlayer",{"type":36,"value":142}," gains ",{"type":31,"tag":62,"props":144,"children":146},{"className":145},[],[147],{"type":36,"value":148},"addDecoration",{"type":36,"value":123},{"type":31,"tag":62,"props":151,"children":153},{"className":152},[],[154],{"type":36,"value":155},"removeDecoration",{"type":36,"value":123},{"type":31,"tag":62,"props":158,"children":160},{"className":159},[],[161],{"type":36,"value":162},"getDecoration",{"type":31,"tag":58,"props":164,"children":165},{},[166],{"type":36,"value":167},"Tint-based active state exploration (draw-white-then-tint pattern)",{"key":169,"title":170,"empty":18,"ast":171},"outcome","Outcome",{"type":28,"children":172},[173],{"type":31,"tag":32,"props":174,"children":175},{},[176,178,184,186,192,194,200,201,207],{"type":36,"value":177},"Visual identity system working. Favicons load and render via Google's favicon proxy. Key bug: PixiJS 8's ",{"type":31,"tag":62,"props":179,"children":181},{"className":180},[],[182],{"type":36,"value":183},"Assets.load()",{"type":36,"value":185}," silently fails on blob\u002Fquery-string URLs. Fix: use ",{"type":31,"tag":62,"props":187,"children":189},{"className":188},[],[190],{"type":36,"value":191},"new Image()",{"type":36,"value":193}," + ",{"type":31,"tag":62,"props":195,"children":197},{"className":196},[],[198],{"type":36,"value":199},"img.decode()",{"type":36,"value":193},{"type":31,"tag":62,"props":202,"children":204},{"className":203},[],[205],{"type":36,"value":206},"PIXI.Texture.from(img)",{"type":36,"value":208},".",[],[],[],[213,220,224,228,232,236,240,244,247],{"src":214,"kind":215,"order":216,"caption":217,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-favicon-always.png","hero",24,"Default: favicon destinations, labels always on","2026-08-15T23:39:22.618Z","\u002Fexperiments\u002Fc3.item-design\u002F",{"src":221,"kind":215,"order":222,"caption":223,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-labels-off.png",25,"Labels off — pure shape language",{"src":225,"kind":215,"order":226,"caption":227,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-square.png",26,"Square sources",{"src":229,"kind":215,"order":230,"caption":231,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-hexagon.png",27,"Hexagon sources",{"src":233,"kind":215,"order":234,"caption":235,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-dest-shapes.png",28,"Destinations as shapes instead of favicons",{"src":237,"kind":215,"order":238,"caption":239,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-isometric.png",29,"Isometric pulse lines",{"src":241,"kind":215,"order":242,"caption":243,"capturedAt":218,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-labels-large.png",30,"Label size pushed to 56px",{"src":19,"kind":215,"order":245,"caption":246,"capturedAt":218,"route":219},31,"Circular source layout with favicons back on",{"src":248,"kind":215,"order":249,"capturedAt":250,"route":219},"\u002Fcycles\u002Fqflow\u002Fc3-item-design.png",4999,"2026-08-15T19:11:30.378Z",[],[253],{"route":219,"href":8},1794599368241]