Files
2026-07-13 13:13:17 +08:00

253 lines
9.8 KiB
Markdown

Reference for symbol
[>] <-- an issue has been created for this
## Important issues
- [x] Connections from input are sometimes not correctly evaluated
- [ ] Rearranging parameters with additional annotations (e.g. ShaderParameters) breaks operator
- [ ] Modifying Pre/Post Curve modes are applied to all (not just selected curves)
- [>] Indicate non-default Pre/Post curve mode in timeline (e.g. icons)
- [>] Bug: In Add input dialog requires to switch type once
- [>] Reset modifier keys if app regain window focus
- [>] Publish output from Graph
- [>] Ask before removing inputs and outputs (can't be undone)
- [>] Fix MultiInput connection editing
- [>] Combine into new Symbol should prefill current project and namespace
- [ ] Command bar shortcuts should work if UI is hidden
- [ ] Inserting keyframes does not always use neighbour interpolation type
- [ ] Looks like only last animated value edit to a vec3 can't be undone?
- [ ] Maybe bookmarks should toggle pinning?
- [ ] Rethink bookmarks -> Add marker in Op with number / switch with numbers only. only bring to view if hidden
- [ ] Export should use project folder and some prefix like _
- [ ] Fix tiny node-text with 200% display-scaling
- [x] Focus selected op in SymbolLibrary
- [x] Collapse Symbol Library
- [x] Add Voronoi Pattern Shader
- [ ] Add Project image onto SdfMaterial
- [ ] Duplicate as new type should also duplicate variations and snapshot enabled ops!
- [ ] Variations should be stored at project folder
- [ ] !!! Indicate read-only operators
- [ ] Fix: Turbulence force Amount from Velocity
- [ ] Fix: Rename Direction "RandomAmount" -> Variation
- [ ] Idea: Add option to switch space of SnapToAnglesForce
- [ ] Fix: SwitchParticleForce filtering with -1 and -2
- [ ] Fix: render-Resolution factor is no longer working?
- [ ] Complete import T3-project window?
- [ ] Test create new project
- [ ] Persist project workspaces: Window Layout, Timeline (Zoom, visible Parameters), Output Settings (resolution, Gizmo, Pinned Instance), Selected Ops?
- [x] Fix shader warning / error display -> Use it to fix AMD Raymarch error
- [ ] Add Resample Points loop parameter
- [ ] Check PerlinNoise3 GainAndBias (rename!) with higher Amplitude parameter
- [ ] @unc Raymarch field
- [ ] Add [RaymarchField] IterationGlow
- [ ] Fix Nik's Custom shader bug (see https://discord.com/channels/823853172619083816/823853172966817864/1485735996891857100)
# Clean up Asset-Paths
- [x] Implement auto fix methods
- [x] Test for Lib and example
- [x] Sort SharedResources -> Lib/ and Examples/
- [x] Write new resource-paths to all symbols
- [x] Test File drop
- [x] Test Asset Library
- [.] Fix startup warnings
- [x] Simplify resource uri resolve method
- [.] Run tests
- [x] Introduce ignores files list
- [x] Extra AssetRegistry
- [x] Move AssetTypes to Core
- [x] Extend Asset with isDirectory
- [x] Return temp Assets?
- [x] Update conform
- [x] Check file hook on rename
- [x] Check file hook on delete
- [x] Add FolderPaths Assets
- [x] In AssetLib (only use AssetRegistry)
- [.] Test Recompile / Symbol Reload
- [x] Rename "Resource/" -> "Assets/"
## Asset Lib
- [x] Fix count alignment
- [x] Fix selection sync
- [x] Automatically open "Examples" instead of "Lib" on Asset Library
- [x] Highlight current project in Asset browser (Bold?)
- [ ] Implement search
- [ ] Handle File asset Drag and Drop between folders
- [ ] Implement multi selection
- [ ] Check .\Lib\Resources\shaders\points\sim\SimSamplePointAttributes.hlsl
- [ ] Maybe: Fix paths with pasting symbols from (e.g. from Discord)
- [x] Use AssetTypes and AssetRegistry to draw FilePicking with filters
- [x] Disabled asset browser popup
- [ ] Collect AssetReferences on package load
- [ ] List all uses for an Asset
- [x] Replace [...] button with "open asset lib" window action
optional:
- [ ] ~~Add some kind of cache which projects have been "fixed"~~
- [ ] Move obsolete user examples to separate project
# Skill Quest
- [x] Design for HUB, title, etc.
- [ ] Serialize user progress
- [x] Model for a level progression map (JSON?)
- [x] model for user progress
- [x] HUB Area
- [/] Show next Topic/Level with action
- [ ] Infer the next level from active Topic and User results (e.g. completed, skipped etc.)
- [ ] Toolbar with reset
- Later: [ ] List zones and levels with status
- [ ] introduce "playmode" with a custom layout
- [x] pin output to composition
- [x] load custom layout
- [x] Hide ui-elements
- [ ] Hide Output window toolbar
- [ ] keep the app menu hidden
- [ ] override layout switching etc. in playmode
- [ ] maybe: prevent actions in the dropdown menu
- [ ] Derive topics and levels from skills project namespace
- [.] add state machine for playmode
- [x] design flow in figma
- [ ] Play level tutorial
- [ ] Level completed pop-up with progression to the next level / topic
- [!] Continue to next level after completed
- [!] Exit to the main menu
- [ ] Tips after time out?
- [ ] Later: Player feedback
- [ ] Difficulty modes (start with simple user settings)
- [x] Create TiXL learning project
- [x] Create PlayResult-Op
- [ ] Implement some kind of back-channel so PlayResult-Op can send events to the editor
- [x] Tour-Points (Should probably be orthogonal from SkillQuest)
- [x] extend model
- [ ] add user-settings for "Skip tours"
- [x] show tour indicator near the op name and description.
- [ ] save tour-progress for SymbolId in user settings (maybe with -1 as completed or canceled)
- [ ] Implement tour mode with popup / continue / back, etc.
- Add some kind of dropdown mode to switch between gradient presets.
- Save gradient presets of symbol child op
- Ideas for later:
- [ ] Somehow reference ops to solution for indicating incorrect changes
- Add CustomUi for [Time]
# Asset-Lib
- [x] Undo/Do for changing
- [x] Indicate hidden file reference for selected op
- [x] Reveal hidden
- [x] AssetsTypeRegistry
- [x] Indicate matching types
- [x] Drag and Drop to Graph
- [x] Link Image -> [LoadImage]
- [ ] Toolbar
- [x] Collapse all
- [x] Context menu
- [ ] File Selections
- [x] Action...
- [x] Reveal in Explorer
- [ ] Edit externally
- [ ] Delete
- [ ] Add to graph -> Create and select op
- [ ] Later: find references
- [ ] Group selecting into Folder
- [ ] Create Folder
- [x] Filter with counts
- [x] List derived from AssetTypeRegistry
- [ ] Select multiple (e.g. Shift)
- [ ] Keyboard navigation Up/Down Left/Right for collapse
- [ ] Search / Filter
- [ ] Show preview on hover?
# UI
- [ ] add color preview to vec4 (and maybe a history gradient?)
- [ ] Create [HowToUseVariables]
- [ ] Scaling color to zero clears hue and saturation.
- [ ] PointList parameter needs max height
- [ ] Idea: bookmark / navigation panel
- [ ] Snapshots: Somehow fix use-case "update set this parameter for these snapshots"
- [ ] Snapshots: Layout snapshots like on Controller
- [ ] Fix: Raymarch point
## Feedback from Alex 2
- [x] Try to get rid of console
- [x] Import / Load projects to library
- [x] Press P again to unpin
- [ ] Provide warning if project folder is owned by OneCloud
- [x] AssetHandling: Import multiple assets or even folders through drag&drop
- [ ] Idea: Reactivate Op templates?
- [ ] Idea: Cursor Up/Down in parameter input widget to modify numerical values
## Project handling / Project HUB
- [!] Project settings should save output resolution
- [x] Project hub context menu Open in Explore is not working #719
- [>] Automatically load last project from user settings
- [x] unload projects from project list
- [>] Project backups should be project specific
## Graph
- [ ] Publish as input does not create connection
- [ ] Split Connections on drop
- [ ] Panning/Zooming in CurveEdit-Popup opened from SampleCurveOp is broken
- [ ] Create connections from dragging out of parameter window
- [ ] Refactor IStatusMessageProvider "Success" indication #714
- [ ] Add shortcut to insert op on the right side
## UI-Scaling Issues (at x1.5):
- [ ] Full-Screen cuts off timeline ruler units
- [ ] Pressing F12 twice does not restore the layout
- [ ] in Duplicate Symbol description field is too small
- [ ] Add some kind of FIT button to show all or selected operators
## Ops
- [ ] Rounded Rect should have blend parameter
- [ ] Remove Symbol from Editor
- [ ] Fix SnapToPoints
- [ ] Sort out obsolete pixtur examples
- [?] Rename PlayVideo to LoadVideo
- [ ] Add [OrientImage] with flip, rotate 90d, 180d 270d
- [ ] Clean up [SnapPointsToGrid] with amount
- [ ] FIX: Filter returns a point with count 0 (with random-seed not applied)
- [ ] Deprecate DrawPoints2
- [ ] Cleanup *-template.hlsl -> -gs.hlsl
- [ ] [Set-] and [BlendSnapshots] (see API mock examples)
- [ ] ExecuteTextureUpdate should be a multiInput
### Particles
- [ ] Provide optional reference to points in [GetParticleComponents]
-
## SDF-Stuff
- [ ] Changing the parameter order in the parameter window will break inputs with [GraphParam] attribute
- [ ] Ray marching glow
- [ ] Some form of parameter freezing
- [ ] Flexible shader injection (e.g. DrawMesh normals, etc.)
- [ ] ShaderGraphNode should be bypassable
- [ ] Undo/Redo seems to be broken when editing custom SDF shaders
## General UX-ideas:
- [ ] StatusProvideIcon should support non-warning indicator
- [ ] Drag and drop of files (copy them to resources folder and create LoadXYZ instance...)
- [ ] With Tapping and Beat-Lock, no Idle-Animation should probably "pause" all playback?
## Other features
- [ ] EXR image sequence support #740
## Refactoring
- [ ] Refactor to use Scopes
## Long-Term ideas:
- [ ] Render-Settings should be a connection type, including texture sampling, culling, z-depth