Model Comparison
Model Editorial Structural Class Conf SETL Theme
deepseek/deepseek-v3.2-20251201 +0.30 +0.23 Mild positive 0.05 0.07 Education & Culture
@cf/meta/llama-4-scout-17b-16e-instruct lite 0.00 ND Neutral 1.00 0.00 tech animation
@cf/meta/llama-3.3-70b-instruct-fp8-fast lite 0.00 ND Neutral 1.00 0.00 No human rights theme
Section deepseek/deepseek-v3.2-20251201 @cf/meta/llama-4-scout-17b-16e-instruct lite @cf/meta/llama-3.3-70b-instruct-fp8-fast lite
Preamble ND ND ND
Article 1 ND ND ND
Article 2 ND ND ND
Article 3 ND ND ND
Article 4 ND ND ND
Article 5 ND ND ND
Article 6 ND ND ND
Article 7 ND ND ND
Article 8 ND ND ND
Article 9 ND ND ND
Article 10 ND ND ND
Article 11 ND ND ND
Article 12 ND ND ND
Article 13 ND ND ND
Article 14 ND ND ND
Article 15 ND ND ND
Article 16 ND ND ND
Article 17 ND ND ND
Article 18 ND ND ND
Article 19 0.34 ND ND
Article 20 ND ND ND
Article 21 ND ND ND
Article 22 ND ND ND
Article 23 ND ND ND
Article 24 ND ND ND
Article 25 ND ND ND
Article 26 0.32 ND ND
Article 27 0.16 ND ND
Article 28 ND ND ND
Article 29 ND ND ND
Article 30 ND ND ND
0.00 Sprites on the Web (www.joshwcomeau.com S:0.00 )
108 points by vinhnx 6 days ago | 18 comments on HN | Mild positive Editorial · v3.7 · 2026-03-01 10:30:59 0
Summary Technical Education Neutral
This URL contains a technical tutorial about implementing sprite animations for web interfaces, using Twitter's 2015 migration from star to heart icons as a case study. The content is purely educational and focuses on web development techniques, with no substantive engagement with human rights principles or frameworks. All sections receive neutral (ND) scores as the content does not meaningfully address any UDHR provisions.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — 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: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — 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.34 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — 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: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.32 — Education 26 Article 27: +0.16 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean 0.00 Structural Mean 0.00
Weighted Mean +0.29 Unweighted Mean +0.27
Max +0.34 Article 19 Min +0.16 Article 27
Signal 3 No Data 28
Volatility 0.08 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.07 Editorial-dominant
FW Ratio 50% 31 facts · 31 inferences
Evidence ND coverage
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.34 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.24 (2 articles) Order & Duties: 0.00 (0 articles)
HN Discussion 9 top-level · 6 replies
asib 2026-02-27 15:42 UTC link
I love Josh's blog and writing. I have to wonder what place this kind of content has in an age where agents are writing all the CSS. It sort of feels like hand tool woodworking now - there are people that will still get a kick out of designing things themselves, but it's going to be much less common. Maybe it already was like that anyway.
Gualdrapo 2026-02-27 16:11 UTC link
I remember Microsoft Front Page had a feature about doing buttons with image sprites and it spitted a ton of JS gibberish.

I don't think the example of the trophy in the article is a good use case this days, you could draw that trophy as a SVG and animate the flames with GSAP or something, or draw each flame frame as a <symbol> and animate that with CSS.

EvanAnderson 2026-02-27 16:42 UTC link
I think animation was the less common use case. Sprites were a nice way to get multiple images in a single HTTP request. Latency on dialup was murder and getting more in a single round trip was better. If you have a bunch of similarly-sized elements stick them all in a single file and use CSS to make multiple references to the same file display different images.
hyperhello 2026-02-27 17:03 UTC link
Josh, I was reading, and then a little man slid in from the left side, blocking the text I was reading, and said "Hey, friend! Would you like to subscribe to the newsletter?" I believe the site used CSS animation-timing-function:ease-in-out. My intuition told me that the slide was completely wrong for the situation.

First, the most important signal that any animation provides is this: the computer is doing this for you. This goes in the negative too: if you click and drag a file icon, the drag sprite may be translucent or highlighted somehow, but it should not 'animate' to your mouse cursor. The file icon should be attached to the cursor location with no delay.

However, suppose you drop it somewhere it can't go. The interface should then animate the file back to where it belongs; that's the computer 'putting it back'. Now, the timing function; how should the file go back? Slowly back away from the cursor? Accelerate to the return location, then slow back down again? No, it should very quickly snap away from the cursor, then settle where it belongs. You'll notice things like this as part of fit and finish; they are communication.

The man coming from the left eased in and then slowly stopped. This is profoundly wrong, like a person sneaking out of a dark place, then slowly coming to rest in front of you staring into your eyes, it is very much threat behavior. You want the person to come in a friendly way, so he can sell you something or convince you to smash the subscribe button. The correct animation is to simply appear halfway in, far enough you can see his smile; stop for 0.5s, indicating he is occupying the space; then slowly ease-in-ease-out the rest of the way.

Then the speech bubble should fade in, indicating that the computer is talking, and you as the user must act, like when a dialog says "Save your work now. I take your laptop away in 30 seconds. Look in my eyes, I am the user now."

KaiserPister 2026-02-27 17:10 UTC link
I built 8bitsmith.com as a tool to make controlled sprite sheets. It was an experiment in vibe-coding and controlled asset creation, so pricing is basically a pass-through cost of using Gemini.
semolino 2026-02-27 17:34 UTC link
Love Josh's work and usually always learn something new from his tutorials.

However, this time, I was really hoping the example implementations would use CSS transforms instead of properties that require repaints, especially since the rationale given here for using sprites is performance.

Maybe layer compositing warrants its own article and is beyond the scope here, but you can really tell when whoever built a frontend knows their stuff because all animations are hitting a consistent 60fps.

lelandfe 2026-02-27 19:13 UTC link
> While this technique is seldomly used on the web, it’s used all the time in video games

Seldomly used now, perhaps. Is the author unfamiliar with the history of the technique? This was everywhere on the web. It’s how Facebook served almost every icon and UI asset.

Back in the day we used 'background-position' to slice up the sprite map. There are articles on A List Apart describing this that are over 20 years old now. It was also the underpinning of the site’s legendary “sliding windows” technique, which was dominant on the web for some time.

E: I should add that one reason for its popularity was that we didn’t have HTTP multiplexing yet and so you wanted a small count of images/resources on the page

canpan 2026-02-27 22:17 UTC link
If I remember correctly I think I saw it used on the butterflies here https://traveloregon.com/only-slightly-exaggerated/ (On my phone now, cannot check)
araes 2026-02-28 00:23 UTC link
Tried this a little bit ago when making a website to try and qualify for the No JS Club inclusion. Wanted to include a bunch of interactive torches that would light when you click on them, and then turn off with subsequent clicks. Grabbed a bunch from the old Geocities gif image archive [1], and then turned them into something similar to this article.

[1] https://gifcities.org/search?q=torch

Part I found a bit difficult was using background images, rather than using <img src""> links, and performing x and y shifting to minimize the use of enormous aspect ratio image files (really long strip of image sideways).

Finally settled on something that looks like:

  .fire_torch2.trch_sprt {
    position: absolute;
    width: 24px;
    height: 53px;
    bottom: 0px;
    left: 0px;
    background-image: url('../items/fire_torch2_sprite.png');
    background-position: 0px 0px;
    background-size: 120px 265px; /* 5 columns * 24px, 5 rows * 53px */
    animation:
      fireTorch2SpriteX 0.55s steps(5) infinite, /* 1 second to complete one row */
      fireTorch2SpriteY 2.75s steps(5) infinite;
    display: none;
  }

  @keyframes fireTorch2SpriteX {
    from { background-position-x: 0; }
    to { background-position-x: -120px; } /* 5 columns * 24px */
  }

  @keyframes fireTorch2SpriteY {
    from { background-position-y: 0; }
    to { background-position-y: -265px; } /* 5 rows * 53px */
  }
Interactivity is handled by using the checkbox hack like so:

  .fire_torch:has( .Lntrn_fire_swtch:checked ) .trch_drk { display: none; }
  .fire_torch:has( .Lntrn_fire_swtch:checked ) .trch_sprt { display: inline-block; }
The part that's weird with background images though, is that you have to set them up with negative (-) background shifts. So the 24px x 53px image actually shifts -120px sideways each time it goes through an x-loop.

Further, since the sprite sheet is actually 120px x 265px to handle 5 rows of 5 frames, it then requires a somewhat complicated @keyframe definition setup. It actually needs one x-loop that's short, and loops endlessly, going through the full 5 frames, and a second 5x step length y-loop that then iterates once every full x-loop.

Actually imagery and animations that can be played with can be found here: https://araesmojo-eng.github.io under "Lantern Tests Menu"

NOTE: Needs the lantern to function and light the torches. Requires other minor puzzles on the website.

zarzavat 2026-02-27 15:57 UTC link
LLM are actually really bad at writing CSS. CSS is 20% logic and 80% art. The machines just don't understand what is attractive and what is ugly. I hand write all of my CSS and I don't see that changing any time soon.
zovirl 2026-02-27 16:54 UTC link
Additionally, the file size of the sprite sheet image is often smaller than the combined file sizes of the individual images. (I never looked into why but expect it has to do with sharing overhead and the compression dictionary)
hyperhello 2026-02-27 17:29 UTC link
I don't understand why this is downvoted. But then, I don't really understand HN moderation at all.
xnx 2026-02-27 18:09 UTC link
Also a workaround for per host connection limits.
k33n 2026-02-27 18:48 UTC link
It's also worth noting that if you're looking to eliminate an additional request, data-urls are a nice way to be fully flicker-free.
croisillon 2026-02-27 20:00 UTC link
the technique was everywhere for static icons, not for animated images
Editorial Channel
What the content says
+0.40
Article 26 Education
Medium Practice Coverage
Editorial
+0.40
SETL
+0.28

The content's purpose is to educate on a specific technical topic, constituting a form of technical education.

+0.30
Article 19 Freedom of Expression
Medium Coverage
Editorial
+0.30
SETL
-0.20

The article is an example of technical expression—sharing knowledge about web animation techniques—without advocacy for the right itself.

+0.20
Article 27 Cultural Participation
Low Coverage
Editorial
+0.20
SETL
+0.14

The content showcases creative work (web animation techniques) and discusses its technical implementation.

ND
Preamble Preamble

No explicit mention of human rights, inherent dignity, or the equal rights of all members of the human family.

ND
Article 1 Freedom, Equality, Brotherhood

No content speaks to human beings being born free and equal in dignity and rights.

ND
Article 2 Non-Discrimination

No content engages with non-discrimination or entitlement to rights without distinction.

ND
Article 3 Life, Liberty, Security

No content mentions the right to life, liberty, or security of person.

ND
Article 4 No Slavery

No mention of slavery or servitude.

ND
Article 5 No Torture

No mention of torture or cruel, inhuman, or degrading treatment.

ND
Article 6 Legal Personhood

No mention of recognition as a person before the law.

ND
Article 7 Equality Before Law

No content speaks to equality before the law or protection against discrimination.

ND
Article 8 Right to Remedy

No mention of effective remedies or fundamental rights.

ND
Article 9 No Arbitrary Detention

No mention of arbitrary arrest, detention, or exile.

ND
Article 10 Fair Hearing

No mention of fair and public hearings or independent tribunals.

ND
Article 11 Presumption of Innocence

No mention of presumption of innocence or criminal law.

ND
Article 12 Privacy

No content speaks to privacy, family, home, or correspondence.

ND
Article 13 Freedom of Movement

No mention of freedom of movement or right to leave/return to a country.

ND
Article 14 Asylum

No mention of asylum from persecution.

ND
Article 15 Nationality

No mention of nationality or the right to change it.

ND
Article 16 Marriage & Family

No mention of marriage, family, or consent.

ND
Article 17 Property

No mention of property ownership.

ND
Article 18 Freedom of Thought

No mention of freedom of thought, conscience, or religion.

ND
Article 20 Assembly & Association

No mention of peaceful assembly or association.

ND
Article 21 Political Participation

No mention of participation in government or equal access to public service.

ND
Article 22 Social Security

No mention of social security or economic/social/cultural rights.

ND
Article 23 Work & Equal Pay

No mention of work, employment, equal pay, or union membership.

ND
Article 24 Rest & Leisure

No mention of rest, leisure, or working hours.

ND
Article 25 Standard of Living

No mention of adequate standard of living, health, or social services.

ND
Article 28 Social & International Order

No mention of social and international order.

ND
Article 29 Duties to Community

No mention of duties to community or limitations on rights.

ND
Article 30 No Destruction of Rights

No mention of destruction of rights or interpretation of the UDHR.

Structural Channel
What the site does
Element Modifier Affects Note
Legal & Terms
Privacy
No detectable privacy policy or cookie notice observed on this specific URL
Terms of Service
No terms of service or usage agreement observed on this specific URL
Identity & Mission
Mission
No mission statement or values declaration observed on this specific URL
Editorial Code
No editorial guidelines or standards observed
Ownership
Individual personal website/portfolio identified
Access & Distribution
Access Model
Content appears freely accessible without payment or registration barriers
Ad/Tracking
No advertising or tracking mechanisms observed on this specific URL
Accessibility
No explicit accessibility features or statements observed
+0.40
Article 19 Freedom of Expression
Medium Coverage
Structural
+0.40
Context Modifier
0.00
SETL
-0.20

The page structurally enables the free sharing of information by publishing an educational tutorial freely accessible without paywalls or registration barriers.

+0.20
Article 26 Education
Medium Practice Coverage
Structural
+0.20
Context Modifier
0.00
SETL
+0.28

The page makes technical knowledge freely available online, structurally facilitating access to education.

+0.10
Article 27 Cultural Participation
Low Coverage
Structural
+0.10
Context Modifier
0.00
SETL
+0.14

The page hosts and displays creative, interactive technical demonstrations.

ND
Preamble Preamble

No structural features on the page engage with the principles of the UDHR preamble.

ND
Article 1 Freedom, Equality, Brotherhood

No structural features address dignity or equality.

ND
Article 2 Non-Discrimination

No structural features promote or inhibit non-discrimination.

ND
Article 3 Life, Liberty, Security

No structural features relate to life, liberty, or security.

ND
Article 4 No Slavery

No structural features relate to slavery or servitude.

ND
Article 5 No Torture

No structural features relate to torture or cruel treatment.

ND
Article 6 Legal Personhood

No structural features relate to legal personality.

ND
Article 7 Equality Before Law

No structural features promote or inhibit equality before the law.

ND
Article 8 Right to Remedy

No structural features relate to legal remedies.

ND
Article 9 No Arbitrary Detention

No structural features relate to arbitrary detention.

ND
Article 10 Fair Hearing

No structural features relate to fair trials.

ND
Article 11 Presumption of Innocence

No structural features relate to criminal justice.

ND
Article 12 Privacy

No structural features like cookie banners, tracking, or privacy controls are present.

ND
Article 13 Freedom of Movement

No structural features relate to movement.

ND
Article 14 Asylum

No structural features relate to asylum.

ND
Article 15 Nationality

No structural features relate to nationality.

ND
Article 16 Marriage & Family

No structural features relate to marriage or family.

ND
Article 17 Property

No structural features relate to property.

ND
Article 18 Freedom of Thought

No structural features relate to freedom of thought or religion.

ND
Article 20 Assembly & Association

No structural features relate to assembly or association.

ND
Article 21 Political Participation

No structural features relate to political participation.

ND
Article 22 Social Security

No structural features relate to social security.

ND
Article 23 Work & Equal Pay

No structural features relate to labor rights.

ND
Article 24 Rest & Leisure

No structural features relate to rest or leisure.

ND
Article 25 Standard of Living

No structural features relate to standard of living or health.

ND
Article 28 Social & International Order

No structural features relate to social order.

ND
Article 29 Duties to Community

No structural features relate to community duties or rights limitations.

ND
Article 30 No Destruction of Rights

No structural features relate to rights destruction.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.82 low claims
Sources
0.8
Evidence
0.9
Uncertainty
0.7
Purpose
1.0
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
measured
Valence
+0.3
Arousal
0.4
Dominance
0.6
Transparency
Does the content identify its author and disclose interests?
0.33
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.88 solution oriented
Reader Agency
0.8
Stakeholder Voice
Whose perspectives are represented in this content?
0.40 2 perspectives
Speaks: individuals
About: corporation
Temporal Framing
Is this content looking backward, at the present, or forward?
retrospective historical
Geographic Scope
What geographic area does this content cover?
unspecified
Complexity
How accessible is this content to a general audience?
technical medium jargon domain specific
Longitudinal 316 HN snapshots · 19 evals
+1 0 −1 HN
Audit Trail 39 entries
2026-03-01 20:15 eval_success Evaluated: Mild positive (0.29) - -
2026-03-01 20:15 eval Evaluated by deepseek-v3.2: +0.29 (Mild positive) 12,508 tokens +0.09
2026-03-01 11:17 eval_success Evaluated: Mild positive (0.20) - -
2026-03-01 11:17 eval Evaluated by deepseek-v3.2: +0.20 (Mild positive) 12,434 tokens +0.20
2026-03-01 11:17 rater_validation_warn Validation warnings for model deepseek-v3.2: 0W 1R - -
2026-03-01 10:31 eval_success Evaluated: Neutral (0.00) - -
2026-03-01 10:30 eval Evaluated by deepseek-v3.2: 0.00 (Neutral) 12,892 tokens
2026-03-01 10:30 rater_validation_warn Validation warnings for model deepseek-v3.2: 31W 31R - -
2026-02-28 08:53 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 08:53 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 08:53 rater_validation_warn Light validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 08:49 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 08:49 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 08:49 rater_validation_warn Light validation warnings for model llama-3.3-70b-wai: 0W 1R - -
2026-02-28 07:59 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 07:59 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 07:59 rater_validation_warn Light validation warnings for model llama-3.3-70b-wai: 0W 1R - -
2026-02-28 07:19 credit_exhausted Credit balance too low, pausing provider for 30 min - -
2026-02-28 04:52 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 04:52 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 04:16 rater_validation_fail Parse failure for model deepseek-v3.2: Error: Failed to parse OpenRouter JSON: SyntaxError: Expected ',' or '}' after property value in JSON at position 17380 (line 388 column 4). Extracted text starts with: { "schema_version": "3.7", - -
2026-02-28 04:16 eval_retry OpenRouter output truncated at 4096 tokens - -
2026-02-28 03:35 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 03:35 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 02:03 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 02:03 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 01:47 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 01:47 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 01:43 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 01:43 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 01:35 eval_success Light evaluated: Neutral (0.00) - -
2026-02-28 01:35 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 01:13 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 01:10 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 01:07 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
reasoning
Tech tutorial, no rights stance
2026-02-28 01:05 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 00:58 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
Tech tutorial, no rights stance
2026-02-28 00:53 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED technical tutorial no rights stance
2026-02-28 00:46 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
reasoning
ED technical tutorial no rights stance