Four tables; the xPDO classes are in the Gallery3x\Model namespace. The component loads the package itself, so in your code $modx->getCollection(\Gallery3x\Model\Gallery3xFile::class, [...]) is enough.
Table
Class
What it stores
gallery3x_files
Gallery3xFile
Images
gallery3x_videos
Gallery3xVideo
Videos
gallery3x_attachments
Gallery3xAttachment
File attachments
gallery3x_embeds
Gallery3xEmbed
Embeds (maps, widgets, iframes)
All tables have id, resource_id (resource) and source_id (media source), plus common fields:
Field
Type
Description
position
int
Order
group
varchar
Groups separated by ||
extra_text, extra_text2
varchar
Extra text fields
extra_num
int
Extra number
extra_date
datetime
Extra date
active
tinyint
1 — shown, 0 — disabled
createdon, updatedon
datetime
Created and updated dates
createdby, updatedby
int
User IDs
gallery3x_files
Field
Type
Description
name
varchar
Title
alt
text
Alternative text
description
text
Description (HTML)
path
varchar
Folder inside the source, e.g. 15/
file
varchar
Original file name
type, size
varchar, int
MIME type and size in bytes
hash
varchar
File MD5
properties
text (JSON)
Thumbnail data: thumbnails.<size>.path etc.
special
tinyint
“Special”
parent_id
int
Reserved
gallery3x_videos
Field
Type
Description
url
text
Video link
service, video_id
varchar
Service (youtube, rutube, vk, kinescope …) and the video ID there
title, description
varchar, text
Title and description
thumbnail
varchar
Cover (path in the source)
special
tinyint
“Special”
gallery3x_attachments
Field
Type
Description
name, description
varchar, text
Title and description
path, file
varchar
Folder and file name
type, size
varchar, int
MIME type and size
hash
varchar
File MD5
gallery3x_embeds
Field
Type
Description
title, description
varchar, text
Title and description
mode
varchar
url — by link, code — ready-made code
url, code
text, mediumtext
Source link or embed code
provider, embed_id
varchar
Detected service (yandex_map, google_map) and the final iframe URL