Files
DarkflameServer/migrations/dlu/sqlite/82_ugc_process_options.sql
Aaron Kimbrell ef3c74f715 feat(ugc): processing options per make, recorded per model with their times
Staff can make models again with other processing options than the UGC
settings' (ray backend, hidden-face method, denoising) and every make records
what made it, for comparing the options.

- migration mysql 99 / sqlite 82 (ugc_process_options): ugc.process_options
  (picked for the next make, cleared once made), ugc.made_options (what made
  the current files) and ugc_process_runs (every successful make: options,
  wall and CPU time, hidden faces', occlusion's and icon's time, bricks,
  triangles before and after)
- IUgc: ResetUgcModelProcessing and ResetPropertyUgcModelProcessing take the
  options; PendingModel carries them; RecordUgcModelRun, GetUgcRunSummaries;
  list entries have madeOptions and processOptions
- the UGC server applies a job's options over its settings and records the run
- /api/ugc/reprocess takes options ("embree fast oidn"); /api/ugc/options
  lists the choices, the settings' defaults and averages per combination
- /reprocessproperty [builtin|embree|hiprt] [toolbox|fast] [off|oidn], any
  order, all optional

Check: run the migration on MySQL and SQLite; /reprocessproperty embree fast
on a property, then the models' made_options and ugc_process_runs rows;
/api/ugc/options.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 12:29:08 -05:00

22 lines
853 B
SQL

/* UGC server processing options: what staff picked for a model's next make, what made it, and every make's options and
times. See the MySQL migration. */
ALTER TABLE ugc ADD COLUMN process_options TEXT NOT NULL DEFAULT '';
ALTER TABLE ugc ADD COLUMN made_options TEXT NOT NULL DEFAULT '';
CREATE TABLE IF NOT EXISTS ugc_process_runs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ugc_id BIGINT NOT NULL,
options TEXT NOT NULL,
made_at BIGINT NOT NULL,
process_ms INTEGER NOT NULL,
process_cpu_ms INTEGER NOT NULL,
hsr_ms INTEGER NOT NULL,
ao_ms INTEGER NOT NULL,
icon_ms INTEGER NOT NULL,
bricks INTEGER NOT NULL,
triangles_before INTEGER NOT NULL,
triangles INTEGER NOT NULL
);
CREATE INDEX IF NOT EXISTS ugc_process_runs_options ON ugc_process_runs (options);
CREATE INDEX IF NOT EXISTS ugc_process_runs_ugc_id ON ugc_process_runs (ugc_id);