Skip to content

V3: neutral projects and visible global color adjustments - #164

Merged
git-chad merged 32 commits into
git-chad/shader-lab-v3-planfrom
git-chad/v3-clean-projects
Oct 1, 2026
Merged

git-chad merged 32 commits into
git-chad/shader-lab-v3-planfrom
git-chad/v3-clean-projects

Conversation

@git-chad

Copy link
Copy Markdown
Collaborator

Fresh sessions and “Start fresh” previously loaded the demo, including its global color treatment. First visits now start empty and neutral. A persistent Project menu offers New blank project and Open demo on desktop and mobile; the demo and restored/imported projects retain their authored settings.

Active global colors are disclosed in the toolbar/mobile Scene control. Scene settings provide an undoable Reset all global colors covering grading, mixer, curves, levels, quantization and Color Map while preserving background, composition and preview quality. Scene settings are available before adding layers. This also fixes mobile panel measurement and restore-notice positioning uncovered by the new flow.

New documents clear prior history (including pending entries), media/audio, timeline selection and draft/remix associations. Empty autosaves are now recoverable, writes are serialized, and explicit new-project/import actions win over delayed boot recovery. New blank projects persist immediately instead of deleting another session’s recovery record. Demo media is no longer preloaded for first visits.

Validation:

  • bun run check — passes; three existing lint warnings.
  • bun run test:composition — full suite passes, including real initial-store/hydration/history/empty-recovery checks and unchanged legacy render baselines.
  • bun tests/composition/clean-projects-ui.mjs — desktop/mobile controls, actual .lab exports/imports, blank/authored reload, delayed boot recovery, pending history and no demo-media fetch on first visit.
  • Editorial-study and Cells paint UI regressions pass. Desktop/mobile screenshots reviewed. Browser GPU tests use SwiftShader; this is not native thermal validation.

Stacked on #163 (git-chad/v3-cell-editorial-studies), within integration #150. Nothing merges to main before V3 is complete. Roadmap 1.0 is implemented pending the focused user test; reusable masks follow after acceptance.

@vercel

vercel Bot commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
shader-lab Ready Ready Preview Oct 1, 2026 7:06am UTC

@greptile-apps

greptile-apps Bot commented Sep 17, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR should not merge until project imports clear stale remix associations and the armed automatic-save handoff.

Summary

This PR makes first visits and explicit blank projects neutral, adds desktop/mobile project controls and global-color disclosure/reset, extends scene history, and revises autosave recovery for empty projects and serialized writes. One document-lifecycle gap remains:

  • Blank and demo starts clear project history, assets, audio, timeline selection, and draft/remix associations.
  • Empty projects can now be autosaved and restored without preloading demo media.
  • Scene-wide color adjustments can be detected, reset, undone, and redone.
  • File imports do not receive the new remix-association cleanup.

Reviews (1) · Last reviewed commit: "Start projects neutral and disclose glob..."

Comment thread src/lib/editor/project-start.ts
…roup failures

Media load callbacks now ignore replaced or removed passes and pending loads are cleared on disposal. Strict-mode pass failures are reported once at the originating pass instead of at every group boundary.
Publishing now drops every descendant of a hidden group and clears the
parentId of any retained layer (the audio source) whose parent was removed,
so the published scene passes hierarchy validation on reopen.
Cap the neighbor row and column search to two cells each side so the
worst-case cellAt count per fragment is 25 instead of unbounded in the
packed minimum-size, maximum-stroke configuration. Mirrored in the
runtime package.
…e on buttons

Clear the active paint layer when the layer stops being paintable (selection,
mode, visibility or lock change) so Paint never resumes without Edit Paint.
Only preventDefault on Space for non-interactive targets so focused buttons
and links still activate.
Create the .context artifact directory up front and pick the history shortcut modifier from the platform.
Importing a project now disarms the armed remix draft and clears the remix origin alongside the active draft, so later edits cannot autosave under the previous remix title.
@git-chad
git-chad force-pushed the git-chad/v3-cell-editorial-studies branch from d064f33 to b3f0c7e Compare October 1, 2026 07:04
@git-chad
git-chad force-pushed the git-chad/v3-clean-projects branch from 2ebaeb5 to 9ba9c63 Compare October 1, 2026 07:04
@git-chad
git-chad changed the base branch from git-chad/v3-cell-editorial-studies to git-chad/shader-lab-v3-plan October 1, 2026 15:12
@git-chad
git-chad merged commit 9ba9c63 into git-chad/shader-lab-v3-plan Oct 1, 2026
5 checks passed

This branch was successfully deployed

1 active deployment
Preview — 9ba9c635 Deployed Oct 1, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant