iPad Database Scanner UI

Build spec for the case scanner screen in Modular Delivery. Every sprite on screen is described here: what it looks like, where it sits, its costumes, and what it does. The only buttons are the two mode tabs.

Screen layout

iPad in landscape. Canvas is 1024 × 768 (4:3), so it also maps cleanly onto a 480 × 360 Scratch-style stage if needed (multiply every number by 0.47). All positions below are the top-left corner of the sprite.

Heritage Site Database Artefact Wood Delivery 10:42 Thu 12 Nov Case 05 scanned ArtefactImage Bronze offering bowl Roman Empire, 1st century MaterialWeightNow atGoing to Bronze1.2 kgEast Wing, Room 3Safe Storage B Fragility Handling rules Cleared Chain of custody Scanned outLoadedIn transitDelivered 14° Partly cloudyWind 12 km/h Humidity 58% FriSatSunMonTue 15°11°9°13°16° November Artefact moveWood delivery Scanner connected Last scan 10:41 Records synced

Zones

ZonePosition (x, y)Size (w × h)Contents
Top bar0, 01024 × 64App title, the two mode tabs, clock and date
Main panel24, 88660 × 600Changes with the mode: the artefact record, or the wood delivery manifest
Weather card708, 88292 × 150Current weather (fake)
Forecast card708, 250292 × 150Five-day forecast (fake)
Calendar card708, 412292 × 276Month view with scheduled moves and deliveries
Status bar0, 7041024 × 64Scanner connection, last scan time, sync state

The right column (weather, forecast, calendar) stays the same in both modes. Only the main panel and the active tab change.

Style

Colours

Background #F5F6F4

Cards and top bar #FFFFFF, card border #DDE1E3

Main text #1F2A36, secondary text #5D6873

Artefact mode colour #2E5E7E (museum blue)

Wood Delivery mode colour #C98A2B (timber amber)

OK / cleared #2F7D4F, warning #C0563F

Type and shape

One clean sans-serif throughout (SF Pro on iPad, or DM Sans). Sizes: 26 for the record title, 20 for the app title, 16 to 17 for values, 13 for field labels, 12 for small captions.

Field labels are sentence case and grey; values are bold and dark. No all-caps.

Cards have 16 px rounded corners, a 1 px border and no shadows. Inner tiles have 10 to 12 px corners.

The active mode colour is used only on the active tab, progress lines and the custody tracker, so a glance tells you which mode you are in.

Shared sprites (both modes)

SpritePosition / sizeLooks likeCostumes / statesWhat it does
Background0, 0 / 1024 × 768Flat light grey #F5F6F4 fill with the white top bar and the status bar divider line built inOne costumeSits behind everything. Never changes.
AppTitle24, 20 / 260 × 28Text "Heritage Site Database" in bold dark navyOne costumeStatic label.
TabArtefact (button)332, 12 / 180 × 40Pill-shaped tab with the word "Artefact". Active: filled museum blue, white bold text. Inactive: pale grey fill, grey textactive, inactiveWhen tapped: switches to active, tells TabWood to go inactive, broadcasts "mode artefact". Main panel shows the artefact sprites.
TabWood (button)512, 12 / 180 × 40Same pill shape with "Wood Delivery". Active: filled timber amber, white bold text. Inactive: pale grey, grey textactive, inactiveWhen tapped: switches to active, tells TabArtefact to go inactive, broadcasts "mode wood". Main panel shows the wood delivery sprites.
Clockright-aligned at 1000, 14 / 120 × 40Time in bold (10:42) with the date underneath in small grey text (Thu 12 Nov)Text only, updated by codeShows the fake time. Can tick forward one minute every few real seconds to make the demo feel live.
MainPanel24, 88 / 660 × 600White card, 16 px corners, 1 px light borderOne costumeFrame that both modes draw inside.
WeatherIcon734, 114 / 56 × 56Simple flat icon: yellow sun, sun behind grey cloud, grey cloud with blue rain drops, or cloud with wind linessunny, partly cloudy, rain, windyMatches the current fake condition.
WeatherTemp808, 112 / 120 × 48Large bold temperature, e.g. "14°"TextShows the current fake temperature.
WeatherDetails732, 182 / 250 × 40Condition on the first line ("Partly cloudy"), wind and humidity in smaller grey text belowTextFeeds the weather check in Wood Delivery mode and the humidity check in Artefact mode.
ForecastDay (x5 clones)first at 726, 266, then every 55 px across / 32 × 100 eachDay name at top (Fri), small weather icon in the middle, high temperature underneathsunny, partly cloudy, rain, windyFive days of fake forecast. A rainy day gets a thin amber underline if a wood delivery is booked that day.
CalendarHeader732, 424 / 200 × 24Month name in bold, e.g. "November"TextStatic label for the shown month.
CalendarDay (x28 to 35 clones)grid from 732, 458, 36 px apart, 7 columns / 32 × 30 eachRounded grey square with the day number. Today is filled dark navy with white numbernormal, today, emptyShows the month. Days with bookings show a dot (see next sprite).
CalendarDotbottom centre of its day / 6 × 6Small round dotblue (artefact move), amber (wood delivery)Marks booked days. Both dots can sit side by side on one day.
CalendarLegend732, 632 / 250 × 18Blue dot "Artefact move", amber dot "Wood delivery"One costumeExplains the dots.
ConnectionDot30, 722 / 12 × 12Small round light with "Scanner connected" text beside itgreen (connected), grey (offline)Shows the IR scan bay is talking to the iPad.
SyncTextright-aligned at 1000, 720 / 300 × 20Small grey text: "Last scan 10:41 Records synced"TextUpdates the time whenever a new case is scanned.

Why the weather is there: it is not decoration. Timber must stay dry and mortar should not be laid in rain, so Wood Delivery mode checks it. Artefacts have humidity limits, so Artefact mode checks it too. If a judge asks, that is the answer.

Artefact mode sprites

Shown when TabArtefact is active. The screen has three states: waiting for a case, case scanned, and code not read.

SpritePosition / sizeLooks likeCostumes / statesWhat it does
ScanBanner24, 88 / 660 × 56Coloured strip across the top of the main panel, rounded at the top corners, with one bold line of textwaiting (pale grey, "Place a case on the scan bay"), scanned (pale green, "Case 05 scanned"), error (pale red, "Code not read. Reposition the case")Tells the operator what the scanner is doing at a glance.
WaitingGraphiccentre of main panel / 240 × 240Outline of a case with four stripes and a thin blue scan linescan line at 3 to 4 heights (animates up and down)Only visible in the waiting state. Hidden once a case is scanned.
ArtefactImage48, 164 / 220 × 220Square tile with rounded corners, pale grey background, a clean picture or simple drawing of the objectOne costume per artefact (bowl, jar, mask, manuscript)Shows the object inside the sealed case, so nobody has to open it.
ArtefactName292, 166 / 370 × 32Large bold title, e.g. "Bronze offering bowl"TextName of the scanned artefact.
ArtefactOrigin292, 202 / 370 × 20Grey line under the title: culture and eraTexte.g. "Roman Empire, 1st century".
CaseIDright side of ScanBanner / 120 × 24Small rounded tag with the case numberTexte.g. "Case 05".
InfoField (x4 clones)2 × 2 grid from 292, 242, 188 px across, 50 px down / 180 × 44 eachGrey label on top, bold value under itMaterial, Weight, Now at, Going toThe key facts the movers need.
FragilityMeter292, 352 / 236 × 30Label "Fragility" with 5 short rounded bars in a row1 to 5 bars filled. 1 to 2 filled green, 3 amber, 4 to 5 redShows how delicate the object is. 4 or 5 also sets the truck to fragile mode.
RuleIcon (x5 clones)row from 48, 432, 104 px apart / 96 × 76 eachPale grey tile with a simple line icon and a 2-word caption underneathkeep upright (up arrow), max tilt (angle symbol with "10°"), temperature (thermometer "15 to 20°"), humidity (droplet "45 to 55%"), do not stack (crossed-out stacked boxes)Handling rules for the case. A rule that does not apply is shown faded.
ClearanceLight576, 432 / 84 × 76Solid coloured tile with one bold wordcleared (green, "Cleared"), hold (red, "Hold")Green means the forklift may pick the case up. Red appears if outside humidity is beyond the artefact's limit or the case is not on the move schedule.
CustodyTracker48, 540 / 600 × 100Label "Chain of custody", a grey line with 4 circles and captions underneath: Scanned out, Loaded, In transit, Delivered0 to 4 steps complete. Completed circles and the line between them fill museum blueShows where the case is in its journey. A second scan at storage completes "Delivered".

State changes

Wood Delivery mode sprites

Shown when TabWood is active. The right column stays; only the main panel changes.

Delivery D-014: in transit to site Route DepotSiteMuseumStorage Manifest Timber beam, 2.4 mx248 kg Mortar blockx125 kg Unloaded by arm 0 of 3 items Drop zoneDelivery windowWeather check Zone B, north wall10:30 to 11:30 Dry, safe to unload
SpritePosition / sizeLooks likeCostumes / statesWhat it does
DeliveryBanner24, 88 / 660 × 56Pale amber strip with bold amber-brown textat depot ("Delivery D-014: loaded at depot"), in transit ("in transit to site"), arrived ("arrived at site"), complete (pale green, "Delivery D-014 complete")The one-line status of the current delivery.
RouteLine48, 170 / 612 × 90Label "Route", a thick grey line with 4 stop circles: Depot, Site, Museum, Storage. The completed part of the line is amber0 to 3 legs completeShows the whole loop so the audience sees materials going in and artefacts coming out.
TruckMarkermoves along RouteLine / 40 × 22Tiny dark navy side-view truckfacing right; flashing when stopped at a stopGlides between stops when Coding Story 1 sends the truck on. Stops on each circle.
ManifestRow (x2 to 4 clones)from 48, 302, 60 px apart / 612 × 52 eachPale grey rounded row: material icon tile on the left, bold item name, quantity, weight, and a tick circle on the far rightpending (empty circle), unloaded (circle filled green with white tick)One row per material on the truck. Ticks over when the arm sets that item down.
MaterialIconinside each row, left / 32 × 32Simple flat icon on a tinted tiletimber (light brown tile, plank with grain lines), mortar (grey tile, block), bracing prop (amber tile, strut), stone (grey tile, cut block)Lets the operator identify each item without reading.
UnloadBar48, 446 / 612 × 56Label "Unloaded by arm", a rounded grey bar that fills amber, and "0 of 3 items" under its right end0%, 33%, 66%, 100%Fills one step per item the construction arm unloads. At 100% the banner turns "complete".
DropZone48, 524 / 190 × 44Grey label "Drop zone" with bold valueTextWhere on site the materials go, e.g. "Zone B, north wall".
DeliveryWindow260, 524 / 190 × 44Grey label "Delivery window" with bold time rangeTextBooked time slot, e.g. "10:30 to 11:30". Matches the amber dot on today in the calendar.
WeatherCheck472, 548 / 188 × 30Rounded pill with a short bold messagedry (green, "Dry, safe to unload"), rain (red, "Rain, cover the timber"), wind (amber, "Strong wind, slow the arm")Reads WeatherDetails. Ties the weather card to a real job.

Fake data

Use these exact values so the screens, the stripe codes on the real cases, and the presentation all agree.

Artefact records

CaseStripesNameOrigin and eraMaterial / weightFragilityRulesNow at → going to
Case 011 0 0 1Painted storage jarAncient Greece, 5th century BCEFired clay / 3.4 kg5Upright, max tilt 5°, do not stackEast Wing, Room 1 → Safe Storage A
Case 021 0 1 0Carved festival maskVenice, 18th centuryPainted wood / 0.6 kg3Humidity 45 to 55%, do not stackEast Wing, Room 2 → Safe Storage A
Case 031 0 1 1Illuminated manuscript pageAustrian monastery, 14th centuryParchment / 0.2 kg4Flat, temperature 15 to 20°, humidity 45 to 55%East Wing, Room 3 → Safe Storage B
Case 051 1 0 1Bronze offering bowlRoman Empire, 1st centuryBronze / 1.2 kg4Upright, max tilt 10°East Wing, Room 3 → Safe Storage B

Wood deliveries

DeliveryItemsDrop zoneWindowCalendar day
D-014Timber beam 2.4 m x2 (48 kg), mortar block x1 (25 kg)Zone B, north wall10:30 to 11:30Today (12th)
D-015Bracing prop x4 (36 kg), timber beam 3.0 m x2 (60 kg)Zone A, roof scaffold09:00 to 10:0018th

Weather, forecast and calendar

ItemValue
Now14°, partly cloudy, wind 12 km/h, humidity 58%
ForecastFri 15° sunny, Sat 11° rain, Sun 9° rain, Mon 13° windy, Tue 16° sunny
CalendarNovember, today the 12th. Blue dots: 10th, 12th, 19th. Amber dots: 12th, 18th, 26th
ClockStarts at 10:42, Thursday 12 November

Built-in demo moment: humidity is 58%, just above the 55% limit on Case 02 and Case 03. Scanning one of those shows the red "Hold" light, which proves the system is checking rules, not just displaying them. Scan Case 05 to show the green "Cleared" path. If you would rather not risk confusing judges, set humidity to 52% and everything clears.