Board feature rework #62
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: profectus/Profectus#62
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Right now adding node types to boards with new displays (not a circle or diamond) is incredibly difficult. Theoretically the Board feature can just become a Vue component that gives the pan and zoom functionality to its children - including html children.
Then the diamonds and circles and lines could all be done by creating them like any other feature in profectus, and rendering them as a child within the Board component.
Selectability and drag and drop could then be done as decorators or some other way of augmenting an arbitrary component.
Other thoughts here: https://discord.com/channels/619613842141347841/848349393953882122/1114561906854854676
I should be able to create a component that has no persistent state, has a hard-coded position and custom display.
I should be able to have a list of objects of arbitrary length that are all the same "type" but with individual persistent state. They get laid out automatically on the board, so their persistent state has no position (since it's determined by their index). It should theoretically be able to be re-organized by the player by swapping indices around, and doing that should not be any more difficult than the existing drag and drop system.
position
prop, and a utility function that takes an initial position (can be a function, to account for preventing overlaps or placing it near an existing movable node), and returns a persistent ref that can be provided as the position prop.I should be able to have multiple list of objects of different types, each with arbitrary length, that have a persistent state including their position. Each type should be able to have a completely custom display that all nodes of said type use.