these are still structs but reference others with a count
export const Kreise = new Struct.Base('Kreise', {
dnodes: { type: Struct.Node.DesignNode, count: kreiseSettings.capacities_Kreise.nodes },
cnodes: { type: Struct.Node.ComputeNode, count: kreiseSettings.capacities_Kreise.nodes },
tnodes: { type: Struct.Node.CodeNode, count: kreiseSettings.capacities_Kreise.nodes },
synapses: { type: Struct.Node.KreiseSynapse, count: kreiseSettings.capacities_Kreise.synapses },
node_nodes: { type: Struct.Node.NodeNodes, count: kreiseSettings.capacities_Kreise.nodeNodes },
node_children: { type: Struct.Node.NodeChildren, count: kreiseSettings.capacities_Kreise.nodeChildren },
count_nodes: 'u32',
count_synapses: 'u32',
count_node_nodes: 'u32',
count_node_children: 'u32',
.
.
.
});
They are allowed to grow in KreiseManager referencing the BlockGrowMap
exposed global as km
handles all RAM Blocks, identified by a unique ID in km.blocks
theres functionality around sync with siblings built in
plus ofc the PanelManager
exposed global as kw
Handler of webgpu devices and a global list of GPUBuffers
Per Browser Instance (main + siblings)
Memory : KreiseBlock (Type) index (+ name)
GPUMemory : KreiseBlock (Type) index (+ name)
∧--- working / open "files" (extended)
∨--- files (compressed) to be read by
Global Storage
LocalStorage <--> Zip download
Linear Index - single file - data / (depr. Model)
Linear Index - multipe files - datasets / Pillar
Combined Plane 2xn
- hash table n m
Beam = Struct Type
Rebar - Beam List flex. capacity
Storey - Beam List fixed capacity
Source Folder
Struct Type Name Folder
Capacity