Files
mdg-filius/CHANGES.md
T
julian.kiedaischandClaude Opus 5.5 750cc72c55 feat(fls): ZIP layer of the .fls codec
Reader and writer ported from filius-ipad with the same path policy,
limits and error codes; DEFLATE via fflate, cut at the declared size
like Apple Compression. 54 tests: the Swift archive rejection tests,
DEFLATE edge cases, and all 23 corpus files cross-checked against
fflate.unzipSync and round-tripped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:03:07 +00:00

3.1 KiB
Raw Blame History

Herkunft und Änderungen

Nach GPL §5a: was aus welcher Quelle übertragen und wie es verändert wurde. Swift-Pfade relativ zu filius-ipad/ios/FiliusPad/TopologyEditor/ (Stand 3b5ded0, 27.08.2026), Tests relativ zu filius-ipad/ios/FiliusPadTests/.

packages/core

Datei Quelle Art der Übertragung
src/ids.ts Swift-Sortierung nach UUID.uuidString neu, bildet die Swift-Ordnung nach
src/model/node.ts Model/TopologyNode.swift übertragen; Standard-Ports und -Namen wie Java
src/runtime/config.ts State/TopologyEditorState.swift (Laufzeit-Konfigurationen, Firewall) übertragen; Java-Beschriftungen der Oberfläche weggelassen
src/runtime/engine.ts State/TopologyNetworkRuntimeEngine.swift Z. ~313–3585, ~4753–4850 übertragen: Warteschlange, Uhr, Ethernet, Switch, ARP, IPv4, ICMP, Routing, Firewall. Klasse statt Werttyp. Noch nicht übertragen (wirft NotPortedError): Gateway-NAT, UDP, TCP, DHCP, DNS, RIP, Remote Link, WLAN
src/runtime/ipv4.ts Engine parseIPv4/sameSubnet übertragen
src/runtime/packets.ts Engine, Paketmodelle übertragen; Data → Uint8Array
src/runtime/random.ts Engine, TopologyJavaCompatibleRandom übertragen; BigInt für die 48-Bit-Arithmetik
src/runtime/routeTable.ts State/TopologyJavaRouteTable.swift übertragen ohne Tabellengeometrie (gehört in den Editor)
src/runtime/snapshot.ts Engine, TopologyNetworkRuntimeTopologySnapshot übertragen, bisher mit den Feldern der übertragenen Schichten
src/runtime/speed.ts Engine, TopologyNetworkRuntimeSpeed übertragen
src/runtime/trace.ts Engine, Paketspur-Modell übertragen
src/util/equal.ts — neu (Ersatz für Swifts Equatable)
test/engine.test.ts TopologyNetworkRuntimeEngineTests.swift (21 von 72 Tests) übertragen; nextInt-Referenzwerte an OpenJDK 21 gemessen
test/oracle.test.ts, test/scenarios/ — neu: 5 Szenarien, Ergebnis mit dem Swift-Kern abgeglichen (tools/swift-oracle)
test/routeTable.test.ts TopologyJavaRouteTableTests.swift (8 von 12 Tests) übertragen; Geometrie- und Reducer-Tests folgen mit Editor und Dokument

packages/fls

Datei Quelle Art der Übertragung
src/zip.ts Persistence/TopologyFLSArchive.swift (Fehler, Grenzen, Pfadregeln, ZIP-Leser/-Schreiber, CRC-32) übertragen; DEFLATE über fflate, mit Apples Abschneide-Verhalten nachgebildet; Breitenfaltung als NFKC nur für U+FF01–U+FFEF
src/archive.ts ebenda, Archiv-Teil von Import und Export übertragen, ohne die XML-Ebene
test/zip.test.ts TopologyProjectPersistenceTests.swift (Archiv-Ablehnungstests, makeMinimalZIP, makePayloadZIP) übertragen, ergänzt um DEFLATE-Grenzfälle
test/corpus.test.ts — neu: 23 Korpus-Dateien, gegengeprüft mit fflate.unzipSync

tools/swift-oracle

Baut den unveränderten Swift-Kern (Stand 3b5ded0) unter Linux, nur zwei Ausdrücke sind für den Linux-Compiler aufgeteilt (patches/). Die Quellen selbst werden beim Bau geholt und nicht eingecheckt.