Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
5fc01b1
feat(attributes): Update attribute metadata to support vectorial attr…
MaxNumerique Jul 7, 2026
51a6c6b
Apply prepare changes
MaxNumerique Jul 7, 2026
35957f4
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeodeWe…
MaxNumerique Jul 10, 2026
9f21e70
item instead of component
MaxNumerique Jul 10, 2026
1cd079a
ui strat at 1
MaxNumerique Jul 10, 2026
8a34330
revert
MaxNumerique Jul 10, 2026
e846cf8
revert
MaxNumerique Jul 10, 2026
e1077dd
revert
MaxNumerique Jul 10, 2026
781065c
better data_style stores for meshes and models
MaxNumerique Jul 13, 2026
73d6993
add integration tests dor each meshes
MaxNumerique Jul 13, 2026
9cd2d10
Apply prepare changes
MaxNumerique Jul 13, 2026
82ae49d
add models tests for attributes and items switch
MaxNumerique Jul 13, 2026
24aaaea
Apply prepare changes
MaxNumerique Jul 13, 2026
32fb8e5
data-testId
MaxNumerique Jul 13, 2026
5abe4aa
attribute_value
MaxNumerique Jul 15, 2026
ffcb0e8
Apply prepare changes
MaxNumerique Jul 15, 2026
d5e38ce
refacto
MaxNumerique Jul 15, 2026
20d493f
refacto
MaxNumerique Jul 15, 2026
90d3ac0
components
MaxNumerique Jul 15, 2026
77e8fc1
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeodeWe…
MaxNumerique Jul 15, 2026
d16c717
v.final
MaxNumerique Jul 15, 2026
e5dac3a
refacto
MaxNumerique Jul 15, 2026
15b86a4
refacto
MaxNumerique Jul 16, 2026
6ce1030
Apply prepare changes
MaxNumerique Jul 16, 2026
419540c
refacto
MaxNumerique Jul 16, 2026
1609bef
Merge branch 'feat/vectorial-attributes' of https://github.com/Geode-…
MaxNumerique Jul 16, 2026
73fe934
refacto
MaxNumerique Jul 16, 2026
950be95
Apply prepare changes
MaxNumerique Jul 16, 2026
c7264df
reorganize
MaxNumerique Jul 16, 2026
bb62737
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeodeWe…
MaxNumerique Jul 16, 2026
0a1bf9d
refacto
MaxNumerique Jul 16, 2026
033487f
Apply prepare changes
MaxNumerique Jul 16, 2026
a8ed421
rm Promise.resolve() and refacto
MaxNumerique Jul 16, 2026
fac8662
refacto
MaxNumerique Jul 16, 2026
421b1cb
vertex
MaxNumerique Jul 16, 2026
3f45004
Apply prepare changes
MaxNumerique Jul 16, 2026
936b5d0
attribute refacto for cell vertex attribute
MaxNumerique Jul 17, 2026
79bf9ab
v1
MaxNumerique Jul 17, 2026
5059df1
v2
MaxNumerique Jul 17, 2026
98c5e3a
Apply prepare changes
MaxNumerique Jul 17, 2026
5947b63
oxlint
MaxNumerique Jul 17, 2026
fb31caa
refacto
MaxNumerique Jul 17, 2026
63fa156
refacto
MaxNumerique Jul 17, 2026
5ca80b2
refacto
MaxNumerique Jul 17, 2026
74824a7
refacto vertex cell
MaxNumerique Jul 17, 2026
99a73b0
computed
MaxNumerique Jul 22, 2026
4730aa1
refacto final vertex attr cell
MaxNumerique Jul 22, 2026
4b865d2
applyVertexAttribute moved to vertex store
MaxNumerique Jul 22, 2026
73cec61
attribute for meshes
MaxNumerique Jul 22, 2026
ca067ec
Apply prepare changes
MaxNumerique Jul 22, 2026
43fe940
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeodeWe…
MaxNumerique Jul 22, 2026
338f3ca
Merge branch 'feat/vectorial-attributes' of https://github.com/Geode-…
MaxNumerique Jul 22, 2026
993ecff
rm exposed functions
MaxNumerique Jul 22, 2026
eb86538
block attribute polyhedron
MaxNumerique Jul 23, 2026
c05806c
index blocks
MaxNumerique Jul 23, 2026
dfa9d48
index blocks
MaxNumerique Jul 23, 2026
8aaac15
index blocks
MaxNumerique Jul 23, 2026
e6ce65b
index blocks
MaxNumerique Jul 23, 2026
016c312
maybe
MaxNumerique Jul 23, 2026
01b38b3
final index for blocks
MaxNumerique Jul 23, 2026
e208734
all models
MaxNumerique Jul 23, 2026
eea254f
tests
MaxNumerique Jul 23, 2026
0e84dc8
model tests
MaxNumerique Jul 23, 2026
fe13fee
Apply prepare changes
MaxNumerique Jul 23, 2026
d390861
rm test
MaxNumerique Jul 23, 2026
d886b71
trigger
MaxNumerique Jul 23, 2026
6e1b59e
Merge branch 'next' of https://github.com/Geode-solutions/OpenGeodeWe…
MaxNumerique Jul 23, 2026
3f62a21
awaits
MaxNumerique Jul 23, 2026
ad72fd8
Apply prepare changes
MaxNumerique Jul 23, 2026
12fc2d7
async
MaxNumerique Jul 23, 2026
a3eee61
revert
MaxNumerique Jul 23, 2026
9e4cb97
Apply prepare changes
MaxNumerique Jul 23, 2026
6cde2e4
oxlint
MaxNumerique Jul 23, 2026
a988f4b
Merge branch 'feat/vectorial-attributes' of https://github.com/Geode-…
MaxNumerique Jul 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ const vertex_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_item = computed({
get: () => dataStyleStore.meshEdgesVertexAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesVertexAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_range = computed({
get: () => dataStyleStore.meshEdgesVertexAttributeRange(id.value),
set: async (newValue) => {
Expand Down Expand Up @@ -91,6 +100,15 @@ const edge_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const edge_attribute_item = computed({
get: () => dataStyleStore.meshEdgesEdgeAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesEdgeAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const edge_attribute_range = computed({
get: () => dataStyleStore.meshEdgesEdgeAttributeRange(id.value),
set: async (newValue) => {
Expand All @@ -110,6 +128,7 @@ const edge_attribute_color_map = computed({
},
});
</script>

<template>
<ViewerContextMenuItem
data-testid="meshEdgesMenu"
Expand All @@ -127,9 +146,11 @@ const edge_attribute_color_map = computed({
v-model:coloring_style_key="coloring_style_key"
v-model:color="color"
v-model:vertex_attribute_name="vertex_attribute_name"
v-model:vertex_attribute_item="vertex_attribute_item"
v-model:vertex_attribute_range="vertex_attribute_range"
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
v-model:edge_attribute_name="edge_attribute_name"
v-model:edge_attribute_item="edge_attribute_item"
v-model:edge_attribute_range="edge_attribute_range"
v-model:edge_attribute_color_map="edge_attribute_color_map"
/>
Expand Down
21 changes: 21 additions & 0 deletions app/components/Viewer/Generic/Mesh/CellsOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ const textures = computed({
hybridViewerStore.remoteRender();
},
});

const vertex_attribute_name = computed({
get: () => dataStyleStore.meshCellsVertexAttributeName(id.value),
set: async (newValue) => {
Expand All @@ -64,6 +65,15 @@ const vertex_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_item = computed({
get: () => dataStyleStore.meshCellsVertexAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshCellsVertexAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_range = computed({
get: () => dataStyleStore.meshCellsVertexAttributeRange(id.value),
set: async (newValue) => {
Expand Down Expand Up @@ -91,6 +101,15 @@ const cell_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const cell_attribute_item = computed({
get: () => dataStyleStore.meshCellsCellAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshCellsCellAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const cell_attribute_range = computed({
get: () => dataStyleStore.meshCellsCellAttributeRange(id.value),
set: async (newValue) => {
Expand Down Expand Up @@ -128,9 +147,11 @@ const cell_attribute_color_map = computed({
v-model:color="color"
v-model:textures="textures"
v-model:vertex_attribute_name="vertex_attribute_name"
v-model:vertex_attribute_item="vertex_attribute_item"
v-model:vertex_attribute_range="vertex_attribute_range"
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
v-model:cell_attribute_name="cell_attribute_name"
v-model:cell_attribute_item="cell_attribute_item"
v-model:cell_attribute_range="cell_attribute_range"
v-model:cell_attribute_color_map="cell_attribute_color_map"
/>
Expand Down
80 changes: 80 additions & 0 deletions app/components/Viewer/Generic/Mesh/EdgesOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,78 @@ const color = computed({
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_name = computed({
get: () => dataStyleStore.meshEdgesVertexAttributeName(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesVertexAttributeName(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_item = computed({
get: () => dataStyleStore.meshEdgesVertexAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesVertexAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_range = computed({
get: () => dataStyleStore.meshEdgesVertexAttributeRange(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesVertexAttributeRange(targetId, newValue[0], newValue[1]),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_color_map = computed({
get: () => dataStyleStore.meshEdgesVertexAttributeColorMap(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesVertexAttributeColorMap(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const edge_attribute_name = computed({
get: () => dataStyleStore.meshEdgesEdgeAttributeName(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesEdgeAttributeName(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const edge_attribute_item = computed({
get: () => dataStyleStore.meshEdgesEdgeAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesEdgeAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const edge_attribute_range = computed({
get: () => dataStyleStore.meshEdgesEdgeAttributeRange(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesEdgeAttributeRange(targetId, newValue[0], newValue[1]),
);
hybridViewerStore.remoteRender();
},
});
const edge_attribute_color_map = computed({
get: () => dataStyleStore.meshEdgesEdgeAttributeColorMap(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshEdgesEdgeAttributeColorMap(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
</script>

<template>
Expand All @@ -81,6 +153,14 @@ const color = computed({
:id="id"
v-model:coloring_style_key="coloring_style_key"
v-model:color="color"
v-model:vertex_attribute_name="vertex_attribute_name"
v-model:vertex_attribute_item="vertex_attribute_item"
v-model:vertex_attribute_range="vertex_attribute_range"
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
v-model:edge_attribute_name="edge_attribute_name"
v-model:edge_attribute_item="edge_attribute_item"
v-model:edge_attribute_range="edge_attribute_range"
v-model:edge_attribute_color_map="edge_attribute_color_map"
/>
</template>
</template>
Expand Down
10 changes: 10 additions & 0 deletions app/components/Viewer/Generic/Mesh/PointsOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,15 @@ const vertex_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_item = computed({
get: () => dataStyleStore.meshPointsVertexAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPointsVertexAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_range = computed({
get: () => dataStyleStore.meshPointsVertexAttributeRange(id.value),
set: async (newValue) => {
Expand Down Expand Up @@ -109,6 +118,7 @@ const vertex_attribute_color_map = computed({
v-model:coloring_style_key="coloring_style_key"
v-model:color="color"
v-model:vertex_attribute_name="vertex_attribute_name"
v-model:vertex_attribute_item="vertex_attribute_item"
v-model:vertex_attribute_range="vertex_attribute_range"
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
:capabilities="{ vertex: { available: false } }"
Expand Down
81 changes: 81 additions & 0 deletions app/components/Viewer/Generic/Mesh/PolygonsOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,79 @@ const textures = computed({
hybridViewerStore.remoteRender();
},
});

const vertex_attribute_name = computed({
get: () => dataStyleStore.meshPolygonsVertexAttributeName(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsVertexAttributeName(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_item = computed({
get: () => dataStyleStore.meshPolygonsVertexAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsVertexAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_range = computed({
get: () => dataStyleStore.meshPolygonsVertexAttributeRange(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsVertexAttributeRange(targetId, newValue[0], newValue[1]),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_color_map = computed({
get: () => dataStyleStore.meshPolygonsVertexAttributeColorMap(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsVertexAttributeColorMap(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const polygon_attribute_name = computed({
get: () => dataStyleStore.meshPolygonsPolygonAttributeName(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsPolygonAttributeName(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const polygon_attribute_item = computed({
get: () => dataStyleStore.meshPolygonsPolygonAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsPolygonAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const polygon_attribute_range = computed({
get: () => dataStyleStore.meshPolygonsPolygonAttributeRange(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsPolygonAttributeRange(targetId, newValue[0], newValue[1]),
);
hybridViewerStore.remoteRender();
},
});
const polygon_attribute_color_map = computed({
get: () => dataStyleStore.meshPolygonsPolygonAttributeColorMap(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolygonsPolygonAttributeColorMap(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
</script>

<template>
Expand All @@ -77,6 +150,14 @@ const textures = computed({
v-model:coloring_style_key="coloring_style_key"
v-model:color="color"
v-model:textures="textures"
v-model:vertex_attribute_name="vertex_attribute_name"
v-model:vertex_attribute_item="vertex_attribute_item"
v-model:vertex_attribute_range="vertex_attribute_range"
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
v-model:polygon_attribute_name="polygon_attribute_name"
v-model:polygon_attribute_item="polygon_attribute_item"
v-model:polygon_attribute_range="polygon_attribute_range"
v-model:polygon_attribute_color_map="polygon_attribute_color_map"
:capabilities="capabilities"
/>
</template>
Expand Down
20 changes: 20 additions & 0 deletions app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ const vertex_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_item = computed({
get: () => dataStyleStore.meshPolyhedraVertexAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolyhedraVertexAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const vertex_attribute_range = computed({
get: () => dataStyleStore.meshPolyhedraVertexAttributeRange(id.value),
set: async (newValue) => {
Expand Down Expand Up @@ -82,6 +91,15 @@ const polyhedron_attribute_name = computed({
hybridViewerStore.remoteRender();
},
});
const polyhedron_attribute_item = computed({
get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeItem(id.value),
set: async (newValue) => {
await applyBatchStyle(id.value, (targetId) =>
dataStyleStore.setMeshPolyhedraPolyhedronAttributeItem(targetId, newValue),
);
hybridViewerStore.remoteRender();
},
});
const polyhedron_attribute_range = computed({
get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeRange(id.value),
set: async (newValue) => {
Expand Down Expand Up @@ -123,9 +141,11 @@ const polyhedron_attribute_color_map = computed({
v-model:coloring_style_key="coloring_style_key"
v-model:color="color"
v-model:vertex_attribute_name="vertex_attribute_name"
v-model:vertex_attribute_item="vertex_attribute_item"
v-model:vertex_attribute_range="vertex_attribute_range"
v-model:vertex_attribute_color_map="vertex_attribute_color_map"
v-model:polyhedron_attribute_name="polyhedron_attribute_name"
v-model:polyhedron_attribute_item="polyhedron_attribute_item"
v-model:polyhedron_attribute_range="polyhedron_attribute_range"
v-model:polyhedron_attribute_color_map="polyhedron_attribute_color_map"
:capabilities="{
Expand Down
Loading
Loading