The Catalogue
Over 30000 props, measured offline and shipped as data: size, ground offset, triangles, shaders, collision, embedded lights, the DLC each came with and the gamebuild it needs. The picker draws from that, and so does getPropDetails for any script that asks.
The Three Kinds
Every row is one of three, and the picker has a control that switches between them:
prop
23000
standalone objects: furniture, clutter, gear
element
5000
glass panes, light rigs, decals, emissive strips, vfx planes
structure
2200
walls, ceilings, floors, window frames, building shells
What a session opens onto depends on who opened it. /map_editor browses whatever cfg.editor.tiers lists, all three as it ships. /prop_inspect browses everything, since a room's own surfaces are often the reason for opening it. A resource calling openEditor without saying gets props only, which is what a furnishing session wants, and asks for the rest by passing filter.tiers.
Narrowing browsing hides nothing else: every row still ships, the server still answers about it, and any of them can be asked for by name or hash.
Props with no archetype at all never entered the catalogue: a row for something that would spawn nothing is worse than no row.
Where a Prop Can Be Placed
This is the part worth understanding before somebody reports it as a bug.
A prop exists in the game only while the .ytyp holding its archetype is mounted, and what mounts a ytyp is the map. Roughly half the catalogue is mounted everywhere, permanently. The other half belongs to an interior or an area, and comes and goes with it: it can be placed near where it belongs and not on the other side of the map.
Measured at one spot with nothing declared: 15276 rows were valid there, about half. Same catalogue, same server, a different spot gives a different half.
So the picker asks the game rather than guessing. A tile the game cannot make right now is dimmed, and picking it says which case it is:
Not available where you are: this prop belongs to an interior that is not loaded.
Walk closer and it lights up. Nothing is broken, and nothing was placed that would have spawned as nothing.
Making the Whole Catalogue Placeable Anywhere
The resource ships the other half as a ytyp of its own, stream/rm_mapeditor_props.ytyp, holding 14365 archetypes. Registering it makes the whole catalogue placeable from anywhere: the same spot that had 15276 valid props has all of them.
It is off by default. To turn it on, uncomment the last line of fxmanifest.lua:
Four costs, and none of them can be worked around from inside this resource.
The archetype pool. Every archetype is a permanent slot out of 65535, shared with the whole game. These 14365 took 95% of it on a server running little else, and a full pool fails on whoever registers next rather than on this resource. Check your headroom first: archetypelist 1 in the F8 console, with this off.
It is measured against one gamebuild. An archetype declared from a file registers on any build, so on an older one IsModelValid answers true for a prop whose model that build never shipped: it looks placeable and picking it spends five seconds arriving at nothing. Audited on gamebuild 3751: 1284 of the declared props were valid everywhere and streamable nowhere, and every prop that was not declared behaved correctly.
Restarting or stopping the resource crashes every connected player. Registered archetypes cannot be taken back. Restart on an empty server only.
The console fills. One Duplicate Archetype line per prop per session as each interior mounts.
The honest summary: leave it off unless you are building a map and you know the pool has room. The dimmed tile is the cheaper answer, and it is correct.
Gamebuild
Every row records the minimum gamebuild it needs and the DLC it came with. On an older build the newer props are dimmed with that reason, rather than placed and never arriving. Nothing to configure.
Your Own Props
They go in beside the shipped rows and answer the same questions, thumbnails and measurements included. See Adding Props.