return {
    -- Flight Corridors + curated DropZones are server-only (configs/server/world.lua, merged in
    -- server-side) so they aren't dumpable. Everything below is client-visible drop dressing.

    -- Search-circle map mark: one off-centre circle per drop cluster, plus a centre blip naming it.
    -- Off-centre on purpose so the exact crates aren't pinpointed.
    DropBlip = {
        radius = 250.0, -- min circle radius in metres (grows to enclose a wide cluster)
        offset = 110.0, -- how far off-centre the circle sits from the actual drop cluster
        color = 1, -- circle colour (1 = red)
        alpha = 80, -- circle fill alpha (0-255)
        labelSprite = 306, -- centre blip sprite naming each circle
        labelColor = 1, -- centre label colour (1 = red)
        labelScale = 0.9, -- centre label size
        shortRange = true, -- true = doesn't pin to the minimap edge from across the map
    },

    -- Blip pinned to the Titan (AddBlipForEntity) while it flies the corridor toward the drop.
    PlaneBlip = {
        sprite = 307, -- blip sprite (307 = jet)
        color = 0, -- blip colour (0 = white)
        scale = 0.9, -- blip size
        shortRange = true, -- true = doesn't pin to the minimap edge from across the map
    },

    -- Wind-driven horizontal drift while descending (the terminal's wind arrow reflects this).
    Wind = {
        Speed = 6.0, -- horizontal drift speed in m/s (also the map arrow); 0 = falls straight
        DriftScale = 1.0, -- multiplier on the wind push during descent
    },

    -- Descent shape + look. Fall speed follows from Altitude / Event.Phases.DropSeconds.
    Drop = {
        Altitude = 700.0, -- metres above the ground the plane cruises = the height packages drop from

        -- Packages landing within this many metres of the player animate per frame (smooth glide +
        -- sway); beyond it they step every 250ms, which is nearly free. Cost scales with how many
        -- containers sit inside the range.
        RenderDistance = 1000.0,

        Release = {
            Behind = 8.0, -- metres a package spawns behind the plane (reads as dropped, not teleported)
            Below = 4.0, -- metres below the plane a package spawns
            -- Metres before its landing point that each package releases, so it glides in on a
            -- forward diagonal instead of sinking straight down. 0 = release directly overhead.
            Lead = 250.0,
        },

        -- Pendulum sway while gliding under the canopy.
        Sway = {
            Amplitude = 4.0, -- max tilt in degrees (0 = no sway)
            Speed = 700.0, -- ms divisor on the oscillation; lower = faster wobble
        },

        -- Parachute canopy per container, from release until the chute is CUT after landing.
        Chute = {
            Count = 1, -- canopies per container (1 = centred; 2 = one per end; 3-4 add centre/ring)
            Height = 6.0, -- metres above the container the canopy sits
            Spread = 1.6, -- lateral gap for the 3rd/4th canopy in ring layouts
            EndSpacing = 0.40, -- multi-canopy: distance to each end as a fraction of container length
            CutHeight = 5.0, -- metres above ground the canopies are cut free (then fade out)
            FadeMs = 800, -- fade-out duration of a cut canopy before it despawns
            -- Optional canopy texture variation (0, 1, 2, ...) IF prop_v_parachute has one; most
            -- parachute props need a .ytd mod for a dark canopy instead. nil = default look.
            TextureVariation = nil,
        },
    },

    -- Model families. Strings are joaat-hashed at use time.
    Models = {
        Plane = 'titan', -- the Titan flown overhead toward the drop
        -- Animated-door container (Tuners train robbery). Spawned CLIENT-LOCAL on landing so each
        -- client can toggle its collision when it opens - that's what enables the walk-in.
        Container = 'tr_prop_tr_container_01a',
        -- Rockstar's matched hollow collision shell for that container (door end open). Invisible;
        -- switched solid on OPEN so the crew walks in while the walls stay solid. nil = no walk-in.
        ContainerCollision = 'tr_prop_tr_cont_coll_01a',
        Chute = 'prop_v_parachute', -- DEPLOYED canopy (not the p_parachute_s backpack); fallback: prop_parachute
    },
}
