CATEGORY 23 OF 24 · 1,254 ICONS
GTA 5 technical and proxy props — page 4
Page 4 of 11: models 361 to 480 of the 1,254 in this group, in model-name order. Models that exist for the engine rather than for a player to look at: light and interior proxies, collision and overlay geometry, decal sheets, reflection helpers, map markers, cutscene stand-ins and effect placeholders. They are listed because they are part of the model set, and because recognising one saves you spawning it by mistake — most of them render as something close to nothing.
1,254 of the 18,574 models in the whole icon library — 6.8% of it. Every one is a 96×96 PNG on a transparent background, rendered from the game's own model, and every card carries the model name, the hash CreateObject takes and a suggested item key. As with the rest of the library, most of these renders read close to grey: the render pass lit the geometry instead of baking the full material, so they come out as monochrome silhouettes rather than painted artwork.
Showing 361 to 480 of 1,254 · page 4 of 11
- Spa Det05

m25_2_int_01_spa_det05 - Spa Det06

m25_2_int_01_spa_det06 - Str 4 Details

m25_2_int_02_str_4_details - Details

m25_2_int_03_details - Details001

m25_2_int_03_details001 - Lp

m25_2_int_03_lp - Overlays

m25_2_int_03_overlays - Overlays Bot

m25_2_int_03_overlays_bot - Additions Cproxy

m25_2_mp2025_02_additions_cproxy - Additions Wrack

m25_2_mp2025_02_additions_wrack_01 - Additions Wrack

m25_2_mp2025_02_additions_wrack_02 - Additions Wrack

m25_2_mp2025_02_additions_wrack_03 - Bowl Empty

m25_2_prop_m52_bowl_empty_01a - Mapmarker

m25_2_prop_m52_mapmarker_01a - Ojbot

ng_proc_ojbot_01a - Temp

ng_proc_temp - Abat Roller 1 Col

p_abat_roller_1_col - Train S Col

p_cs1_14b_train_s_col - Train S Colopen

p_cs1_14b_train_s_colopen - Defilied Ragdoll

p_defilied_ragdoll_01_s - Film Set Static

p_film_set_static_01 - Laz

p_laz_j01_s - Laz

p_laz_j02_s - Overalls

p_overalls_02_s - Rcss Folded

p_rcss_folded - Rcss

p_rcss_s - Spinning Anus

p_spinning_anus_s - Whiskey Notop Empty

p_whiskey_notop_empty - Pil Prop Pilot Icon

pil_prop_pilot_icon_01 - 1st Hostage Scene

prop_1st_hostage_scene - 1st Prologue Scene

prop_1st_prologue_scene - 2nd Hostage Scene

prop_2nd_hostage_scene - Gar

prop_bh1_08_mp_gar - Gar

prop_bh1_09_mp_gar - Bmu

prop_bmu_01 - Bmu

prop_bmu_01_b - Bmu

prop_bmu_02 - Bmu 02 Ld

prop_bmu_02_ld - Bmu 02 Ld Sup

prop_bmu_02_ld_sup - Bmu Track01

prop_bmu_track01 - Bmu Track02

prop_bmu_track02 - Bmu Track03

prop_bmu_track03 - Gd

prop_cs4_10_tr_gd_01 - Marker

prop_cs_marker_01 - Overalls

prop_cs_overalls_01 - Trev Overlay

prop_cs_trev_overlay - Cub Lifeblurb

prop_cub_lifeblurb - Dandy

prop_dandy_b - Defilied Ragdoll

prop_defilied_ragdoll_01 - Devin Box Dummy

prop_devin_box_dummy_01 - Double Grid Line

prop_double_grid_line - Gar

prop_dt1_20_mp_gar - Dummy

prop_dummy_01 - Hidden

prop_ex_hidden - Hidden G

prop_ex_hidden_g - Hidden P

prop_ex_hidden_p - Hidden Pk

prop_ex_hidden_pk - Hidden Wh

prop_ex_hidden_wh - Random

prop_ex_random - Random G

prop_ex_random_g - Random G Tr

prop_ex_random_g_tr - Random P

prop_ex_random_p - Random P Tr

prop_ex_random_p_tr - Random Pk

prop_ex_random_pk - Random Pk Tr

prop_ex_random_pk_tr - Random Tr

prop_ex_random_tr - Random Wh

prop_ex_random_wh - Random Wh Tr

prop_ex_random_wh_tr - Swap

prop_ex_swap - Swap G

prop_ex_swap_g - Swap G Tr

prop_ex_swap_g_tr - Swap P

prop_ex_swap_p - Swap P Tr

prop_ex_swap_p_tr - Swap Pk

prop_ex_swap_pk - Swap Pk Tr

prop_ex_swap_pk_tr - Swap Tr

prop_ex_swap_tr - Swap Wh

prop_ex_swap_wh - Swap Wh Tr

prop_ex_swap_wh_tr - Gd Ch2

prop_gd_ch2_08 - Ghost

prop_ic_ghost - Ghost

prop_ic_ghost_b - Ghost Bl

prop_ic_ghost_bl - Ghost G

prop_ic_ghost_g - Ghost P

prop_ic_ghost_p - Ghost Pk

prop_ic_ghost_pk - Ghost Wh

prop_ic_ghost_wh - Large Gold Empty

prop_large_gold_empty - Lifeblurb

prop_lifeblurb_01 - Lifeblurb

prop_lifeblurb_01b - Lifeblurb

prop_lifeblurb_02 - Lifeblurb

prop_lifeblurb_02b - Mk Arrow

prop_mk_arrow_3d - Mk Arrow Flat

prop_mk_arrow_flat - Mk B Shark

prop_mk_b_shark - Mk B Time

prop_mk_b_time - Mk Beast

prop_mk_beast - Mk Bmd

prop_mk_bmd - Mk Hidden

prop_mk_hidden - Mk Lap

prop_mk_lap - Mk Lines

prop_mk_lines - Mk Num

prop_mk_num_0 - Mk Num

prop_mk_num_1 - Mk Num

prop_mk_num_2 - Mk Num

prop_mk_num_3 - Mk Num

prop_mk_num_4 - Mk Num

prop_mk_num_5 - Mk Num

prop_mk_num_6 - Mk Num

prop_mk_num_7 - Mk Num

prop_mk_num_8 - Mk Num

prop_mk_num_9 - Mk Random

prop_mk_random - Mk Random Transform

prop_mk_random_transform - Mk Repair

prop_mk_repair - Mk S Time

prop_mk_s_time - Mk Sphere

prop_mk_sphere - Mk Swap

prop_mk_swap - Mk Thermal

prop_mk_thermal - Mk Transform Thruster

prop_mk_transform_thruster - Mk Tri Cycle

prop_mk_tri_cycle - Mk Tri Run

prop_mk_tri_run
Every icon on this page, written out for ox_inventory. Pictures go in ox_inventory/web/images/, named after the key.
-- ox_inventory/data/items.lua
-- Drop the pictures in ox_inventory/web/images/
-- No client.image line is needed: a .png named after the item key is what
-- ox_inventory looks for by default.
return {
['spa_det05'] = {
label = 'Spa Det05',
weight = 500,
stack = true,
close = true,
description = 'Spa Det05',
},
['spa_det06'] = {
label = 'Spa Det06',
weight = 500,
stack = true,
close = true,
description = 'Spa Det06',
},
['str_4_details'] = {
label = 'Str 4 Details',
weight = 500,
stack = true,
close = true,
description = 'Str 4 Details',
},
['details'] = {
label = 'Details',
weight = 500,
stack = true,
close = true,
description = 'Details',
},
['details001'] = {
label = 'Details001',
weight = 500,
stack = true,
close = true,
description = 'Details001',
},
['lp'] = {
label = 'Lp',
weight = 500,
stack = true,
close = true,
description = 'Lp',
},
['overlays'] = {
label = 'Overlays',
weight = 500,
stack = true,
close = true,
description = 'Overlays',
},
['overlays_bot'] = {
label = 'Overlays Bot',
weight = 500,
stack = true,
close = true,
description = 'Overlays Bot',
},
['additions_cproxy'] = {
label = 'Additions Cproxy',
weight = 500,
stack = true,
close = true,
description = 'Additions Cproxy',
},
['additions_wrack'] = {
label = 'Additions Wrack',
weight = 500,
stack = true,
close = true,
description = 'Additions Wrack',
},
['additions_wrack_2'] = {
label = 'Additions Wrack',
weight = 500,
stack = true,
close = true,
description = 'Additions Wrack',
},
['additions_wrack_3'] = {
label = 'Additions Wrack',
weight = 500,
stack = true,
close = true,
description = 'Additions Wrack',
},
['bowl_empty'] = {
label = 'Bowl Empty',
weight = 500,
stack = true,
close = true,
description = 'Bowl Empty',
},
['mapmarker'] = {
label = 'Mapmarker',
weight = 500,
stack = true,
close = true,
description = 'Mapmarker',
},
['ojbot'] = {
label = 'Ojbot',
weight = 500,
stack = true,
close = true,
description = 'Ojbot',
},
['temp'] = {
label = 'Temp',
weight = 500,
stack = true,
close = true,
description = 'Temp',
},
['abat_roller_1_col'] = {
label = 'Abat Roller 1 Col',
weight = 500,
stack = true,
close = true,
description = 'Abat Roller 1 Col',
},
['train_s_col'] = {
label = 'Train S Col',
weight = 500,
stack = true,
close = true,
description = 'Train S Col',
},
['train_s_colopen'] = {
label = 'Train S Colopen',
weight = 500,
stack = true,
close = true,
description = 'Train S Colopen',
},
['defilied_ragdoll'] = {
label = 'Defilied Ragdoll',
weight = 500,
stack = true,
close = true,
description = 'Defilied Ragdoll',
},
['film_set_static'] = {
label = 'Film Set Static',
weight = 500,
stack = true,
close = true,
description = 'Film Set Static',
},
['laz'] = {
label = 'Laz',
weight = 500,
stack = true,
close = true,
description = 'Laz',
},
['laz_2'] = {
label = 'Laz',
weight = 500,
stack = true,
close = true,
description = 'Laz',
},
['overalls'] = {
label = 'Overalls',
weight = 500,
stack = true,
close = true,
description = 'Overalls',
},
['rcss_folded'] = {
label = 'Rcss Folded',
weight = 500,
stack = true,
close = true,
description = 'Rcss Folded',
},
['rcss'] = {
label = 'Rcss',
weight = 500,
stack = true,
close = true,
description = 'Rcss',
},
['spinning_anus'] = {
label = 'Spinning Anus',
weight = 500,
stack = true,
close = true,
description = 'Spinning Anus',
},
['whiskey_notop_empty'] = {
label = 'Whiskey Notop Empty',
weight = 500,
stack = true,
close = true,
description = 'Whiskey Notop Empty',
},
['pil_prop_pilot_icon'] = {
label = 'Pil Prop Pilot Icon',
weight = 500,
stack = true,
close = true,
description = 'Pil Prop Pilot Icon',
},
['1st_hostage_scene'] = {
label = '1st Hostage Scene',
weight = 500,
stack = true,
close = true,
description = '1st Hostage Scene',
},
['1st_prologue_scene'] = {
label = '1st Prologue Scene',
weight = 500,
stack = true,
close = true,
description = '1st Prologue Scene',
},
['2nd_hostage_scene'] = {
label = '2nd Hostage Scene',
weight = 500,
stack = true,
close = true,
description = '2nd Hostage Scene',
},
['gar'] = {
label = 'Gar',
weight = 500,
stack = true,
close = true,
description = 'Gar',
},
['gar_2'] = {
label = 'Gar',
weight = 500,
stack = true,
close = true,
description = 'Gar',
},
['bmu'] = {
label = 'Bmu',
weight = 500,
stack = true,
close = true,
description = 'Bmu',
},
['bmu_2'] = {
label = 'Bmu',
weight = 500,
stack = true,
close = true,
description = 'Bmu',
},
['bmu_3'] = {
label = 'Bmu',
weight = 500,
stack = true,
close = true,
description = 'Bmu',
},
['bmu_02_ld'] = {
label = 'Bmu 02 Ld',
weight = 500,
stack = true,
close = true,
description = 'Bmu 02 Ld',
},
['bmu_02_ld_sup'] = {
label = 'Bmu 02 Ld Sup',
weight = 500,
stack = true,
close = true,
description = 'Bmu 02 Ld Sup',
},
['bmu_track01'] = {
label = 'Bmu Track01',
weight = 500,
stack = true,
close = true,
description = 'Bmu Track01',
},
['bmu_track02'] = {
label = 'Bmu Track02',
weight = 500,
stack = true,
close = true,
description = 'Bmu Track02',
},
['bmu_track03'] = {
label = 'Bmu Track03',
weight = 500,
stack = true,
close = true,
description = 'Bmu Track03',
},
['gd'] = {
label = 'Gd',
weight = 500,
stack = true,
close = true,
description = 'Gd',
},
['marker'] = {
label = 'Marker',
weight = 500,
stack = true,
close = true,
description = 'Marker',
},
['overalls_2'] = {
label = 'Overalls',
weight = 500,
stack = true,
close = true,
description = 'Overalls',
},
['trev_overlay'] = {
label = 'Trev Overlay',
weight = 500,
stack = true,
close = true,
description = 'Trev Overlay',
},
['cub_lifeblurb'] = {
label = 'Cub Lifeblurb',
weight = 500,
stack = true,
close = true,
description = 'Cub Lifeblurb',
},
['dandy'] = {
label = 'Dandy',
weight = 500,
stack = true,
close = true,
description = 'Dandy',
},
['defilied_ragdoll_2'] = {
label = 'Defilied Ragdoll',
weight = 500,
stack = true,
close = true,
description = 'Defilied Ragdoll',
},
['devin_box_dummy'] = {
label = 'Devin Box Dummy',
weight = 500,
stack = true,
close = true,
description = 'Devin Box Dummy',
},
['double_grid_line'] = {
label = 'Double Grid Line',
weight = 500,
stack = true,
close = true,
description = 'Double Grid Line',
},
['gar_3'] = {
label = 'Gar',
weight = 500,
stack = true,
close = true,
description = 'Gar',
},
['dummy'] = {
label = 'Dummy',
weight = 500,
stack = true,
close = true,
description = 'Dummy',
},
['hidden'] = {
label = 'Hidden',
weight = 500,
stack = true,
close = true,
description = 'Hidden',
},
['hidden_g'] = {
label = 'Hidden G',
weight = 500,
stack = true,
close = true,
description = 'Hidden G',
},
['hidden_p'] = {
label = 'Hidden P',
weight = 500,
stack = true,
close = true,
description = 'Hidden P',
},
['hidden_pk'] = {
label = 'Hidden Pk',
weight = 500,
stack = true,
close = true,
description = 'Hidden Pk',
},
['hidden_wh'] = {
label = 'Hidden Wh',
weight = 500,
stack = true,
close = true,
description = 'Hidden Wh',
},
['random'] = {
label = 'Random',
weight = 500,
stack = true,
close = true,
description = 'Random',
},
['random_g'] = {
label = 'Random G',
weight = 500,
stack = true,
close = true,
description = 'Random G',
},
['random_g_tr'] = {
label = 'Random G Tr',
weight = 500,
stack = true,
close = true,
description = 'Random G Tr',
},
['random_p'] = {
label = 'Random P',
weight = 500,
stack = true,
close = true,
description = 'Random P',
},
['random_p_tr'] = {
label = 'Random P Tr',
weight = 500,
stack = true,
close = true,
description = 'Random P Tr',
},
['random_pk'] = {
label = 'Random Pk',
weight = 500,
stack = true,
close = true,
description = 'Random Pk',
},
['random_pk_tr'] = {
label = 'Random Pk Tr',
weight = 500,
stack = true,
close = true,
description = 'Random Pk Tr',
},
['random_tr'] = {
label = 'Random Tr',
weight = 500,
stack = true,
close = true,
description = 'Random Tr',
},
['random_wh'] = {
label = 'Random Wh',
weight = 500,
stack = true,
close = true,
description = 'Random Wh',
},
['random_wh_tr'] = {
label = 'Random Wh Tr',
weight = 500,
stack = true,
close = true,
description = 'Random Wh Tr',
},
['swap'] = {
label = 'Swap',
weight = 500,
stack = true,
close = true,
description = 'Swap',
},
['swap_g'] = {
label = 'Swap G',
weight = 500,
stack = true,
close = true,
description = 'Swap G',
},
['swap_g_tr'] = {
label = 'Swap G Tr',
weight = 500,
stack = true,
close = true,
description = 'Swap G Tr',
},
['swap_p'] = {
label = 'Swap P',
weight = 500,
stack = true,
close = true,
description = 'Swap P',
},
['swap_p_tr'] = {
label = 'Swap P Tr',
weight = 500,
stack = true,
close = true,
description = 'Swap P Tr',
},
['swap_pk'] = {
label = 'Swap Pk',
weight = 500,
stack = true,
close = true,
description = 'Swap Pk',
},
['swap_pk_tr'] = {
label = 'Swap Pk Tr',
weight = 500,
stack = true,
close = true,
description = 'Swap Pk Tr',
},
['swap_tr'] = {
label = 'Swap Tr',
weight = 500,
stack = true,
close = true,
description = 'Swap Tr',
},
['swap_wh'] = {
label = 'Swap Wh',
weight = 500,
stack = true,
close = true,
description = 'Swap Wh',
},
['swap_wh_tr'] = {
label = 'Swap Wh Tr',
weight = 500,
stack = true,
close = true,
description = 'Swap Wh Tr',
},
['gd_ch2'] = {
label = 'Gd Ch2',
weight = 500,
stack = true,
close = true,
description = 'Gd Ch2',
},
['ghost'] = {
label = 'Ghost',
weight = 500,
stack = true,
close = true,
description = 'Ghost',
},
['ghost_2'] = {
label = 'Ghost',
weight = 500,
stack = true,
close = true,
description = 'Ghost',
},
['ghost_bl'] = {
label = 'Ghost Bl',
weight = 500,
stack = true,
close = true,
description = 'Ghost Bl',
},
['ghost_g'] = {
label = 'Ghost G',
weight = 500,
stack = true,
close = true,
description = 'Ghost G',
},
['ghost_p'] = {
label = 'Ghost P',
weight = 500,
stack = true,
close = true,
description = 'Ghost P',
},
['ghost_pk'] = {
label = 'Ghost Pk',
weight = 500,
stack = true,
close = true,
description = 'Ghost Pk',
},
['ghost_wh'] = {
label = 'Ghost Wh',
weight = 500,
stack = true,
close = true,
description = 'Ghost Wh',
},
['large_gold_empty'] = {
label = 'Large Gold Empty',
weight = 500,
stack = true,
close = true,
description = 'Large Gold Empty',
},
['lifeblurb'] = {
label = 'Lifeblurb',
weight = 500,
stack = true,
close = true,
description = 'Lifeblurb',
},
['lifeblurb_2'] = {
label = 'Lifeblurb',
weight = 500,
stack = true,
close = true,
description = 'Lifeblurb',
},
['lifeblurb_3'] = {
label = 'Lifeblurb',
weight = 500,
stack = true,
close = true,
description = 'Lifeblurb',
},
['lifeblurb_4'] = {
label = 'Lifeblurb',
weight = 500,
stack = true,
close = true,
description = 'Lifeblurb',
},
['mk_arrow'] = {
label = 'Mk Arrow',
weight = 500,
stack = true,
close = true,
description = 'Mk Arrow',
},
['mk_arrow_flat'] = {
label = 'Mk Arrow Flat',
weight = 500,
stack = true,
close = true,
description = 'Mk Arrow Flat',
},
['mk_b_shark'] = {
label = 'Mk B Shark',
weight = 500,
stack = true,
close = true,
description = 'Mk B Shark',
},
['mk_b_time'] = {
label = 'Mk B Time',
weight = 500,
stack = true,
close = true,
description = 'Mk B Time',
},
['mk_beast'] = {
label = 'Mk Beast',
weight = 500,
stack = true,
close = true,
description = 'Mk Beast',
},
['mk_bmd'] = {
label = 'Mk Bmd',
weight = 500,
stack = true,
close = true,
description = 'Mk Bmd',
},
['mk_hidden'] = {
label = 'Mk Hidden',
weight = 500,
stack = true,
close = true,
description = 'Mk Hidden',
},
['mk_lap'] = {
label = 'Mk Lap',
weight = 500,
stack = true,
close = true,
description = 'Mk Lap',
},
['mk_lines'] = {
label = 'Mk Lines',
weight = 500,
stack = true,
close = true,
description = 'Mk Lines',
},
['mk_num'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_2'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_3'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_4'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_5'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_6'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_7'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_8'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_9'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_num_10'] = {
label = 'Mk Num',
weight = 500,
stack = true,
close = true,
description = 'Mk Num',
},
['mk_random'] = {
label = 'Mk Random',
weight = 500,
stack = true,
close = true,
description = 'Mk Random',
},
['mk_random_transform'] = {
label = 'Mk Random Transform',
weight = 500,
stack = true,
close = true,
description = 'Mk Random Transform',
},
['mk_repair'] = {
label = 'Mk Repair',
weight = 500,
stack = true,
close = true,
description = 'Mk Repair',
},
['mk_s_time'] = {
label = 'Mk S Time',
weight = 500,
stack = true,
close = true,
description = 'Mk S Time',
},
['mk_sphere'] = {
label = 'Mk Sphere',
weight = 500,
stack = true,
close = true,
description = 'Mk Sphere',
},
['mk_swap'] = {
label = 'Mk Swap',
weight = 500,
stack = true,
close = true,
description = 'Mk Swap',
},
['mk_thermal'] = {
label = 'Mk Thermal',
weight = 500,
stack = true,
close = true,
description = 'Mk Thermal',
},
['mk_transform_thruster'] = {
label = 'Mk Transform Thruster',
weight = 500,
stack = true,
close = true,
description = 'Mk Transform Thruster',
},
['mk_tri_cycle'] = {
label = 'Mk Tri Cycle',
weight = 500,
stack = true,
close = true,
description = 'Mk Tri Cycle',
},
['mk_tri_run'] = {
label = 'Mk Tri Run',
weight = 500,
stack = true,
close = true,
description = 'Mk Tri Run',
},
}
HOW THIS GROUP IS DECIDED
Why a model lands in technical props
Nothing here was hand-sorted one model at a time. The rules read the model name, which is the only honest thing to sort 18,000 objects by.
The game names an object after what it is and stamps the update that shipped it on the front, so a name like m25_2_int_01_spa_det05 carries a usable word in the middle of it. The rules look for those words, the nine item-like groups get first refusal, and a model only reaches this group when nothing earlier claimed it.
A rule that reads names gets the obvious ones right and the ambiguous ones arguable. A crate of beer is food, not a container; a log fence has the word log in it. If something here is plainly in the wrong place, the model name on the card is all we need to fix it.
Nine groups are the ones an inventory wants — food and drink, tools, medical, electronics, valuables, documents, containers, smoking and gear. The rest, this one included if it is not in that list, are map material: use the name and the hash, and treat the picture as a way of recognising the thing.
Any model name containing _lod was left out of the whole library. Those are the low-detail stand-ins the engine swaps in at distance, and their renders are blurred copies of models that are already listed.
THE OTHER GROUPS
Keep looking
Bottles, cans, cartons, plates and the takeaway the game models for its shops.
Tools — 358Hand tools, power tools and the boxes they live in — the mechanic and crafting staples.
Medical — 105Syringes, vials, pill bottles and the rest of the small clinical props.
Electronics — 737Phones, laptops, radios, batteries and the media the game still ships on discs.
Valuables — 377Cash, gold, jewels and the heist props built around carrying them.
Documents — 344Cards, passports, folders, notes and printed matter for paperwork scripts.
Everything at onceAll 18,574 icons, the search across the whole set, and the 24 categories with their counts.
Inventory icon makerYour own pictures instead of ours: background flooded away, the item squared and centred, items.lua written in the browser.