/tg/ Station 13 - Modules - Types — Var Details - Proc Details

persistent_paintings

Painting persistence has one writer queue. No player dialog is held inside it.

Vars

admin_painting_dataA list of paintings' data for paintings that are currently stored in the library, with admin metadata
cached_painting_dataA list of paintings' data for paintings that are currently stored in the library.
deleted_paintings_md5sHashes of paintings deleted this round
frame_types_by_patronage_tierThe list of available frame reskins (they are purely cosmetic) and the associated patronage amount required for them.
gallery_programsLive Art Galaxy programs to refresh after gallery or status changes.
nova_import_busyCkeys with an active confirmation/import flow, shared across devices.
nova_import_statusLatest player-facing import outcome or progress message, keyed by ckey.
nova_painting_ids_by_ownerOnly IDs for accounts offered an import; null means not checked, an empty list means no matches.
owner_painting_dataOwner UI data is populated on demand and invalidated after committed changes.
painting_framesA list of painting frames that this controls
paintingsA list of /datum/paintings saved or ready to be saved this round.
paintings_by_idCommitted painting datums by MD5; reused so open canvases keep their references.
pending_canvasesInclude unframed canvases when checking conflicts with imported identities.
store_busyOne queue worker owns mutations until every pending request completes.
store_errorInitialization or recovery failure explaining why painting writes are disabled.
store_queueFIFO requests with payload, completion flag, and result; released when drained.
store_writableEnabled only after the native helper recovers and validates the live store.

Procs

apply_store_snapshotReuse painting datums from committed metadata and refresh indexes, assets, and open galleries.
cache_gallery_ownersInvalidate owner payloads; the ID index also lets snapshot loading reuse live painting datums.
can_retry_nova_importAllow confirmed importers to retry when source availability is unknown or owned records remain absent.
execute_store_operationRebuild each queued operation against the latest committed bytes, never a stale live-datum dump.
get_available_framesreturns a list of cosmetic frames which patronage tier values are are within credit_value. If only_current_tier is TRUE, the list will be populated only by the ones from the highest tier.
get_owned_paintingsBuild only the authenticated owner's payload, once per committed snapshot.
get_paintings_with_tagReturns paintings with given tag.
initialize_storeRecover and migrate through the native helper; failures leave writes disabled and allow intact v3 data to be viewed.
migrate_to_version_1Merge legacy category entries by identity and prepare image copies for the shared transaction.
migrate_to_version_2Add patronage-tier cosmetic frames to version-1 records without writing files directly.
offer_nova_importUI entry points share this gate. No UI update tick can spawn another dialog.
painting_ui_dataGenerates painting data ready to be consumed by ui. Args:
patch_paintingQueue named metadata changes with optional ownership and stale-value checks at execution time.
pending_canvas_idsCollect unsaved local pixel identities so imports cannot claim artwork still being created.
perform_nova_import_offerValidate owned source records and obtain import consent; closing the second prompt keeps imported art private.
prepare_nova_importRelease other owners' records before waiting for input; keep the full-source SHA for native verification.
process_store_queueDrain mutations serially, report failures, and release temporary files and canvas save guards.
refresh_gallery_uisInvalidate searches after commits; only open Art Galaxy views need UI or new asset updates.
remove_deleted_painting_framesRemove displayed canvases only after deletion has committed, for player and administrator actions alike.
run_store_operationQueue a mutation and wait for its result; player dialogs must finish before calling this proc.
save_paintingsSaves all persistent paintings
save_to_fileAll changes now commit explicitly; this compatibility hook refreshes external changes.
stage_painting_imageWrite one new painting's PNG into its own staging directory, for the commit to promote or the queue to clean up.
store_callIsolated for unit tests; only the native helper resolves filesystem paths.
store_requestPoll asynchronous native work cooperatively and release its caller lease after a failed response.
store_result_messageExtract a storage failure message with a safe fallback for incomplete responses.
update_formatUpdates paintings data format to latest if necessary

Var Details

admin_painting_data

A list of paintings' data for paintings that are currently stored in the library, with admin metadata

cached_painting_data

A list of paintings' data for paintings that are currently stored in the library.

deleted_paintings_md5s

Hashes of paintings deleted this round

frame_types_by_patronage_tier

The list of available frame reskins (they are purely cosmetic) and the associated patronage amount required for them.

gallery_programs

Live Art Galaxy programs to refresh after gallery or status changes.

nova_import_busy

Ckeys with an active confirmation/import flow, shared across devices.

nova_import_status

Latest player-facing import outcome or progress message, keyed by ckey.

nova_painting_ids_by_owner

Only IDs for accounts offered an import; null means not checked, an empty list means no matches.

owner_painting_data

Owner UI data is populated on demand and invalidated after committed changes.

painting_frames

A list of painting frames that this controls

paintings

A list of /datum/paintings saved or ready to be saved this round.

paintings_by_id

Committed painting datums by MD5; reused so open canvases keep their references.

pending_canvases

Include unframed canvases when checking conflicts with imported identities.

store_busy

One queue worker owns mutations until every pending request completes.

store_error

Initialization or recovery failure explaining why painting writes are disabled.

store_queue

FIFO requests with payload, completion flag, and result; released when drained.

store_writable

Enabled only after the native helper recovers and validates the live store.

Proc Details

apply_store_snapshot

Reuse painting datums from committed metadata and refresh indexes, assets, and open galleries.

Invalidate owner payloads; the ID index also lets snapshot loading reuse live painting datums.

can_retry_nova_import

Allow confirmed importers to retry when source availability is unknown or owned records remain absent.

execute_store_operation

Rebuild each queued operation against the latest committed bytes, never a stale live-datum dump.

get_available_frames

returns a list of cosmetic frames which patronage tier values are are within credit_value. If only_current_tier is TRUE, the list will be populated only by the ones from the highest tier.

get_owned_paintings

Build only the authenticated owner's payload, once per committed snapshot.

get_paintings_with_tag

Returns paintings with given tag.

initialize_store

Recover and migrate through the native helper; failures leave writes disabled and allow intact v3 data to be viewed.

migrate_to_version_1

Merge legacy category entries by identity and prepare image copies for the shared transaction.

migrate_to_version_2

Add patronage-tier cosmetic frames to version-1 records without writing files directly.

offer_nova_import

UI entry points share this gate. No UI update tick can spawn another dialog.

painting_ui_data

Generates painting data ready to be consumed by ui. Args:

patch_painting

Queue named metadata changes with optional ownership and stale-value checks at execution time.

pending_canvas_ids

Collect unsaved local pixel identities so imports cannot claim artwork still being created.

perform_nova_import_offer

Validate owned source records and obtain import consent; closing the second prompt keeps imported art private.

prepare_nova_import

Release other owners' records before waiting for input; keep the full-source SHA for native verification.

process_store_queue

Drain mutations serially, report failures, and release temporary files and canvas save guards.

Invalidate searches after commits; only open Art Galaxy views need UI or new asset updates.

remove_deleted_painting_frames

Remove displayed canvases only after deletion has committed, for player and administrator actions alike.

run_store_operation

Queue a mutation and wait for its result; player dialogs must finish before calling this proc.

save_paintings

Saves all persistent paintings

save_to_file

All changes now commit explicitly; this compatibility hook refreshes external changes.

stage_painting_image

Write one new painting's PNG into its own staging directory, for the commit to promote or the queue to clean up.

store_call

Isolated for unit tests; only the native helper resolves filesystem paths.

store_request

Poll asynchronous native work cooperatively and release its caller lease after a failed response.

store_result_message

Extract a storage failure message with a safe fallback for incomplete responses.

update_format

Updates paintings data format to latest if necessary