Vector Curve container
Open
Nobody has claimed this yet.
area: util
lang: c++
nice new thing ☺
- Dominant language
- Python
- Stars
- 14.4k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
We should add a curve::Vector type to our curve container classes to record changes to sequences over time.
The new vector type should implement these methods:
Read
| Method | Description |
|---|---|
get(t, i) |
Get value of index i at time t |
get(t) |
Get vector at time t |
size(t) |
Get size of the vector at time t |
frame(t, i) |
Get the previous keyframe (time and value) of index i before or at t |
next_frame(t, i) |
Get the next keyframe (time and value) of index i after t |
There should also be an iterator type to iterate over the vector at time t.
Modify
| Method | Description |
|---|---|
insert(t, i, value) |
Insert a new element at index i at time t |
erase(t, i) |
Erase element at index i at time t |
set_insert(t, i, value) |
Insert a new keyframe value at time t at index i |
set_last(t, i, value) |
Insert a new keyframe value at time t; delete all keyframes after time t at index i |
set_replace(t, i, value) |
Insert a new keyframe value at time t at index i; remove all other keyframes with time t at index i |
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue defines a new curve::Vector API but names no files or tests. Start by locating the existing curve container classes and their tests, then follow their conventions for keyframes and iteration; done means the listed read and modify methods, plus vector iteration, are implemented and covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100