feat: save games and edit scene darkness
Persist show state to local saves; author map darkness in scene editor with bake-to-scene and help updates. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -52,6 +52,7 @@ import type {
|
||||
SceneTrap,
|
||||
} from '../../shared/types';
|
||||
import { normalizeSceneAudioRef, PROJECT_SCHEMA_VERSION } from '../../shared/types';
|
||||
import { normalizeSceneDarknessStrokes } from '../../shared/types/sceneDarkness';
|
||||
import { normalizeMaterialLegend } from '../../shared/types/materialLegend';
|
||||
import { normalizeSceneToken, type SceneToken } from '../../shared/types/appTokens';
|
||||
import {
|
||||
@@ -772,6 +773,7 @@ export class ZipProjectStore {
|
||||
previewVideoAutostart: false,
|
||||
previewRotationDeg: 0,
|
||||
darkenScene: false,
|
||||
darknessStrokes: [],
|
||||
traps: [],
|
||||
tokens: [],
|
||||
npcTokens: [],
|
||||
@@ -798,6 +800,9 @@ export class ZipProjectStore {
|
||||
? { previewRotationDeg: patch.previewRotationDeg }
|
||||
: null),
|
||||
...(patch.darkenScene !== undefined ? { darkenScene: patch.darkenScene } : null),
|
||||
...(patch.darknessStrokes !== undefined
|
||||
? { darknessStrokes: normalizeSceneDarknessStrokes(patch.darknessStrokes) }
|
||||
: null),
|
||||
...(patch.traps !== undefined
|
||||
? {
|
||||
traps: patch.traps.map((t) => normalizeSceneTrap(t)).filter((t): t is SceneTrap => Boolean(t)),
|
||||
@@ -2619,6 +2624,9 @@ function normalizeScene(s: Scene): Scene {
|
||||
const previewThumbAssetId =
|
||||
(s as unknown as { previewThumbAssetId?: AssetId | null }).previewThumbAssetId ?? null;
|
||||
const darkenScene = Boolean((s as unknown as { darkenScene?: boolean }).darkenScene);
|
||||
const darknessStrokes = normalizeSceneDarknessStrokes(
|
||||
(s as unknown as { darknessStrokes?: unknown }).darknessStrokes,
|
||||
);
|
||||
const rawTraps = (s as unknown as { traps?: unknown[] }).traps;
|
||||
const traps = (Array.isArray(rawTraps) ? rawTraps : [])
|
||||
.map((t) => normalizeSceneTrap(t))
|
||||
@@ -2666,6 +2674,7 @@ function normalizeScene(s: Scene): Scene {
|
||||
previewVideoAutostart,
|
||||
previewRotationDeg,
|
||||
darkenScene,
|
||||
darknessStrokes,
|
||||
traps,
|
||||
tokens,
|
||||
npcTokens,
|
||||
|
||||
Reference in New Issue
Block a user