H
HN HRCB new | past | comments | ask | show | jobs | articles | domains | dashboard | seldon | network | factions | velocity | about hrcb
home / wiki.freecad.org / item 47097446
+0.09 Topological Naming Problem (wiki.freecad.org)
61 points by tripdout 4 days ago | 23 comments on HN | Neutral Mixed · v3.7 · 2026-02-26
Summary Digital Access & Privacy Trade-off Acknowledges
This page is a Proof-of-Work challenge screen for the FreeCAD wiki, which frames anti-scraping protection as necessary to preserve collective access to free technical knowledge. The content acknowledges a genuine conflict between preventing exploitative scraping and maintaining open information access, positioning the barrier as a temporary compromise. However, the system creates significant accessibility barriers, particularly by requiring users to disable privacy plugins (JShelter) to proceed, which undermines Article 19 (freedom of information) and Article 25 (accessibility) protections even as it serves to protect the underlying open-knowledge mission.
Article Heatmap
Preamble: -0.05 — Preamble P Article 1: +0.03 — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: +0.25 — Privacy 12 Article 13: +0.10 — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.38 — Freedom of Expression 19 Article 20: +0.17 — Assembly & Association 20 Article 21: +0.15 — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: -0.45 — Standard of Living 25 Article 26: +0.15 — Education 26 Article 27: +0.28 — Cultural Participation 27 Article 28: -0.10 — Social & International Order 28 Article 29: +0.03 — Duties to Community 29 Article 30: +0.05 — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.09 Unweighted Mean +0.07
Max +0.38 Article 19 Min -0.45 Article 25
Signal 13 No Data 18
Confidence 21% Volatility 0.20 (Medium)
Negative 3 Channels E: 0.5 S: 0.5
SETL +0.36 Editorial-dominant
FW Ratio 54% 27 facts · 23 inferences
Evidence: High: 1 Medium: 8 Low: 4 No Data: 18
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: -0.01 (2 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.17 (2 articles) Personal: 0.00 (0 articles) Expression: 0.23 (3 articles) Economic & Social: -0.45 (1 articles) Cultural: 0.21 (2 articles) Order & Duties: -0.01 (3 articles)
HN Discussion 4 top-level · 8 replies
lgeorget 2026-02-25 16:47 UTC link
I learned about it the hard way, ahah. Now I create intermediary planes for all distances and I extrude planes always with respect to those.
groos 2026-02-25 16:59 UTC link
It's what caused me to move away from FreeCad to OnShape. Never had an issue in OnShape but got hit with it every time in FreeCad. The sad thing is that there was a fork for a long time which had addressed this problem, and added other nice enhancements as well, but they never merged that work. I guess every org has political problems and FreeCad is no exception.
MoonWalk 2026-02-25 20:24 UTC link
Unless I missed it, the article doesn't answer the first question you'd ask: Why don't they just generate unique IDs for everything and use those internally, instead of names that get changed all the time?
phkahler 2026-02-25 20:55 UTC link
Solvespace has a fairly robust solution to this problem - for the cases that it handles. It does not create accessible edges for things like the intersection of surfaces, which won't be a big deal until we have a chamfer/fillet tool where you might want to modify those edges. But change an underlying sketch all you want and all geometry built from it will remain intact except for stuff built on something you delete.

IIRC the FreeCAD solution tends to create names of ever-increasing length as you continue building.

shadowpho 2026-02-25 16:55 UTC link
I keep making the same mistake. How do you make intermediary planes?
embedding-shape 2026-02-25 17:03 UTC link
How does OnShape handle that problem? The linked page seems to make the case that most CAD suffers from this, others just "hide" it better;

> This problem is not unique to FreeCAD. It is generally present in CAD software, but most other CAD software has heuristics to reduce the impact of the problem on users.

hommelix 2026-02-25 17:13 UTC link
The wiki page explains that as from Freecad 1.0, the work done by Realthunder in the topological naming problem has been merged into Freecad. Not that everything is solved. Just to mention that the work of Real thunder was not lost.
Robotbeat 2026-02-25 17:13 UTC link
This isn’t accurate. FreeCAD merged the main changes from that fork (RealThunder) to fix (well, mitigate) the problem. That’s the big thing with 1.0.

Although… as others have noted, this is a problem with basically all CAD packages, as on a fundamental level, it depends on user design intent. Just some have enough bandaids that it’s more rare.

mft_ 2026-02-25 17:21 UTC link
I’ve experienced similar problems (not totally sure if they were exactly the “topological naming problem” but certainly similar from the description) in Solidworks many times. Not usually a major problem - just a reworking or removal / re-adding of some features needed.

I’ve not encountered the same issue in FreeCAD 1.1 (to which I’ve transitioned recently). There are of course other frustrating niggles in FreeCAD, but not this one (yet).

mitthrowaway2 2026-02-25 17:31 UTC link
I had the same experience, but instead of moving away from FreeCAD to OnShape, I moved to the fork that you mentioned, by RealThunder. Works great! Eventually the main branch mostly caught up.
throwup238 2026-02-25 20:34 UTC link
Whether it's unique IDs or names, the problem is the same: topology changes destroy the things you’re identifying. When you have a box and you assign ID face_007 (or a generated unique ID) to its top face, that works fine until you fillet an edge adjacent to that face. Now the kernel has to recompute the geometry and depending on the operation, face_007 might still exist in a different shape, might split into multiple faces, or be destroyed completely.

The geometric kernel is doing boundary representation operations so when you do a boolean or a fillet, it doesn’t “edit” existing faces, it computes an entirely new b-rep from scratch. The old faces, edges, and vertices are gone and new ones are created to replace then. There’s nothing to hang a persistent ID on because the entities themselves are ephemeral.

There are solutions to the problem but they all break down eventually. I think freeCAD uses topological tracing and naming schemes so it encodes a face’s identity by how it was created. e.g., “the face generated by the intersection of extrude_1 and the XY plane.” The problem then is that parameter changes or operation insertions in the history can destroy those too, creating a new feature that can’t be easily mapped to the old ones. That’s where all the heuristics come in.

Unique IDs are used internally, but they only last for the lifetime of one evaluation. The hard part is establishing the equivalence between entities across re-evaluations when the topology itself may have changed.

vjvjvjvjghv 2026-02-25 20:37 UTC link
They have that but when you change something, often some elements get deleted and others are added. Now you need to figure out how they relate to the previous elements and that’s very hard it seems.
Editorial Channel
What the content says
+0.50
Article 27 Cultural Participation
High A: Advocacy for open knowledge and creative commons F: Free software framing P: Access barrier to creative knowledge
Editorial
+0.50
SETL
+0.57

FreeCAD is explicitly open-source software, supporting Article 27 right to participate in cultural and scientific progress. Wiki provides free access to technical documentation and creative knowledge. Content promotes sharing of creative and scientific work without proprietary restriction.

+0.40
Article 26 Education
Medium F: Open-source access to technical knowledge P: Barrier to learning and skill development
Editorial
+0.40
SETL
+0.45

FreeCAD wiki provides free technical education and documentation supporting Article 26 right to education. Content is designed for learning and skill development.

+0.35
Article 19 Freedom of Expression
Medium F: Free knowledge as antidote to exploitative scraping A: Advocacy for open information access P: Access barrier reduces immediate information availability
Editorial
+0.35
SETL
+0.44

Wiki framing supports freedom to seek, receive, and impart information. Content acknowledges tension between open knowledge (wiki mission) and protective access controls.

+0.30
Article 12 Privacy
Medium F: Privacy protection framed as necessary to prevent exploitation P: Metadata collection (IP, User-Agent) as security mechanism
Editorial
+0.30
SETL
+0.35

Content explains Anubis as protective mechanism against exploitative scraping. Framing positions privacy-preserving measures as defensive rather than invasive.

+0.25
Article 20 Assembly & Association
Medium F: Collective action framing for shared resource protection
Editorial
+0.25
SETL
+0.19

Content frames the Anubis system as a collective solution to a shared problem. Message appeals to collaborative thinking about resource sustainability.

+0.20
Article 1 Freedom, Equality, Brotherhood
Medium F: Framing of shared global problem with collective solution
Editorial
+0.20
SETL
+0.26

Content invokes the concept of collective resource protection ('makes their resources inaccessible for everyone'), implying recognition of equal dignity and shared vulnerability.

+0.20
Article 29 Duties to Community
Medium F: Community responsibility for shared resource protection
Editorial
+0.20
SETL
+0.26

Message frames Anubis as a compromise solution balancing individual user burden with collective benefit. Acknowledges that access restrictions serve community interests in sustainability.

+0.15
Preamble Preamble
Medium F: Framing of AI scraping as threat to human access P: Proof-of-work barrier reduces accessibility
Editorial
+0.15
SETL
+0.32

Content frames the Anubis system as protective of collective access rights, positioning anti-scraping measures as preserving resource availability for all users. Acknowledges tension between automated access and human rights to access.

ND
Article 2 Non-Discrimination

No observable content addressing discrimination or distinction.

ND
Article 3 Life, Liberty, Security

No observable content addressing security or liberty.

ND
Article 4 No Slavery

No observable content addressing slavery or servitude.

ND
Article 5 No Torture

No observable content addressing torture or degrading treatment.

ND
Article 6 Legal Personhood

No observable content addressing right to recognition before law.

ND
Article 7 Equality Before Law

No observable content addressing equal protection before law.

ND
Article 8 Right to Remedy

No observable content addressing right to remedy.

ND
Article 9 No Arbitrary Detention

No observable content addressing arbitrary arrest or detention.

ND
Article 10 Fair Hearing

No observable content addressing fair trial and due process.

ND
Article 11 Presumption of Innocence

No observable content addressing criminal liability or innocence.

ND
Article 13 Freedom of Movement
Low P: Free wiki structure enables movement of information

No explicit content addressing freedom of movement.

ND
Article 14 Asylum

No observable content addressing asylum or refuge.

ND
Article 15 Nationality

No observable content addressing nationality.

ND
Article 16 Marriage & Family

No observable content addressing marriage or family.

ND
Article 17 Property

No observable content addressing property rights.

ND
Article 18 Freedom of Thought

No observable content addressing freedom of thought or conscience.

ND
Article 21 Political Participation
Low P: Wiki community governance structure

No observable content addressing political participation.

ND
Article 22 Social Security

No observable content addressing social security.

ND
Article 23 Work & Equal Pay

No observable content addressing work or fair wages.

ND
Article 24 Rest & Leisure

No observable content addressing rest or leisure.

ND
Article 25 Standard of Living
Medium P: Accessibility barrier for disabled users and privacy-tool users

No explicit content addressing standards of living or health.

ND
Article 28 Social & International Order
Low P: Access restriction impedes rights realization

No observable content addressing social and international order.

ND
Article 30 No Destruction of Rights
Low P: Anubis prevents system abuse

No observable content addressing rights restriction or abuse prevention.

Structural Channel
What the site does
Domain Context Profile
Element Modifier Affects Note
Privacy +0.15
Article 12
Anubis proof-of-work system collects User-Agent and IP metadata to distinguish bots from humans. This is protective anti-scraping measure rather than surveillance, supporting privacy by preventing resource exhaustion attacks.
Terms of Service
No observable terms of service content on this page.
Accessibility -0.20
Article 25 Article 27
Anubis system requires modern JavaScript and blocks JShelter privacy plugins, creating accessibility barrier for users with disability accommodations or privacy-conscious users. This trade-off reduces general accessibility.
Mission +0.20
Article 27 Article 19
FreeCAD is open-source software wiki supporting free knowledge and creation. Mission inherently supports access to information and creative works.
Editorial Code
No editorial code or content standards visible on this page.
Ownership +0.10
Article 19 Article 27
Wiki format and open-source context suggest collaborative community governance rather than centralized corporate control.
Access Model +0.05
Article 19
Free access to wiki content supports information access, though Anubis verification may create friction for legitimate users.
Ad/Tracking
No advertising or tracking pixels visible on this page.
+0.15
Article 21 Political Participation
Low P: Wiki community governance structure
Structural
+0.15
Context Modifier
0.00
SETL
ND

Wiki model enables community input on knowledge curation, though access barrier may reduce participation.

+0.10
Article 13 Freedom of Movement
Low P: Free wiki structure enables movement of information
Structural
+0.10
Context Modifier
0.00
SETL
ND

Wiki structure itself supports free circulation of knowledge, though access barrier temporarily restricts movement into this particular page.

+0.10
Article 20 Assembly & Association
Medium F: Collective action framing for shared resource protection
Structural
+0.10
Context Modifier
0.00
SETL
+0.19

Wiki structure supports community collaboration. Proof-of-work system distributes burden across all users equally rather than centralizing control.

+0.05
Article 30 No Destruction of Rights
Low P: Anubis prevents system abuse
Structural
+0.05
Context Modifier
0.00
SETL
ND

Proof-of-work system is designed to prevent exploitation of platform access rights by mass scrapers.

-0.10
Article 12 Privacy
Medium F: Privacy protection framed as necessary to prevent exploitation P: Metadata collection (IP, User-Agent) as security mechanism
Structural
-0.10
Context Modifier
+0.15
SETL
+0.35

System collects User-Agent and IP metadata for challenge verification. This is minimal data collection compared to commercial tracking, presented as protective rather than surveillance.

-0.10
Article 26 Education
Medium F: Open-source access to technical knowledge P: Barrier to learning and skill development
Structural
-0.10
Context Modifier
0.00
SETL
+0.45

Proof-of-work verification creates friction to educational access. Users seeking to learn from this technical documentation must overcome the barrier first.

-0.10
Article 28 Social & International Order
Low P: Access restriction impedes rights realization
Structural
-0.10
Context Modifier
0.00
SETL
ND

Proof-of-work barrier is presented as temporary protection measure, potentially supporting long-term rights by preventing resource exhaustion.

-0.15
Article 1 Freedom, Equality, Brotherhood
Medium F: Framing of shared global problem with collective solution
Structural
-0.15
Context Modifier
0.00
SETL
+0.26

Proof-of-work burden falls equally on all initial visitors, though some may lack computational resources or accessibility tools to complete the challenge.

-0.15
Article 27 Cultural Participation
High A: Advocacy for open knowledge and creative commons F: Free software framing P: Access barrier to creative knowledge
Structural
-0.15
Context Modifier
+0.10
SETL
+0.57

Proof-of-work verification gate creates friction to accessing creative and technical documentation. However, once accessed, content is freely shareable and modifiable (open-source model).

-0.15
Article 29 Duties to Community
Medium F: Community responsibility for shared resource protection
Structural
-0.15
Context Modifier
0.00
SETL
+0.26

Proof-of-work system distributes responsibility across all users. Requires users to contribute computational effort as part of accessing the shared resource.

-0.20
Article 19 Freedom of Expression
Medium F: Free knowledge as antidote to exploitative scraping A: Advocacy for open information access P: Access barrier reduces immediate information availability
Structural
-0.20
Context Modifier
+0.30
SETL
+0.44

Proof-of-work verification wall blocks immediate access to information. Requirement to disable privacy plugins (JShelter) forces user to choose between privacy and access. JavaScript dependency also restricts access for users with certain client-side restrictions.

-0.25
Preamble Preamble
Medium F: Framing of AI scraping as threat to human access P: Proof-of-work barrier reduces accessibility
Structural
-0.25
Context Modifier
0.00
SETL
+0.32

The proof-of-work verification wall blocks immediate access to content, creating friction. JavaScript requirement and JShelter plugin incompatibility systematically excludes users with privacy settings or accessibility tools.

-0.25
Article 25 Standard of Living
Medium P: Accessibility barrier for disabled users and privacy-tool users
Structural
-0.25
Context Modifier
-0.20
SETL
ND

Anubis system creates accessibility barrier. Proof-of-work computational requirement excludes users with limited device capability. JavaScript requirement and JShelter incompatibility specifically exclude users relying on privacy and accessibility plugins. This restricts access to health and scientific information (FreeCAD is a design tool with technical documentation).

ND
Article 2 Non-Discrimination

Anubis system applies uniform technical requirements regardless of protected characteristics, though this may differentially impact disabled users.

ND
Article 3 Life, Liberty, Security

Access-blocking mechanism could be viewed as constraining liberty, though framed as protective.

ND
Article 4 No Slavery

No structural signals present.

ND
Article 5 No Torture

No structural signals present.

ND
Article 6 Legal Personhood

No structural signals present.

ND
Article 7 Equality Before Law

No structural signals present.

ND
Article 8 Right to Remedy

No structural signals present.

ND
Article 9 No Arbitrary Detention

No structural signals present.

ND
Article 10 Fair Hearing

No structural signals present.

ND
Article 11 Presumption of Innocence

No structural signals present.

ND
Article 14 Asylum

No structural signals present.

ND
Article 15 Nationality

Wiki content is globally accessible regardless of nationality once verification passes.

ND
Article 16 Marriage & Family

No structural signals present.

ND
Article 17 Property

No structural signals present.

ND
Article 18 Freedom of Thought

No structural signals present.

ND
Article 22 Social Security

No structural signals present.

ND
Article 23 Work & Equal Pay

No structural signals present.

ND
Article 24 Rest & Leisure

No structural signals present.

Supplementary Signals
Epistemic Quality
0.71 medium claims
Sources
0.7
Evidence
0.6
Uncertainty
0.7
Purpose
0.8
Propaganda Flags
2 techniques detected
appeal to fear
Message references 'the scourge of AI companies aggressively scraping websites' and describes downtime caused by scrapers, creating sense of urgent threat.
appeal to authority
References to 'Hashcash' and cryptographic standards implicitly appeal to technical credibility to justify the system.
Solution Orientation
0.52 mixed
Reader Agency
0.4
Emotional Tone
measured
Valence
-0.1
Arousal
0.4
Dominance
0.3
Stakeholder Voice
0.35 3 perspectives
Speaks: institution
About: individualscorporationcommunity
Temporal Framing
present immediate
Geographic Scope
global
Complexity
moderate medium jargon general
Transparency
0.50
✗ Author
Event Timeline 3 events
2026-02-26 00:02 eval_success Evaluated: Neutral (0.09)
2026-02-25 23:50 eval_success Evaluated: Mild positive (0.16)
2026-02-25 23:26 eval_success Evaluated: Neutral (-0.07)
About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR | RSS
build 0ab3844+kau3 · deployed 2026-02-26 00:11 UTC · evaluated 2026-02-26 00:14:22 UTC