Spaces:
Running
title: PositionAuctions
emoji: π
colorFrom: pink
colorTo: green
sdk: static
pinned: false
license: mit
short_description: Position Auctions https://arxiv.org/abs/2506.03309
Position Auction Simulator
Auction Log Display: A new panel on the right side of the screen (#auctionLogContainer) will now display a running log of simulated auction events. Bidder Simulation: Each "sponsored creative" now has an associated maxBid and a simulatedCTR is calculated for each potential creative-position pairing. Automated Auction Cycle: Every few seconds, an runAuctionCycle function is triggered. For each unoccupied "placement position," it evaluates all available "sponsored creatives." It calculates a "bid value" for each creative based on its maxBid, the simulatedCTR (higher if types match), and a small random factor. The creative with the highest bid "wins" the auction for that position. Visual Integration of Auctions: When an automated auction places a creative, the visual changes (position marker color, size, creative removal) are the same as when you manually place one. This makes the central sculpture dynamically change based on these simulated auctions. Logging: The auction log will show which creative won which position, its "bid," and its "simulated CTR." User Interaction: You can still manually select creatives and place them. If you place a creative on a position, it effectively overrides or preempts the automated auction for that slot. Refinements: The attemptMatch function (for user clicks) and the new auction logic now use a shared function placeCreative to handle the actual placement and visual updates. The scoring system remains tied to your direct interactions. The auction system is primarily for visual dynamism and to illustrate the concept of ongoing auctions. I'll provide the updated HTML and JavaScript code.
Key changes to look for in the code:
HTML Structure: The main body is now a flex container to position the canvas and the new #auctionLogContainer side-by-side. #auctionLogContainer CSS: Styles for the new log panel. runAuctionCycle(): The core of the automated auction simulation. addAuctionLogEntry(): Adds messages to the log display. startAuctionSimulation() / stopAuctionSimulation(): Control the auction interval. placeCreative(): Centralized function for placing creatives, used by both user interaction and the auction system. Creative userData: Now includes maxBid. Position userData: Now includes source ('user' or 'auction') and originalEmissiveHex. Animation Loop: Unoccupied positions now have a more noticeable emissive pulse.
https://arxiv.org/abs/2506.03309
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference