Template:ItemBox: Difference between revisions

Add overlay3-b25-o10 (file 3) switch value for comparison (with help from vergir-bot LLM)
Wire lowGraphics to the per-item overlay (itembox-lowgfx) and remove the texture/wearMask/iconMask testing switch now that the texture approach is settled (with help from vergir-bot LLM)
Line 21: Line 21:
-->{{#vardefine:isImbue|{{#ifeq:{{#var:isImbue}}|true|itembox-imbue}}}}<!--
-->{{#vardefine:isImbue|{{#ifeq:{{#var:isImbue}}|true|itembox-imbue}}}}<!--


     lowGraphics=true is the setting for callers that place dozens of cards on
     lowGraphics=true is for callers that place dozens of cards on one page (the
     one page. It drops the paper texture, because every way of drawing it as a
     card navboxes). It swaps the paper texture from the normal-mode multiply,
     multiply blends two images together, and WebRender re-rasterises any such
     which blends two images and so is re-rasterised every scrolled frame, to a
    blend on every scrolled frame instead of caching it as a static tile. On the
    transparent-paper overlay that is a single cacheable image. On the profiled
     profiled navbox that blend was the whole cost: dropping it took the render
     navbox this took the render thread's OpenGL work from ~230 ms/s to ~10 and
    thread's OpenGL work from ~230 ms/s to ~10 and roughly doubled the frame
    roughly doubled the frame rate. The wear and icon masks are clips of a
    rate. The wear and icon masks are clips of a single image, not blends of
    single image, not blends, so they cache once rasterised and stay at full
    two, so they cache once rasterised and are kept at full detail here. A
     detail. The overlay itself is defined in [[Template:ItemBox/styles.css]] and
     transparent-paper overlay (texture=overlay) may replace the dropped texture
     keyed off the same per-item texture-vN class, so a card keeps its paper
    once its scroll profile is confirmed.
    across both modes.
-->{{#vardefine:lowGraphics|{{#ifeq:{{{lowGraphics|}}}|true|itembox-no-texture}}}}<!--
-->{{#vardefine:lowGraphics|{{#ifeq:{{{lowGraphics|}}}|true|itembox-lowgfx}}}}<!--
 
    The same layers individually, for testing combinations or overriding the
    bundle above. wearMask drops the mask from the wear tint three ways:
    no  - tint moves behind the artwork, so only the card stock is coloured
    ramp - tint stays on top, fading in from the card's edges
    soft - tint stays on top, uniform and lighter, with the name lifted clear
    texture handles the paper grain:
    no    - drop it entirely
    1/2/3 - one shared paper via the mix-blend overlay (does not cache)
    blend / blend1..3 - paper multiplied into the card art (does not cache)
     overlay - transparent-background paper dropped on top as a plain image;
            caches, covers the whole card, closest to the original. Strength
            presets: overlay-soft (0.6), overlay-o30, overlay-o20, overlay-o10,
            overlay-o05. Darkened-grain grid overlay-bBB-oOO (brightness .BB,
            opacity .OO) so the grain deepens dark cards rather than lightening.
            Append the second/third alpha file with overlay2-/overlay3-.
    mask / mask-soft / mask-crisp / mask-crisp-soft - dead ends kept for
            reference; they fake the paper from the opaque PNGs and look wrong
-->{{#vardefine:lite|{{#switch:{{{wearMask|}}}|no=itembox-flat-wear|ramp=itembox-ramp-wear|soft=itembox-soft-wear}} {{#ifeq:{{{iconMask|}}}|no|itembox-flat-icon}} {{#switch:{{{texture|}}}|no=itembox-no-texture|1=itembox-force-tex-1|2=itembox-force-tex-2|3=itembox-force-tex-3|blend=itembox-blend-texture|blend1=itembox-blend-texture itembox-blend-tex-1|blend2=itembox-blend-texture itembox-blend-tex-2|blend3=itembox-blend-texture itembox-blend-tex-3|overlay=itembox-over-texture|overlay-soft=itembox-over-texture itembox-over-soft|overlay-o30=itembox-over-texture itembox-over-o30|overlay-o20=itembox-over-texture itembox-over-o20|overlay-o10=itembox-over-texture itembox-over-o10|overlay-o05=itembox-over-texture itembox-over-o05|overlay-b20-o40=itembox-over-texture itembox-over-b20-o40|overlay-b20-o60=itembox-over-texture itembox-over-b20-o60|overlay-b20-o80=itembox-over-texture itembox-over-b20-o80|overlay-b25-o10=itembox-over-texture itembox-over-b25-o10|overlay2-b25-o10=itembox-over-texture itembox-over-b25-o10 itembox-over-file2|overlay3-b25-o10=itembox-over-texture itembox-over-b25-o10 itembox-over-file3|overlay-b35-o40=itembox-over-texture itembox-over-b35-o40|overlay-b35-o60=itembox-over-texture itembox-over-b35-o60|overlay-b35-o80=itembox-over-texture itembox-over-b35-o80|overlay-b35-o100=itembox-over-texture itembox-over-b35-o100|overlay-b50-o60=itembox-over-texture itembox-over-b50-o60|overlay-b50-o80=itembox-over-texture itembox-over-b50-o80|overlay-b50-o100=itembox-over-texture itembox-over-b50-o100|mask=itembox-mask-texture itembox-mask-any-texture|mask-soft=itembox-mask-soft-texture itembox-mask-any-texture|mask-crisp=itembox-mask-crisp-texture itembox-mask-any-texture|mask-crisp-soft=itembox-mask-crisp-soft-texture itembox-mask-any-texture}}}}<!--


     Links.
     Links.
Line 57: Line 38:
-->{{#vardefine:linkClick|{{{overrideLinkClick|{{#var:itemName}}{{If lang}}}}}}}<!--
-->{{#vardefine:linkClick|{{{overrideLinkClick|{{#var:itemName}}{{If lang}}}}}}}<!--


--><div class="itembox {{#var:showTierTag}} {{#var:tier}} {{#var:slot}} {{#var:isActive}} {{#var:isImbue}} {{#var:variants}} {{#var:lowGraphics}} {{#var:lite}}" style="font-size:{{#expr: 10 * {{#if:{{{size|}}}|{{{size}}}|1}} }}px;">
--><div class="itembox {{#var:showTierTag}} {{#var:tier}} {{#var:slot}} {{#var:isActive}} {{#var:isImbue}} {{#var:variants}} {{#var:lowGraphics}}" style="font-size:{{#expr: 10 * {{#if:{{{size|}}}|{{{size}}}|1}} }}px;">
<div class="itembox-background">
<div class="itembox-background">
<div class="itembox-card">
<div class="itembox-card">