Repository navigation
Conversation
…conf.py on the guidelines' template reading the package metadata, the full extension list, a notebook (doc/notebooks, run by nbmake in CI and by nbsphinx), the doc extra, conda/environment.yml, CONTRIBUTING.md, CODE_OF_CONDUCT.md and CHANGELOG.md
…, the data model, reading and writing frames and sequences, the conformance dump (every conformance file read as expected; what it writes passes fspm-tf validate and glTF-Validator with no warning); a MultiScaleTreeGraph.jl package extension (from_mtg, to_mtg: MTG.jl's test files rebuilt exactly, another platform's graph read as an MTG); its CI (Julia 1.10 and latest, the conformance action); doc/julia.md, implementations
…ng to 8 bytes (glTF-Validator warned of more than 3 bytes beyond it); the conformance files are unchanged
…mbered 1, 2, ... in id order (MTG.jl sizes its attribute store by the largest id: CPlantBox's 2^32 offsets saturated memory), each id kept in fspm_tf_id; a parent in another complex (a lateral's first segment) kept in fspm_tf_parent and fspm_tf_edge_type, the node under its own complex; from_mtg writes both back (the conformance root system and CPlantBox's plants: MTG and back, the same graph)
…ing and writing frames and sequences, the conformance dump and tool (every conformance file read as expected; what it writes passes both validators with no warning), a CMake package; CPlantBox's adapter (bindings/cpp/cplantbox): organisms as Plant, Organ and SubOrgan with CPlantBox's variables declared and its parameters in extras, PlantVisualiser geometry, the soil grid and segment-to-cell mapping, static root systems from CPlantBox's frames and from other platforms' (by segment ends and complexes); CI on Linux, macOS and Windows, conformance, the adapter on a pinned CPlantBox; doc/cpp.md
…antGraphs (from_graph, to_graph: one entity set, the nodes' types as labels and their fields as variables, the graph's data as scalars, the turtle's movements left out, edge types guessed; nodes rebuilt from their rows) and PlantGeomTurtle (add_geometry!: feed! replayed, each triangle with its node, the mesh equal to PlantGeomPrimitives.Mesh(graph)); their tests in their own project (PlantGraphs needs Julia 1.12) and CI job; the attribute-to-column conversion shared by the adapters (src/values.jl)
…ainer, the data model, reading and writing frames and sequences, the conformance dump and tool (every conformance file read as expected; what it writes passes both validators with no warning); GroIMP's adapter (bindings/java/groimp, on GroIMP's Graph module): one entity set per refinement depth (names and ranks given), complex and parent from each node's incoming edges, other edge bits as relations, managed fields as variables, and graphs (GroIMP's or another platform's) back into the model's node classes; CI on Linux, macOS and Windows, conformance, the adapter on a pinned GroIMP; doc/java.md
…ntBox), bindings/java GPL-3.0-or-later (GroIMP); the rest of fspm-TF stays CeCILL-C
This was
linked to
issues
Nov 2, 2026
Open
… user decided them: missing values in integer, text and boolean columns (UINT8 0/1 with noData 255); an entity set's scale (a base scale or mixed) and ranks as base scale positions; reading by content (standard names, the complex chain); position columns in their declared length unit; a data structure's labels map; the extras key, the platform's name in lower case; unique relation names, bearer relations' names and labels; edge_type unknown; the order column; parents in another complex; date formats; sparse ids; conformance/ as part of the agreement and the sources' precedence. Vocabulary 0.2 (Seed, mtg_index, the new enumerations); the reference codec, validator (each new rule) and ParaView reader; the conformance files regenerated with a new scene, missing_values
…oolean columns, an entity set's scale, a data structure's labels, a variable's format, edge_type unknown, the order column; its adapters on 0.2 instead of their extras: MTG.jl's missing attributes as missing, dates with their format, the children's order as order, mtg_index's standard name, ranks and labels given, its extras under virtualplantlab (model, scales, metadata, scene); PlantGraphs' edges unknown and children's order, missing fields; reading another platform's frame unchanged
… with a free noData, text with a free noData string, booleans as UINT8 0/1/255 with FSPM_boolean), an entity set's scale, a data structure's labels, a variable's format, edge_type unknown, the order column; CPlantBox's adapter on 0.2: its Organ set mixed, Plant and SubOrgan with their scales, segment ends in cm as declared (a rebuilt root system bit for bit), its order as branching_order (order is reserved)
… not written, with a warning, rather than overwriting it
…s with a free noData, text with a free noData string, booleans as UINT8 0/1/255 with FSPM_boolean), an entity set's scale, a data structure's labels, a variable's format, edge_type unknown, the order column; GroIMP's adapter on 0.2: missing fields as missing rather than in extras, each scale's base scale (scaleScales) and the classes' vocabulary labels (labels) given
…ec/ holds and how each file is checked, which source prevails, a reading path, the three layers of a file with conformance/root_system.glb annotated, a glossary, how a codec proves itself, the standards it builds on; the conformance files' README in the built docs
…, reordered to the cells' C order) and CPlantBox's hydraulics per segment and per node (add_segment_values, add_node_values: a segment takes its distal node's value), declared with their units and standard names; tests place each value where it belongs; doc/cpp.md
…sually means the branching order, which platforms name order (CPlantBox's organs, OpenAlea MTGs); every codec, the validator, the adapters, the conformance files and the docs; CPlantBox's organs keep their own order
…): File > Export of the 3D view to .glb, or the CLI's export3d, writes the project as an fspm-TF frame: the graph by GroImp.toDataStructure, the scene's geometry as one mesh meshed by GroIMP's glTF plugin, each triangle with its node's and its complexes' rows (an instance's geometry: the node instantiating it); test/run_in_groimp.sh grows simpleRapeseed headless in GroIMP 3.0.0, exports it and checks the frame (456,900 vertices, all with their node; both validators clean); CI job groimp-plugin; GroIMP's modules from its package registry
…frames (FSPM_scene.update: the sender, removed entities) in the schema, the Python and Julia codecs and the validator; the session's messages (spec/schema/coupling.schema.json: declarations with entity sets' rights owns/refines/follows and outputs/inputs, links with units, factors and changes of scale, turns, updates, stop); openalea.fspm_tf.coupling: resolution, stages, a coordinator holding the shared structure (id ranges, rights, removals down the scales), launching participants and recording the session, ZeroMQ and folder transports, replay of a recorded sequence (hold, linear), the participant's side; fspm-tf couple; ucum.conversion_factor; FspmTF.jl's participant (folder; ZeroMQ by FspmTFZMQExt), tested against the coordinator over both transports, in CI too; enum columns with missing values refused by the Python codec; the Coupling platforms page
…0.1 and 0.2 files stay valid, conformance files regenerated, expected values unchanged); links between two data structures through a mapping a participant provides (sum: amounts shared by weight, kept; mean: weighted mean), replays providing their mappings and declaring every set and variable of their frames; coupling conformance sessions (conformance/coupling: two_scales, two_data_structures; generate.py; fspm-tf couple-conformance) passed by the Python, Julia, C++ and Java participants over ZeroMQ and a folder; partial frames (update) in every codec and dump; the C++ participant (fspm_tf/coupling.hpp, libzmq) and the Java one (org.openalea.fspmtf.coupling, JeroMQ optional); CPlantBox's growing log and GroIMP's log (four runs) replayed as participants; the frame tools skip conformance/coupling; the coordinator's lookups vectorized and the Python codec's enum and text columns encoded without per-row loops (a 100,000-segment step: 99 ms instead of 230 ms); CI jobs for all of it
…nal companion of a sequence (spec/schema/views.schema.json), named configurations of layers; openalea.fspm_tf.views (reading, writing, checking against a frame, the selection, display options); the ParaView reader's Views and Configuration, one block per layer holding its entities only (frame_to_vtk(frame, views=, configuration=)); the macros apply_fspm_tf_views.py and save_fspm_tf_views.py; tests
…JSON parsed, each column and mesh decoded on first access (LazyColumns, LazyList; decoded columns are copies), frame.close() or a with block; the ParaView reader and replays use it (a replay decodes only the columns links use); the folder transport deletes each message once read unless the session keeps them (keepMessages in the welcome, Coordinator(keep_messages=), --keep-messages), in the Python, Julia, C++ and Java participants, the conformance sessions checking the folder is left empty; tests
…he reading guide's example at 0.3, the coupling schema and §11 in its path; the README (coupling sessions, schemas, conformance sessions, what each binding holds); the index page; the design note's status, §4.6 and §5.2 updated to what was decided (GLB partial frames over ZeroMQ or a folder, not Arrow; codecs in this repository); P4 and P5 done; 'draft for 0.3' wording removed; the API page lists LazyColumns, LazyList and the conformance module
…DE: isolate in the view or a new panel with its own camera) and clear_fspm_tf_selection, the picked cells grown to their entity at the scale with what it contains across layers, hidden layers shown for the selection only; the reader gives each cell its containing entities' ids and each block its data structure and scales; views checked in ParaView 6.2 (pvbatch, check_in_paraview.py --design, manual): no jsonschema needed, block names, cell data, colour map presets, ColorBy without an array, the representation saved, configurations switched; tests
…): ParaView's current selection taken at creation (a Selection input, Copy Active Selection), its Scale a drop-down of the frames' scales, the picked cells grown in every layer, following time steps; show_fspm_tf_selection the one macro left (isolate or a split panel, run again to go back); select_at_scale and clear_fspm_tf_selection removed; checked in ParaView 6.2 (pvbatch); tests
…display mesh), not its name
….encoding3d and the encoding3d command, the Julia package encoding3d (and its extensions), the C++ library encoding3d (namespace, headers, targets, tools), the Java packages org.openalea.encoding3d (Encoding3dException, the GroIMP plugin encoding3d and Encoding3dExport), ENCODING3D_ environment variables and CMake options, the ParaView reader and macros, the docs and the URLs; the conformance files written again (their generator)
…selection (SelectIDs needs a representation; it failed under pvpython and pvbatch)
…opening from views.json (per-block colour variable, colour map, opacity, visibility; no macro); Save Views and Save As on the reader, Isolate, Show In Panel and Put Back on Select at scale (the macros removed); roots drawn as tubes by the reader; paraview/README.md, the user's how-to; tests, docs
…hid through their scalar bar (ParaView 6.2's representations have no SetScalarBarVisibility); check_in_paraview: a legend shown before Isolate, Show In Panel after Isolate, the active view kept after a screenshot
…shown converted, the files unchanged; test, check, README
…GroIMP and PlantGraphs removed, MTG.jl's tests moved out of the Julia package's tests into their own project (test/multiscaletreegraph); the platform adapters (CPlantBox's, GroIMP's adapter and plugin, the MTG.jl and VirtualPlantLab extensions) stated as first proposals for the platforms' teams in the README, the docs and their code, each with a README saying how to build and test it by hand; the documentation's notebook check also runs tutorial 1
…toy root system at three scales written as a frame and a five-day sequence, validated (and a wrong unit caught), read back and lazily, its views.json, opened in ParaView; tutorials/README.md and the docs' Tutorials page
…d alone, smaller log frames, rebuilt with import_frame) and 2b (VirtualPlantLab: a PlantGraphs plant grown by rules written with its turtle geometry, rebuilt with to_graph and grown on; an MTG to and from encoding3d), each with its own environment, run by hand
…ay with its geometry, a soil grid, the segments' cells and a soil potential per cell; the last frame and another platform's frame back as CPlantBox root systems), built on CPlantBox by hand
…by code standing for an RGG rule, written step by step with GroIMP's adapter and rebuilt as GroIMP nodes; the plugin's export from GroIMP), with Java and Maven, by hand
…ar-limited root growth and VirtualPlantLab's carbon model splitting the segments into layers by a PlantGraphs rule, a coupling session over ZeroMQ, the coordinator converting units, copying and averaging between scales, its record read back), by hand
…'s shoot (structural, owning their entity sets), metafspm's root water uptake (functional, its data structure built from CPlantBox's roots by RemoteComponent.join) and VirtualPlantLab's light and photosynthesis (functional, on a PlantGraphs graph rebuilt by to_graph); the coordinator linking them by standard name, name, a sum and a copy between scales, three stages, the plant recorded with its views; each side in its own process, run by hand
…ry (the GroIMP application's shape nodes do, which the plugin meshes), so each organ keeps its two ends (x1 ... z2, the vocabulary's segment ends), the internodes stacked, the leaves leaning out to alternate sides; drawn by ParaView's reader
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.