Changes for page ProjectsSheet

Last modified by Zenna Elfen on 2025/11/24 11:39

From version 10.1
edited by Zenna Elfen
on 2025/11/24 11:39
Change comment: Update class sheet
To version 5.1
edited by Zenna Elfen
on 2025/11/23 22:42
Change comment: Update class sheet

Summary

Details

Page properties
Content
... ... @@ -59,18 +59,6 @@
59 59   <dd>$doc.display('shortText2')</dd>
60 60   <dt #if (!$editing && $hasEdit)
61 61   class="editableProperty"
62 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('content1')))"
63 - data-property-type="object"#end>
64 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_content1"#end>
65 - $escapetool.xml($doc.displayPrettyName('content1', false, false))
66 - </label>
67 - <span class="xHint">
68 - $escapetool.xml($services.localization.render('Add an image for the project by clicking the image in the menu. This image will be visible in the table.'))
69 - </span>
70 - </dt>
71 - <dd>$doc.display('content1')</dd>
72 - <dt #if (!$editing && $hasEdit)
73 - class="editableProperty"
74 74   data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('data_synchronization')))"
75 75   data-property-type="object"#end>
76 76   <label#if ($editing) for="Projects.Code.ProjectsClass_0_data_synchronization"#end>
... ... @@ -107,304 +107,301 @@
107 107   <dd>$doc.display('conf_res')</dd>
108 108   <dt #if (!$editing && $hasEdit)
109 109   class="editableProperty"
110 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_res')))"
98 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText2')))"
111 111   data-property-type="object"#end>
112 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_res"#end>
113 - $escapetool.xml($doc.displayPrettyName('long_res', false, false))
100 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText2"#end>
101 + $escapetool.xml($doc.displayPrettyName('longText2', false, false))
114 114   </label>
115 115   <span class="xHint">
116 - $escapetool.xml($services.localization.render('How do peers collaboratively change shared data and merge conflicts?'))
104 + $escapetool.xml($services.localization.render('How is data persisted locally and replicated between peers?'))
117 117   </span>
118 118   </dt>
119 - <dd>$doc.display('long_res')</dd>
107 + <dd>$doc.display('longText2')</dd>
120 120   <dt #if (!$editing && $hasEdit)
121 121   class="editableProperty"
122 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_rep')))"
110 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList2')))"
123 123   data-property-type="object"#end>
124 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_rep"#end>
125 - $escapetool.xml($doc.displayPrettyName('list_rep', false, false))
112 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList2"#end>
113 + $escapetool.xml($doc.displayPrettyName('staticList2', false, false))
126 126   </label>
127 - <span class="xHint">
128 - $escapetool.xml($services.localization.render('This layer focuses on durability, consistency, and redundancy. It handles write-paths, crash-resilience, and replication semantics across nodes. It is the “database/storage engine” layer where data lives and survives over time, independent of sync or merging logic. Examples: SQLite, IndexedDB, LMDB, Hypercore (append-only logs), WALs, Merkle-DAGs (IPFS/IPLD), Blob/media storage'))
129 - </span>
130 130   </dt>
131 - <dd>$doc.display('list_rep')</dd>
116 + <dd>$doc.display('staticList2')</dd>
132 132   <dt #if (!$editing && $hasEdit)
133 133   class="editableProperty"
134 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_rep')))"
119 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText6')))"
135 135   data-property-type="object"#end>
136 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_rep"#end>
137 - $escapetool.xml($doc.displayPrettyName('long_rep', false, false))
121 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText6"#end>
122 + $escapetool.xml($doc.displayPrettyName('longText6', false, false))
138 138   </label>
139 139   <span class="xHint">
140 - $escapetool.xml($services.localization.render('How is data persisted locally and replicated between peers?'))
125 + $escapetool.xml($services.localization.render('How do peers collaboratively change shared data and merge conflicts?'))
141 141   </span>
142 142   </dt>
143 - <dd>$doc.display('long_rep')</dd>
128 + <dd>$doc.display('longText6')</dd>
144 144   <dt #if (!$editing && $hasEdit)
145 145   class="editableProperty"
146 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_peer')))"
131 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList3')))"
147 147   data-property-type="object"#end>
148 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_peer"#end>
149 - $escapetool.xml($doc.displayPrettyName('list_peer', false, false))
133 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList3"#end>
134 + $escapetool.xml($doc.displayPrettyName('staticList3', false, false))
150 150   </label>
151 151   <span class="xHint">
152 - $escapetool.xml($services.localization.render('Discovery occurs in two phases: 1. Peer Discovery → finding any nodes 2. Topic Discovery → finding relevant nodes or resources These mechanisms enable decentralized bootstrapping and interest-based overlays. **Examples**: DHTs (Kademlia, Pastry), mDNS, DNS-SD, Bluetooth scanning, QR bootstrapping, static peer lists, Interest-based routing, PubSub discovery (libp2p), Rendezvous protocols'))
137 + $escapetool.xml($services.localization.render('This layer focuses on durability, consistency, and redundancy. It handles write-paths, crash-resilience, and replication semantics across nodes. It is the “database/storage engine” layer where data lives and survives over time, independent of sync or merging logic. Examples: SQLite, IndexedDB, LMDB, Hypercore (append-only logs), WALs, Merkle-DAGs (IPFS/IPLD), Blob/media storage'))
153 153   </span>
154 154   </dt>
155 - <dd>$doc.display('list_peer')</dd>
140 + <dd>$doc.display('staticList3')</dd>
156 156   <dt #if (!$editing && $hasEdit)
157 157   class="editableProperty"
158 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_peer')))"
143 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText8')))"
159 159   data-property-type="object"#end>
160 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_peer"#end>
161 - $escapetool.xml($doc.displayPrettyName('long_peer', false, false))
145 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText8"#end>
146 + $escapetool.xml($doc.displayPrettyName('longText8', false, false))
162 162   </label>
163 163   <span class="xHint">
164 - $escapetool.xml($services.localization.render('How do peers find each other, and how do they discover content in the network?'))
149 + $escapetool.xml($services.localization.render(' This layer defines how shared data evolves when multiple peers edit concurrently. It focuses on conflict-free merging, causality, and consistency of meaning, not transport or storage. CRDTs ensure deterministic convergence, while event-sourced or stream-driven models maintain a history of all changes and derive consistent state from it. Examples: CRDTs (Yjs, Automerge), OT, Event Sourcing, Stream Processing, Version Vectors, Peritext'))
165 165   </span>
166 166   </dt>
167 - <dd>$doc.display('long_peer')</dd>
152 + <dd>$doc.display('longText8')</dd>
168 168   <dt #if (!$editing && $hasEdit)
169 169   class="editableProperty"
170 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_ident')))"
155 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList4')))"
171 171   data-property-type="object"#end>
172 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_ident"#end>
173 - $escapetool.xml($doc.displayPrettyName('list_ident', false, false))
157 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList4"#end>
158 + $escapetool.xml($doc.displayPrettyName('staticList4', false, false))
174 174   </label>
175 175   <span class="xHint">
176 - $escapetool.xml($services.localization.render('Identity systems ensure reliable mapping between peers and cryptographic keys. They underpin authorization, federated trust, and secure overlays. Examples: PKI, Distributed Identities (DIDs), Web-of-Trust, TOFU (SSH-style), Verifiable Credentials (VCs), Peer key fingerprints (libp2p PeerIDs), Key transparency logs'))
161 + $escapetool.xml($services.localization.render('Discovery occurs in two phases: 1. Peer Discovery → finding any nodes 2. Topic Discovery → finding relevant nodes or resources These mechanisms enable decentralized bootstrapping and interest-based overlays. **Examples**: DHTs (Kademlia, Pastry), mDNS, DNS-SD, Bluetooth scanning, QR bootstrapping, static peer lists, Interest-based routing, PubSub discovery (libp2p), Rendezvous protocols'))
177 177   </span>
178 178   </dt>
179 - <dd>$doc.display('list_ident')</dd>
164 + <dd>$doc.display('staticList4')</dd>
180 180   <dt #if (!$editing && $hasEdit)
181 181   class="editableProperty"
182 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_ident')))"
167 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText9')))"
183 183   data-property-type="object"#end>
184 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_ident"#end>
185 - $escapetool.xml($doc.displayPrettyName('long_ident', false, false))
169 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText9"#end>
170 + $escapetool.xml($doc.displayPrettyName('longText9', false, false))
186 186   </label>
187 187   <span class="xHint">
188 - $escapetool.xml($services.localization.render('How peers identify themselves, authenticate, and establish trustworthy relationships?'))
173 + $escapetool.xml($services.localization.render('How do messages travel across multiple hops, and what abstract network structure is created?'))
189 189   </span>
190 190   </dt>
191 - <dd>$doc.display('long_ident')</dd>
176 + <dd>$doc.display('longText9')</dd>
192 192   <dt #if (!$editing && $hasEdit)
193 193   class="editableProperty"
194 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_transport')))"
179 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList5')))"
195 195   data-property-type="object"#end>
196 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_transport"#end>
197 - $escapetool.xml($doc.displayPrettyName('list_transport', false, false))
181 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList5"#end>
182 + $escapetool.xml($doc.displayPrettyName('staticList5', false, false))
198 198   </label>
199 199   <span class="xHint">
200 - $escapetool.xml($services.localization.render('This layer provides logical connections and flow control. QUIC and WebRTC bring modern congestion control and encryption defaults; Interpeer explores transport beyond IP assumptions. **Examples**: TCP, UDP, QUIC, SCTP, WebRTC DataChannels, Interpeer transport stack. Examples: TCP, UDP, QUIC, SCTP, WebRTC DataChannels, Interpeer transport stack'))
185 + $escapetool.xml($services.localization.render('This layer provides logical connections and flow control. QUIC and WebRTC bring modern congestion control and encryption defaults; Interpeer explores transport beyond IP assumptions. **Examples**: TCP, UDP, QUIC, SCTP, WebRTC DataChannels, Interpeer transport stack'))
201 201   </span>
202 202   </dt>
203 - <dd>$doc.display('list_transport')</dd>
188 + <dd>$doc.display('staticList5')</dd>
204 204   <dt #if (!$editing && $hasEdit)
205 205   class="editableProperty"
206 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_transport')))"
191 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText10')))"
207 207   data-property-type="object"#end>
208 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_transport"#end>
209 - $escapetool.xml($doc.displayPrettyName('long_transport', false, false))
193 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText10"#end>
194 + $escapetool.xml($doc.displayPrettyName('longText10', false, false))
210 210   </label>
211 211   <span class="xHint">
212 212   $escapetool.xml($services.localization.render('How do peers establish end-to-end byte streams and reliable delivery?'))
213 213   </span>
214 214   </dt>
215 - <dd>$doc.display('long_transport')</dd>
200 + <dd>$doc.display('longText10')</dd>
216 216   <dt #if (!$editing && $hasEdit)
217 217   class="editableProperty"
218 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_phys')))"
203 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList6')))"
219 219   data-property-type="object"#end>
220 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_phys"#end>
221 - $escapetool.xml($doc.displayPrettyName('list_phys', false, false))
205 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList6"#end>
206 + $escapetool.xml($doc.displayPrettyName('staticList6', false, false))
222 222   </label>
223 223   <span class="xHint">
224 - $escapetool.xml($services.localization.render('Highly relevant for offline-first / edge networks, device-to-device communication, and mesh networks and relates to the hardware which facilitates connections. Examples: Ethernet, Wi-Fi Direct / Wi-Fi Aware (post-AWDL), Bluetooth Mesh, LoRa, NFC, Cellular, CSMA/CA, TDMA, FHSS'))
209 + $escapetool.xml($services.localization.render('Highly relevant for offline-first / edge networks, device-to-device communication, and mesh networks and relates to the hardware which facilitates connections. **Examples**: Ethernet, Wi-Fi Direct / Wi-Fi Aware (post-AWDL), Bluetooth Mesh, LoRa, NFC, Cellular, CSMA/CA, TDMA, FHSS'))
225 225   </span>
226 226   </dt>
227 - <dd>$doc.display('list_phys')</dd>
212 + <dd>$doc.display('staticList6')</dd>
228 228   <dt #if (!$editing && $hasEdit)
229 229   class="editableProperty"
230 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_phys')))"
215 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText11')))"
231 231   data-property-type="object"#end>
232 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_phys"#end>
233 - $escapetool.xml($doc.displayPrettyName('long_phys', false, false))
217 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText11"#end>
218 + $escapetool.xml($doc.displayPrettyName('longText11', false, false))
234 234   </label>
235 235   <span class="xHint">
236 236   $escapetool.xml($services.localization.render('How does data move across the medium?'))
237 237   </span>
238 238   </dt>
239 - <dd>$doc.display('long_phys')</dd>
224 + <dd>$doc.display('longText11')</dd>
240 240   <dt #if (!$editing && $hasEdit)
241 241   class="editableProperty"
242 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_cont')))"
227 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList7')))"
243 243   data-property-type="object"#end>
244 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_cont"#end>
245 - $escapetool.xml($doc.displayPrettyName('list_cont', false, false))
229 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList7"#end>
230 + $escapetool.xml($doc.displayPrettyName('staticList7', false, false))
246 246   </label>
247 247   <span class="xHint">
248 248   $escapetool.xml($services.localization.render('Content addressing ensures immutability, verifiability, and deduplication. Identity of data = cryptographic hash, enabling offline-first and tamper-evident systems. **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)'))
249 249   </span>
250 250   </dt>
251 - <dd>$doc.display('list_cont')</dd>
236 + <dd>$doc.display('staticList7')</dd>
252 252   <dt #if (!$editing && $hasEdit)
253 253   class="editableProperty"
254 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_cont')))"
239 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText12')))"
255 255   data-property-type="object"#end>
256 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_cont"#end>
257 - $escapetool.xml($doc.displayPrettyName('long_cont', false, false))
241 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText12"#end>
242 + $escapetool.xml($doc.displayPrettyName('longText12', false, false))
258 258   </label>
259 259   <span class="xHint">
260 260   $escapetool.xml($services.localization.render('How is data addressed and verified by content, not location?'))
261 261   </span>
262 262   </dt>
263 - <dd>$doc.display('long_cont')</dd>
248 + <dd>$doc.display('longText12')</dd>
264 264   <dt #if (!$editing && $hasEdit)
265 265   class="editableProperty"
266 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_p2p')))"
251 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList8')))"
267 267   data-property-type="object"#end>
268 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_p2p"#end>
269 - $escapetool.xml($doc.displayPrettyName('list_p2p', false, false))
253 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList8"#end>
254 + $escapetool.xml($doc.displayPrettyName('staticList8', false, false))
270 270   </label>
271 271   <span class="xHint">
272 272   $escapetool.xml($services.localization.render('Connectivity ensures peers bypass NATs/firewalls to reach each other. **Examples**: IPv6 direct, NAT Traversal, STUN, TURN, ICE (used in WebRTC), UDP hole punching, UPnP'))
273 273   </span>
274 274   </dt>
275 - <dd>$doc.display('list_p2p')</dd>
260 + <dd>$doc.display('staticList8')</dd>
276 276   <dt #if (!$editing && $hasEdit)
277 277   class="editableProperty"
278 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_p2p')))"
263 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText13')))"
279 279   data-property-type="object"#end>
280 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_p2p"#end>
281 - $escapetool.xml($doc.displayPrettyName('long_p2p', false, false))
265 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText13"#end>
266 + $escapetool.xml($doc.displayPrettyName('longText13', false, false))
282 282   </label>
283 283   <span class="xHint">
284 - $escapetool.xml($services.localization.render('How can two peers connect directly across networks, firewalls, and NATs?'))
269 + $escapetool.xml($services.localization.render('What relevance does this topic have for the project?'))
285 285   </span>
286 286   </dt>
287 - <dd>$doc.display('long_p2p')</dd>
272 + <dd>$doc.display('longText13')</dd>
288 288   <dt #if (!$editing && $hasEdit)
289 289   class="editableProperty"
290 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_sess')))"
275 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList9')))"
291 291   data-property-type="object"#end>
292 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_sess"#end>
293 - $escapetool.xml($doc.displayPrettyName('list_sess', false, false))
277 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList9"#end>
278 + $escapetool.xml($doc.displayPrettyName('staticList9', false, false))
294 294   </label>
295 295   <span class="xHint">
296 296   $escapetool.xml($services.localization.render('Manages connection lifecycle, including authentication handshakes, reconnection after drops, and session continuation. **Examples**: TLS handshake semantics, Noise IK/XX patterns, session tokens, keep-alive heartbeats, reconnection strategies, session resumption tickets'))
297 297   </span>
298 298   </dt>
299 - <dd>$doc.display('list_sess')</dd>
284 + <dd>$doc.display('staticList9')</dd>
300 300   <dt #if (!$editing && $hasEdit)
301 301   class="editableProperty"
302 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_sess')))"
287 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('MesForm')))"
303 303   data-property-type="object"#end>
304 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_sess"#end>
305 - $escapetool.xml($doc.displayPrettyName('long_sess', false, false))
289 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_MesForm"#end>
290 + $escapetool.xml($doc.displayPrettyName('MesForm', false, false))
306 306   </label>
307 307   <span class="xHint">
308 308   $escapetool.xml($services.localization.render('How are connections initiated, authenticated, resumed, and kept alive?'))
309 309   </span>
310 310   </dt>
311 - <dd>$doc.display('long_sess')</dd>
296 + <dd>$doc.display('MesForm')</dd>
312 312   <dt #if (!$editing && $hasEdit)
313 313   class="editableProperty"
314 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_mess')))"
299 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList10')))"
315 315   data-property-type="object"#end>
316 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_mess"#end>
317 - $escapetool.xml($doc.displayPrettyName('list_mess', false, false))
301 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList10"#end>
302 + $escapetool.xml($doc.displayPrettyName('staticList10', false, false))
318 318   </label>
319 319   <span class="xHint">
320 320   $escapetool.xml($services.localization.render(' Serialization ensures portable data representation, forward-compatible schemas, and efficient messaging. **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)'))
321 321   </span>
322 322   </dt>
323 - <dd>$doc.display('list_mess')</dd>
308 + <dd>$doc.display('staticList10')</dd>
324 324   <dt #if (!$editing && $hasEdit)
325 325   class="editableProperty"
326 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_mess')))"
311 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText15')))"
327 327   data-property-type="object"#end>
328 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_mess"#end>
329 - $escapetool.xml($doc.displayPrettyName('long_mess', false, false))
313 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText15"#end>
314 + $escapetool.xml($doc.displayPrettyName('longText15', false, false))
330 330   </label>
331 331   <span class="xHint">
332 332   $escapetool.xml($services.localization.render('How is data encoded, structured, and/or made interoperable between peers?'))
333 333   </span>
334 334   </dt>
335 - <dd>$doc.display('long_mess')</dd>
320 + <dd>$doc.display('longText15')</dd>
336 336   <dt #if (!$editing && $hasEdit)
337 337   class="editableProperty"
338 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_blob')))"
323 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('ctn_filesynch')))"
339 339   data-property-type="object"#end>
340 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_blob"#end>
341 - $escapetool.xml($doc.displayPrettyName('list_blob', false, false))
325 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_ctn_filesynch"#end>
326 + $escapetool.xml($doc.displayPrettyName('ctn_filesynch', false, false))
342 342   </label>
343 343   <span class="xHint">
344 344   $escapetool.xml($services.localization.render(' Bulk data syncing has different trade-offs than small collaborative state (chunking, deduplication, partial transfer, resume logic). Essential for media and archival P2P use-cases. **Examples**: BitTorrent chunking, IPFS block-store, NDN segments, rsySerialization ensures portable data representation, forward-compatible schemas, and efficient messaging. **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)nc-style delta sync, ZFS send-receive, streaming blob transfers'))
345 345   </span>
346 346   </dt>
347 - <dd>$doc.display('list_blob')</dd>
332 + <dd>$doc.display('ctn_filesynch')</dd>
348 348   <dt #if (!$editing && $hasEdit)
349 349   class="editableProperty"
350 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_blob')))"
335 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('filesynch')))"
351 351   data-property-type="object"#end>
352 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_blob"#end>
353 - $escapetool.xml($doc.displayPrettyName('long_blob', false, false))
337 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_filesynch"#end>
338 + $escapetool.xml($doc.displayPrettyName('filesynch', false, false))
354 354   </label>
355 355   <span class="xHint">
356 356   $escapetool.xml($services.localization.render('How are large objects transferred and deduplicated efficiently across peers?'))
357 357   </span>
358 358   </dt>
359 - <dd>$doc.display('long_blob')</dd>
344 + <dd>$doc.display('filesynch')</dd>
360 360   <dt #if (!$editing && $hasEdit)
361 361   class="editableProperty"
362 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_localsto')))"
347 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('ctn_localsto')))"
363 363   data-property-type="object"#end>
364 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_localsto"#end>
365 - $escapetool.xml($doc.displayPrettyName('list_localsto', false, false))
349 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_ctn_localsto"#end>
350 + $escapetool.xml($doc.displayPrettyName('ctn_localsto', false, false))
366 366   </label>
367 367   <span class="xHint">
368 368   $escapetool.xml($services.localization.render('Provides durable on-device state and local computation (event sourcing, materialization, compaction). Enables offline-first writes and deterministic replay. **Examples**: RocksDB, LevelDB, SQLite, LMDB, local WALs/append-only logs, embedded stream processors (NATS Core JetStream mode, Actyx-like edge runtimes), Kafka-like libraries'))
369 369   </span>
370 370   </dt>
371 - <dd>$doc.display('list_localsto')</dd>
356 + <dd>$doc.display('ctn_localsto')</dd>
372 372   <dt #if (!$editing && $hasEdit)
373 373   class="editableProperty"
374 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_localsto')))"
359 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('localsto')))"
375 375   data-property-type="object"#end>
376 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_localsto"#end>
377 - $escapetool.xml($doc.displayPrettyName('long_localsto', false, false))
361 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_localsto"#end>
362 + $escapetool.xml($doc.displayPrettyName('localsto', false, false))
378 378   </label>
379 379   <span class="xHint">
380 380   $escapetool.xml($services.localization.render('How do nodes persist, index, and process data locally—without external servers?'))
381 381   </span>
382 382   </dt>
383 - <dd>$doc.display('long_localsto')</dd>
368 + <dd>$doc.display('localsto')</dd>
384 384   <dt #if (!$editing && $hasEdit)
385 385   class="editableProperty"
386 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_crash')))"
371 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('ctn_crash')))"
387 387   data-property-type="object"#end>
388 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_crash"#end>
389 - $escapetool.xml($doc.displayPrettyName('list_crash', false, false))
373 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_ctn_crash"#end>
374 + $escapetool.xml($doc.displayPrettyName('ctn_crash', false, false))
390 390   </label>
391 391   <span class="xHint">
392 392   $escapetool.xml($services.localization.render('Ensures P2P apps don’t corrupt state on crashes. Tied to local storage & stream-processing, and critical in offline-first and distributed update pipelines. Abortability is the updated term, as per Mr. Kleppmann for Atomicity as part of the [ACID abbreviation](https://www.youtube.com/watch?v=5ZjhNTM8XU8). **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)'))
393 393   </span>
394 394   </dt>
395 - <dd>$doc.display('list_crash')</dd>
380 + <dd>$doc.display('ctn_crash')</dd>
396 396   <dt #if (!$editing && $hasEdit)
397 397   class="editableProperty"
398 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_crashres')))"
383 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('Crash_Res')))"
399 399   data-property-type="object"#end>
400 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_crashres"#end>
401 - $escapetool.xml($doc.displayPrettyName('long_crashres', false, false))
385 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_Crash_Res"#end>
386 + $escapetool.xml($doc.displayPrettyName('Crash_Res', false, false))
402 402   </label>
403 403   <span class="xHint">
404 404   $escapetool.xml($services.localization.render('How do nodes recover and maintain correctness under failure?'))
405 405   </span>
406 406   </dt>
407 - <dd>$doc.display('long_crashres')</dd>
392 + <dd>$doc.display('Crash_Res')</dd>
408 408   </dl>
409 409  </div>
410 410  {{/html}}