Conversation
|
Can you show a screenshot or screen recording (sorry, I am on the go to run PR locally) |
view/card/mixin.pug
Outdated
| .card_range | ||
| +range('a', ALPHA_MAX, ALPHA_STEP, 100) | ||
|
|
||
| else if type === 'model' |
There was a problem hiding this comment.
Let’s remove the card and just add the model above the cards. We will find another spot.
There was a problem hiding this comment.
I moved the card to the model's mixin. I think some there are few more small changes that can be made to make css and page structure more consistent. Working on it
|
Can you rebase to the |
Resolved it. This reveals a problem with package size limit. Correct me if I'm wrong, it measures all scripts, including 3d. But if 3d is disabled, in network tab the size is almost the same as in |
What kind of problem do you mean exactly? |
Yes. Can we set some prefix for the 3D bundle and move it out of Size Limit check by something like |
The problem is that the space doesn’t look like a solid structure in the bottom. |
|
There is still a problem with solid structure in the bottom (screenshot from latest commit) There is also a problem with moving rotating space by mouse. Looks like the rotation center is not in the center of the space. Also, current space is very small. Can you make it bigger and put just above all card (we anyway will not keep it as small card)? |
|
A few other problems:
|
Yes it was kind of a quick hack, I want to adjust point generation math further to make it look better.
I think this can be paired with syncing the current position on the 2d charts with 3d space
Can 3d space take up position of current LCH charts + settings on large screen? I think it can look good this way. |
view/model/index.ts
Outdated
| for (let z = 0.01; z <= 1; z += 0.01) { | ||
| let rgb: Rgb | P3 | Rec2020 = { mode, r: x, g: y, b: z } | ||
| let color | ||
| LCH ? (color = lch(rgb)) : (color = oklch(rgb)) |
There was a problem hiding this comment.
You should use build() instead
https://github.com/evilmartians/oklch-picker/blob/main/lib/colors.ts#L44
|
Yes, we fixed the problem with solid surface of the model. What we still have:
|
|
Next changes to fix:
Grabacion.de.pantalla.desde.2023-02-15.18-21-51.webm |
|
I think most of the issues mentioned previously are fixed.
Is there anything else major that I'm missing? |
|
Camera position is now remembered between renders. It would be easy to also add it to url if |
|
While we are waiting for design, can we add a current slices to the space? |
|
@muddv here is a preview of design on top of your feature: https://ai-oklch--pr85-v1-1-znr8xs52.web.app/#70,0.1,128,100 Do you have Twitter account to mention you in release tweet? |
|
Looks great, thank you! |
* Resolve merge conflict * Add 3d space condition to url * Dynamic import for model script * Move model to top * Fix model not loading when ?3d is in url * Move model event handlers * Adjust layout for different screens * Add loader * Tune camera and model generation settings * Hide model canvas when 3d space is disabled * Fixes: model card, unnecessary then * Resolve merge conflicts * Infer loader type from selector * Increase solidity of gamut's bottom * Convert grid to 2 letters * Resolve merge conflict * Move model to top * Exclude 3d model from size limit test * Fix model generation for LCH * Fix grid * Change model generation to make it solid * Make 3d space canvas visible * Delete unnecessary file * Refactor model generation, fix control center and bottom surface color * Fixes: add hash to model chunk, remove unneded async * Fix model generation for LCH * Save camera position between renders * Adjust controls --------- Co-authored-by: Andrey Sitnik <andrey@sitnik.ru>








This solves the same problem as #69 but has a few additional features (and maybe some additional flaws):
?3dI want to work on displaying currently active color from the 2d graphs on 3d model, along with several small fixes, although this will still take some time, maybe it can be done before one of the prs is in condition to be merged.
Maybe the best course of action is to work on this jointly, I hope this implementation has something to it.