Changes for page ProjectsSheet

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

From version 3.1
edited by Zenna Elfen
on 2025/11/20 21:58
Change comment: Update class sheet
To version 2.1
edited by Zenna Elfen
on 2025/11/20 21:31
Change comment: Update class sheet

Summary

Details

Page properties
Content
... ... @@ -83,301 +83,16 @@
83 83   <dd>$doc.display('conf_res')</dd>
84 84   <dt #if (!$editing && $hasEdit)
85 85   class="editableProperty"
86 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText2')))"
86 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('content1')))"
87 87   data-property-type="object"#end>
88 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText2"#end>
89 - $escapetool.xml($doc.displayPrettyName('longText2', false, false))
88 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_content1"#end>
89 + $escapetool.xml($doc.displayPrettyName('content1', false, false))
90 90   </label>
91 91   <span class="xHint">
92 92   $escapetool.xml($services.localization.render('How is data persisted locally and replicated between peers?'))
93 93   </span>
94 94   </dt>
95 - <dd>$doc.display('longText2')</dd>
96 - <dt #if (!$editing && $hasEdit)
97 - class="editableProperty"
98 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList2')))"
99 - data-property-type="object"#end>
100 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList2"#end>
101 - $escapetool.xml($doc.displayPrettyName('staticList2', false, false))
102 - </label>
103 - </dt>
104 - <dd>$doc.display('staticList2')</dd>
105 - <dt #if (!$editing && $hasEdit)
106 - class="editableProperty"
107 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText6')))"
108 - data-property-type="object"#end>
109 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText6"#end>
110 - $escapetool.xml($doc.displayPrettyName('longText6', false, false))
111 - </label>
112 - <span class="xHint">
113 - $escapetool.xml($services.localization.render('How do peers collaboratively change shared data and merge conflicts?'))
114 - </span>
115 - </dt>
116 - <dd>$doc.display('longText6')</dd>
117 - <dt #if (!$editing && $hasEdit)
118 - class="editableProperty"
119 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList3')))"
120 - data-property-type="object"#end>
121 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList3"#end>
122 - $escapetool.xml($doc.displayPrettyName('staticList3', false, false))
123 - </label>
124 - <span class="xHint">
125 - $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'))
126 - </span>
127 - </dt>
128 - <dd>$doc.display('staticList3')</dd>
129 - <dt #if (!$editing && $hasEdit)
130 - class="editableProperty"
131 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText8')))"
132 - data-property-type="object"#end>
133 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText8"#end>
134 - $escapetool.xml($doc.displayPrettyName('longText8', false, false))
135 - </label>
136 - <span class="xHint">
137 - $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'))
138 - </span>
139 - </dt>
140 - <dd>$doc.display('longText8')</dd>
141 - <dt #if (!$editing && $hasEdit)
142 - class="editableProperty"
143 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList4')))"
144 - data-property-type="object"#end>
145 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList4"#end>
146 - $escapetool.xml($doc.displayPrettyName('staticList4', false, false))
147 - </label>
148 - <span class="xHint">
149 - $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'))
150 - </span>
151 - </dt>
152 - <dd>$doc.display('staticList4')</dd>
153 - <dt #if (!$editing && $hasEdit)
154 - class="editableProperty"
155 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText9')))"
156 - data-property-type="object"#end>
157 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText9"#end>
158 - $escapetool.xml($doc.displayPrettyName('longText9', false, false))
159 - </label>
160 - <span class="xHint">
161 - $escapetool.xml($services.localization.render('How do messages travel across multiple hops, and what abstract network structure is created?'))
162 - </span>
163 - </dt>
164 - <dd>$doc.display('longText9')</dd>
165 - <dt #if (!$editing && $hasEdit)
166 - class="editableProperty"
167 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList5')))"
168 - data-property-type="object"#end>
169 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList5"#end>
170 - $escapetool.xml($doc.displayPrettyName('staticList5', false, false))
171 - </label>
172 - <span class="xHint">
173 - $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'))
174 - </span>
175 - </dt>
176 - <dd>$doc.display('staticList5')</dd>
177 - <dt #if (!$editing && $hasEdit)
178 - class="editableProperty"
179 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText10')))"
180 - data-property-type="object"#end>
181 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText10"#end>
182 - $escapetool.xml($doc.displayPrettyName('longText10', false, false))
183 - </label>
184 - <span class="xHint">
185 - $escapetool.xml($services.localization.render('How do peers establish end-to-end byte streams and reliable delivery?'))
186 - </span>
187 - </dt>
188 - <dd>$doc.display('longText10')</dd>
189 - <dt #if (!$editing && $hasEdit)
190 - class="editableProperty"
191 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList6')))"
192 - data-property-type="object"#end>
193 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList6"#end>
194 - $escapetool.xml($doc.displayPrettyName('staticList6', false, false))
195 - </label>
196 - <span class="xHint">
197 - $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'))
198 - </span>
199 - </dt>
200 - <dd>$doc.display('staticList6')</dd>
201 - <dt #if (!$editing && $hasEdit)
202 - class="editableProperty"
203 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText11')))"
204 - data-property-type="object"#end>
205 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText11"#end>
206 - $escapetool.xml($doc.displayPrettyName('longText11', false, false))
207 - </label>
208 - <span class="xHint">
209 - $escapetool.xml($services.localization.render('How does data move across the medium?'))
210 - </span>
211 - </dt>
212 - <dd>$doc.display('longText11')</dd>
213 - <dt #if (!$editing && $hasEdit)
214 - class="editableProperty"
215 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList7')))"
216 - data-property-type="object"#end>
217 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList7"#end>
218 - $escapetool.xml($doc.displayPrettyName('staticList7', false, false))
219 - </label>
220 - <span class="xHint">
221 - $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)'))
222 - </span>
223 - </dt>
224 - <dd>$doc.display('staticList7')</dd>
225 - <dt #if (!$editing && $hasEdit)
226 - class="editableProperty"
227 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText12')))"
228 - data-property-type="object"#end>
229 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText12"#end>
230 - $escapetool.xml($doc.displayPrettyName('longText12', false, false))
231 - </label>
232 - <span class="xHint">
233 - $escapetool.xml($services.localization.render('How is data addressed and verified by content, not location?'))
234 - </span>
235 - </dt>
236 - <dd>$doc.display('longText12')</dd>
237 - <dt #if (!$editing && $hasEdit)
238 - class="editableProperty"
239 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList8')))"
240 - data-property-type="object"#end>
241 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList8"#end>
242 - $escapetool.xml($doc.displayPrettyName('staticList8', false, false))
243 - </label>
244 - <span class="xHint">
245 - $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'))
246 - </span>
247 - </dt>
248 - <dd>$doc.display('staticList8')</dd>
249 - <dt #if (!$editing && $hasEdit)
250 - class="editableProperty"
251 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText13')))"
252 - data-property-type="object"#end>
253 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText13"#end>
254 - $escapetool.xml($doc.displayPrettyName('longText13', false, false))
255 - </label>
256 - <span class="xHint">
257 - $escapetool.xml($services.localization.render('What relevance does this topic have for the project?'))
258 - </span>
259 - </dt>
260 - <dd>$doc.display('longText13')</dd>
261 - <dt #if (!$editing && $hasEdit)
262 - class="editableProperty"
263 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList9')))"
264 - data-property-type="object"#end>
265 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList9"#end>
266 - $escapetool.xml($doc.displayPrettyName('staticList9', false, false))
267 - </label>
268 - <span class="xHint">
269 - $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'))
270 - </span>
271 - </dt>
272 - <dd>$doc.display('staticList9')</dd>
273 - <dt #if (!$editing && $hasEdit)
274 - class="editableProperty"
275 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('MesForm')))"
276 - data-property-type="object"#end>
277 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_MesForm"#end>
278 - $escapetool.xml($doc.displayPrettyName('MesForm', false, false))
279 - </label>
280 - <span class="xHint">
281 - $escapetool.xml($services.localization.render('How are connections initiated, authenticated, resumed, and kept alive?'))
282 - </span>
283 - </dt>
284 - <dd>$doc.display('MesForm')</dd>
285 - <dt #if (!$editing && $hasEdit)
286 - class="editableProperty"
287 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('staticList10')))"
288 - data-property-type="object"#end>
289 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_staticList10"#end>
290 - $escapetool.xml($doc.displayPrettyName('staticList10', false, false))
291 - </label>
292 - <span class="xHint">
293 - $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)'))
294 - </span>
295 - </dt>
296 - <dd>$doc.display('staticList10')</dd>
297 - <dt #if (!$editing && $hasEdit)
298 - class="editableProperty"
299 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText15')))"
300 - data-property-type="object"#end>
301 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText15"#end>
302 - $escapetool.xml($doc.displayPrettyName('longText15', false, false))
303 - </label>
304 - <span class="xHint">
305 - $escapetool.xml($services.localization.render('How is data encoded, structured, and/or made interoperable between peers?'))
306 - </span>
307 - </dt>
308 - <dd>$doc.display('longText15')</dd>
309 - <dt #if (!$editing && $hasEdit)
310 - class="editableProperty"
311 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('ctn_filesynch')))"
312 - data-property-type="object"#end>
313 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_ctn_filesynch"#end>
314 - $escapetool.xml($doc.displayPrettyName('ctn_filesynch', false, false))
315 - </label>
316 - <span class="xHint">
317 - $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'))
318 - </span>
319 - </dt>
320 - <dd>$doc.display('ctn_filesynch')</dd>
321 - <dt #if (!$editing && $hasEdit)
322 - class="editableProperty"
323 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('filesynch')))"
324 - data-property-type="object"#end>
325 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_filesynch"#end>
326 - $escapetool.xml($doc.displayPrettyName('filesynch', false, false))
327 - </label>
328 - <span class="xHint">
329 - $escapetool.xml($services.localization.render('How are large objects transferred and deduplicated efficiently across peers?'))
330 - </span>
331 - </dt>
332 - <dd>$doc.display('filesynch')</dd>
333 - <dt #if (!$editing && $hasEdit)
334 - class="editableProperty"
335 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('ctn_localsto')))"
336 - data-property-type="object"#end>
337 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_ctn_localsto"#end>
338 - $escapetool.xml($doc.displayPrettyName('ctn_localsto', false, false))
339 - </label>
340 - <span class="xHint">
341 - $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'))
342 - </span>
343 - </dt>
344 - <dd>$doc.display('ctn_localsto')</dd>
345 - <dt #if (!$editing && $hasEdit)
346 - class="editableProperty"
347 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('localsto')))"
348 - data-property-type="object"#end>
349 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_localsto"#end>
350 - $escapetool.xml($doc.displayPrettyName('localsto', false, false))
351 - </label>
352 - <span class="xHint">
353 - $escapetool.xml($services.localization.render('How do nodes persist, index, and process data locally—without external servers?'))
354 - </span>
355 - </dt>
356 - <dd>$doc.display('localsto')</dd>
357 - <dt #if (!$editing && $hasEdit)
358 - class="editableProperty"
359 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('ctn_crash')))"
360 - data-property-type="object"#end>
361 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_ctn_crash"#end>
362 - $escapetool.xml($doc.displayPrettyName('ctn_crash', false, false))
363 - </label>
364 - <span class="xHint">
365 - $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)'))
366 - </span>
367 - </dt>
368 - <dd>$doc.display('ctn_crash')</dd>
369 - <dt #if (!$editing && $hasEdit)
370 - class="editableProperty"
371 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('Crash_Res')))"
372 - data-property-type="object"#end>
373 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_Crash_Res"#end>
374 - $escapetool.xml($doc.displayPrettyName('Crash_Res', false, false))
375 - </label>
376 - <span class="xHint">
377 - $escapetool.xml($services.localization.render('How do nodes recover and maintain correctness under failure?'))
378 - </span>
379 - </dt>
380 - <dd>$doc.display('Crash_Res')</dd>
95 + <dd>$doc.display('content1')</dd>
381 381   </dl>
382 382  </div>
383 383  {{/html}}